-- 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.1.2.1 -- | 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 -- | This class gives low-level access to memory location occupied by -- Vulkan data. -- -- Meant for internal use only. class VulkanMarshalPrim 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 :: VulkanMarshalPrim a => a -> Addr# -- | Get a ByteArray# that keeps the data. -- -- Note, the data structure does not necessarily starts at zero offset. unsafeByteArray :: VulkanMarshalPrim a => a -> ByteArray# -- | Combine a vulkan structure from ByteArray and an offset in this array. unsafeFromByteArrayOffset :: VulkanMarshalPrim a => Int# -> ByteArray# -> a -- | Create a ByteArray#-based type from ForeignPtr. Try to -- not copy data, but do it if necessary. fromForeignPtr# :: forall a. (Storable a, VulkanMarshalPrim a) => ForeignPtr a -> IO a -- | Create a ForeignPtr referencing the structure without copying -- data. toForeignPtr# :: VulkanMarshalPrim 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# :: VulkanMarshalPrim a => a -> IO (ForeignPtr a) -- | Make sure the region of memory is not collected at this moment in -- time. touchVkData# :: VulkanMarshalPrim a => a -> IO () -- | Internal function used to implement Eq and Ord instances for Vulkan -- structs. Compares first n bytes of two memory areas. -- -- Uses lexicographic ordering (c memcmp inside). -- -- This is a helper that should be used in VulkanMarshal instances only. cmpBytes# :: Int -> Addr# -> Addr# -> Ordering newVkData# :: forall a. (Storable a, VulkanMarshalPrim a) => (Ptr a -> IO ()) -> IO a mallocVkData# :: forall a. (Storable a, VulkanMarshalPrim a) => IO a mallocVkDataArray# :: forall a. (Storable a, VulkanMarshalPrim a) => Int -> IO (Ptr a, [a]) peekVkData# :: forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> IO a pokeVkData# :: forall a. (Storable a, VulkanMarshalPrim a) => Ptr a -> a -> IO () -- | 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 -- | 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 VulkanMarshal a where type StructFields a :: [Symbol] type CUnionType a :: Bool type ReturnedOnly a :: Bool type StructExtends a :: [Type] newVkData = newVkData# mallocVkData = mallocVkData# mallocVkDataArray = mallocVkDataArray# unsafePtr a = Ptr (unsafeAddr a) fromForeignPtr = fromForeignPtr# toForeignPtr = toForeignPtr# toPlainForeignPtr = toPlainForeignPtr# touchVkData = touchVkData# where { type family StructFields a :: [Symbol]; type family CUnionType a :: Bool; type family ReturnedOnly a :: Bool; type family StructExtends a :: [Type]; } -- | 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 :: VulkanMarshal a => (Ptr a -> IO ()) -> IO a -- | 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 :: (VulkanMarshal a, Storable a, VulkanMarshalPrim 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 :: VulkanMarshal a => 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 :: (VulkanMarshal a, Storable a, VulkanMarshalPrim 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 :: VulkanMarshal a => Int -> IO (Ptr a, [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 :: (VulkanMarshal a, Storable a, VulkanMarshalPrim 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 :: VulkanMarshal a => a -> Ptr 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 :: (VulkanMarshal a, VulkanMarshalPrim 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 :: VulkanMarshal a => ForeignPtr a -> IO 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 :: (VulkanMarshal a, Storable a, VulkanMarshalPrim a) => ForeignPtr a -> IO a -- | Create a ForeignPtr referencing the structure without copying -- data. toForeignPtr :: VulkanMarshal a => a -> IO (ForeignPtr a) -- | Create a ForeignPtr referencing the structure without copying -- data. toForeignPtr :: (VulkanMarshal a, VulkanMarshalPrim 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 :: VulkanMarshal 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 :: (VulkanMarshal a, VulkanMarshalPrim a) => a -> IO (ForeignPtr a) -- | Make sure this data is alive at a given point in a sequence of IO -- actions. touchVkData :: VulkanMarshal a => a -> IO () -- | Make sure this data is alive at a given point in a sequence of IO -- actions. touchVkData :: (VulkanMarshal a, VulkanMarshalPrim a) => a -> IO () -- | This class gives low-level access to memory location occupied by -- Vulkan data. -- -- Meant for internal use only. class VulkanMarshalPrim 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 -- |
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 -- |
--   #define VK_NULL_HANDLE 0
--   
-- | Null pointer (either dispatchable or non-dispatchable) -- | 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 -- | Describe fields of a vulkan structure or union. class HasField (fname :: Symbol) (a :: Type) where type FieldType fname a :: Type type FieldOptional fname a :: Bool type FieldOffset fname a :: Nat type FieldIsArray fname a :: Bool where { type family FieldType fname a :: Type; type family FieldOptional fname a :: Bool; type family FieldOffset fname a :: Nat; type family FieldIsArray fname a :: Bool; } -- | Whether this field marked optional in vulkan specification. Usually, -- this means that VK_NULL can be written in place of this field. fieldOptional :: HasField fname a => Bool -- | Offset of a field in bytes. fieldOffset :: HasField fname a => Int class (HasField fname a, IsFieldArray fname a False) => CanReadField (fname :: Symbol) (a :: Type) getField :: CanReadField fname a => a -> FieldType fname a readField :: CanReadField fname a => Ptr a -> IO (FieldType fname a) class CanReadField fname a => CanWriteField (fname :: Symbol) (a :: Type) writeField :: CanWriteField fname a => Ptr a -> FieldType fname a -> IO () class (HasField fname a, IndexInBounds fname idx a, IsFieldArray fname a True) => CanReadFieldArray (fname :: Symbol) (idx :: Nat) (a :: Type) where type FieldArrayLength fname a :: Nat where { type family FieldArrayLength fname a :: Nat; } -- | Length of an array that is a field of a structure or union fieldArrayLength :: CanReadFieldArray fname idx a => Int getFieldArray :: CanReadFieldArray fname idx a => a -> FieldType fname a readFieldArray :: CanReadFieldArray fname idx a => Ptr a -> IO (FieldType fname a) class CanReadFieldArray fname idx a => CanWriteFieldArray (fname :: Symbol) (idx :: Nat) (a :: Type) writeFieldArray :: CanWriteFieldArray fname idx a => Ptr a -> FieldType fname a -> IO () type IsFieldArray s a e = IsFieldArray' s a (FieldIsArray s a) e type IndexInBounds (s :: Symbol) (i :: Nat) (a :: Type) = IndexInBounds' s i a (CmpNat i (FieldArrayLength s a)) -- | 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. newtype CInt :: * CInt :: Int32 -> CInt -- | Haskell type representing the C size_t type. newtype CSize :: * CSize :: Word64 -> CSize -- | Haskell type representing the C char type. newtype CChar :: * CChar :: Int8 -> CChar -- | Haskell type representing the C wchar_t type. newtype CWchar :: * CWchar :: Int32 -> CWchar -- | Haskell type representing the C unsigned long type. 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 0 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 0 a, FieldType fname a ~ CChar, VulkanMarshal a) => a -> CString getStringField :: forall fname a. (CanReadFieldArray fname 0 a, FieldType fname a ~ CChar, VulkanMarshal a) => a -> String readStringField :: forall fname a. (CanReadFieldArray fname 0 a, FieldType fname a ~ CChar, VulkanMarshal a) => Ptr a -> IO String writeStringField :: forall fname a. (CanWriteFieldArray fname 0 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 Data.Data.Data a => Data.Data.Data (Graphics.Vulkan.Marshal.VkPtr a) instance GHC.Generics.Generic (Graphics.Vulkan.Marshal.VkPtr a) 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 instance (TypeError ...) => Graphics.Vulkan.Marshal.HasField fname a instance (Graphics.Vulkan.Marshal.HasField fname a, Graphics.Vulkan.Marshal.IsFieldArray fname a 'GHC.Types.False, (TypeError ...)) => Graphics.Vulkan.Marshal.CanReadField fname a instance (Graphics.Vulkan.Marshal.CanReadField fname a, (TypeError ...)) => Graphics.Vulkan.Marshal.CanWriteField fname a instance (Graphics.Vulkan.Marshal.HasField fname a, Graphics.Vulkan.Marshal.IsFieldArray fname a 'GHC.Types.True, Graphics.Vulkan.Marshal.IndexInBounds fname idx a, (TypeError ...)) => Graphics.Vulkan.Marshal.CanReadFieldArray fname idx a instance (Graphics.Vulkan.Marshal.CanReadFieldArray fname idx a, (TypeError ...)) => Graphics.Vulkan.Marshal.CanWriteFieldArray fname idx a -- | 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 :: (VulkanMarshal x, VulkanMarshalPrim x, HandleRemFields x fs) => CreateVkStruct x fs () -> x -- | 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 i x => 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 0 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] () -- | 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] () 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 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) instance ((TypeError ...), Graphics.Vulkan.Marshal.CUnionType x ~ 'GHC.Types.True) => Graphics.Vulkan.Marshal.Create.HandleRemainingFields x '[] 'GHC.Types.True instance Graphics.Vulkan.Marshal.CUnionType x ~ 'GHC.Types.True => Graphics.Vulkan.Marshal.Create.HandleRemainingFields x '[f] 'GHC.Types.True instance ((TypeError ...), Graphics.Vulkan.Marshal.CUnionType x ~ 'GHC.Types.True) => Graphics.Vulkan.Marshal.Create.HandleRemainingFields x (a : b : fs) 'GHC.Types.True instance (Graphics.Vulkan.Marshal.Create.SetOptionalFields x (Graphics.Vulkan.Marshal.Create.Difference (Graphics.Vulkan.Marshal.StructFields x) fs), Graphics.Vulkan.Marshal.CUnionType x ~ 'GHC.Types.False) => Graphics.Vulkan.Marshal.Create.HandleRemainingFields x fs 'GHC.Types.False instance Graphics.Vulkan.Marshal.Create.SetOptionalFields x '[] instance (Graphics.Vulkan.Marshal.Create.SetOptionalFields x fs, Graphics.Vulkan.Marshal.Create.FieldMustBeOptional f x, Foreign.Storable.Storable (Graphics.Vulkan.Marshal.FieldType f x), Graphics.Vulkan.Marshal.HasField f x) => Graphics.Vulkan.Marshal.Create.SetOptionalFields x (f : fs) -- | 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: xxx 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 type VkProcType proc where { 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" ...). unwrapVkProcPtr :: 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. 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. 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. 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. 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. 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. 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_NV_viewport_swizzle -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 data VkOffset2D VkOffset2D# :: Addr# -> ByteArray# -> VkOffset2D -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org data VkOffset3D VkOffset3D# :: Addr# -> ByteArray# -> VkOffset3D newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 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 data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo# :: Addr# -> ByteArray# -> VkGraphicsPipelineCreateInfo -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo# :: Addr# -> ByteArray# -> VkPipelineCacheCreateInfo -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineColorBlendStateCreateInfo -- |
--   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 data VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageModulationStateCreateInfoNV -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org data VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageToColorStateCreateInfoNV -- |
--   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 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT# :: Addr# -> ByteArray# -> VkPipelineDiscardRectangleStateCreateInfoEXT -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineDynamicStateCreateInfo -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineMultisampleStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org data VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateRasterizationOrderAMD -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo# :: Addr# -> ByteArray# -> VkPipelineShaderStageCreateInfo -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org data VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineTessellationStateCreateInfo -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org data VkRect2D VkRect2D# :: Addr# -> ByteArray# -> VkRect2D -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D                       extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org data VkRectLayerKHR VkRectLayerKHR# :: Addr# -> ByteArray# -> VkRectLayerKHR -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- |
--   typedef struct VkViewport {
--       float          x;
--       float          y;
--       float          width;
--       float          height;
--       float          minDepth;
--       float          maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org data VkViewport VkViewport# :: Addr# -> ByteArray# -> VkViewport -- |
--   typedef struct VkViewportSwizzleNV {
--       VkViewportCoordinateSwizzleNV          x;
--       VkViewportCoordinateSwizzleNV          y;
--       VkViewportCoordinateSwizzleNV          z;
--       VkViewportCoordinateSwizzleNV          w;
--   } VkViewportSwizzleNV;
--   
-- -- VkViewportSwizzleNV registry at www.khronos.org data VkViewportSwizzleNV VkViewportSwizzleNV# :: Addr# -> ByteArray# -> VkViewportSwizzleNV -- |
--   typedef struct VkViewportWScalingNV {
--       float          xcoeff;
--       float          ycoeff;
--   } VkViewportWScalingNV;
--   
-- -- VkViewportWScalingNV registry at www.khronos.org data VkViewportWScalingNV VkViewportWScalingNV# :: Addr# -> ByteArray# -> VkViewportWScalingNV -- | type = enum -- -- VkViewportCoordinateSwizzleNV registry at www.khronos.org newtype VkViewportCoordinateSwizzleNV VkViewportCoordinateSwizzleNV :: Int32 -> VkViewportCoordinateSwizzleNV type VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION = 1 type VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME = "VK_NV_viewport_swizzle" module Graphics.Vulkan.Ext.VK_NV_viewport_array2 type VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1 type VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2" module Graphics.Vulkan.Ext.VK_NV_shader_subgroup_partitioned type VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION = 1 type VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME = "VK_NV_shader_subgroup_partitioned" -- | bitpos = 8 module Graphics.Vulkan.Ext.VK_NV_sample_mask_override_coverage type VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION = 1 type VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME = "VK_NV_sample_mask_override_coverage" module Graphics.Vulkan.Ext.VK_NV_glsl_shader type VK_NV_GLSL_SHADER_SPEC_VERSION = 1 type VK_NV_GLSL_SHADER_EXTENSION_NAME = "VK_NV_glsl_shader" module Graphics.Vulkan.Ext.VK_NV_geometry_shader_passthrough type VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION = 1 type VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME = "VK_NV_geometry_shader_passthrough" module Graphics.Vulkan.Ext.VK_NV_framebuffer_mixed_samples newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 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 data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo# :: Addr# -> ByteArray# -> VkGraphicsPipelineCreateInfo -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo# :: Addr# -> ByteArray# -> VkPipelineCacheCreateInfo -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineColorBlendStateCreateInfo -- |
--   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 data VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageModulationStateCreateInfoNV -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org data VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageToColorStateCreateInfoNV -- |
--   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 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT# :: Addr# -> ByteArray# -> VkPipelineDiscardRectangleStateCreateInfoEXT -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineDynamicStateCreateInfo -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineMultisampleStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org data VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateRasterizationOrderAMD -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo# :: Addr# -> ByteArray# -> VkPipelineShaderStageCreateInfo -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org data VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineTessellationStateCreateInfo -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION = 1 type VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME = "VK_NV_framebuffer_mixed_samples" module Graphics.Vulkan.Ext.VK_NV_fragment_coverage_to_color newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 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 data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo# :: Addr# -> ByteArray# -> VkGraphicsPipelineCreateInfo -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo# :: Addr# -> ByteArray# -> VkPipelineCacheCreateInfo -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineColorBlendStateCreateInfo -- |
--   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 data VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageModulationStateCreateInfoNV -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org data VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageToColorStateCreateInfoNV -- |
--   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 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT# :: Addr# -> ByteArray# -> VkPipelineDiscardRectangleStateCreateInfoEXT -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineDynamicStateCreateInfo -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineMultisampleStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org data VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateRasterizationOrderAMD -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo# :: Addr# -> ByteArray# -> VkPipelineShaderStageCreateInfo -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org data VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineTessellationStateCreateInfo -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION = 1 type VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME = "VK_NV_fragment_coverage_to_color" module Graphics.Vulkan.Ext.VK_NV_fill_rectangle type VK_NV_FILL_RECTANGLE_SPEC_VERSION = 1 type VK_NV_FILL_RECTANGLE_EXTENSION_NAME = "VK_NV_fill_rectangle" module Graphics.Vulkan.Ext.VK_NV_external_memory_capabilities newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D -- |
--   typedef struct VkExternalBufferProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties    externalMemoryProperties;
--   } VkExternalBufferProperties;
--   
-- -- VkExternalBufferProperties registry at www.khronos.org data VkExternalBufferProperties VkExternalBufferProperties# :: Addr# -> ByteArray# -> 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 data VkExternalFenceProperties VkExternalFenceProperties# :: Addr# -> ByteArray# -> VkExternalFenceProperties -- | Alias for VkExternalFenceProperties type VkExternalFencePropertiesKHR = VkExternalFenceProperties -- |
--   typedef struct VkExternalImageFormatProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties externalMemoryProperties;
--   } VkExternalImageFormatProperties;
--   
-- -- VkExternalImageFormatProperties registry at www.khronos.org data VkExternalImageFormatProperties VkExternalImageFormatProperties# :: Addr# -> ByteArray# -> 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 data VkExternalImageFormatPropertiesNV VkExternalImageFormatPropertiesNV# :: Addr# -> ByteArray# -> VkExternalImageFormatPropertiesNV -- |
--   typedef struct VkExternalMemoryBufferCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryBufferCreateInfo;
--   
-- -- VkExternalMemoryBufferCreateInfo registry at www.khronos.org data VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryBufferCreateInfo -- | Alias for VkExternalMemoryBufferCreateInfo type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryImageCreateInfo;
--   
-- -- VkExternalMemoryImageCreateInfo registry at www.khronos.org data VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfo -- | Alias for VkExternalMemoryImageCreateInfo type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExternalMemoryImageCreateInfoNV;
--   
-- -- VkExternalMemoryImageCreateInfoNV registry at www.khronos.org data VkExternalMemoryImageCreateInfoNV VkExternalMemoryImageCreateInfoNV# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfoNV -- |
--   typedef struct VkExternalMemoryProperties {
--       VkExternalMemoryFeatureFlags  externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
--   } VkExternalMemoryProperties;
--   
-- -- VkExternalMemoryProperties registry at www.khronos.org data VkExternalMemoryProperties VkExternalMemoryProperties# :: Addr# -> ByteArray# -> 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 data VkExternalSemaphoreProperties VkExternalSemaphoreProperties# :: Addr# -> ByteArray# -> VkExternalSemaphoreProperties -- | Alias for VkExternalSemaphoreProperties type VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> VkImageViewUsageCreateInfo -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 type VkGetPhysicalDeviceExternalImageFormatPropertiesNV = "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" -- | 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 newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1 type VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_NV_external_memory_capabilities" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" module Graphics.Vulkan.Ext.VK_NV_external_memory newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkExportFenceCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlags handleTypes;
--   } VkExportFenceCreateInfo;
--   
-- -- VkExportFenceCreateInfo registry at www.khronos.org data VkExportFenceCreateInfo VkExportFenceCreateInfo# :: Addr# -> ByteArray# -> VkExportFenceCreateInfo -- | Alias for VkExportFenceCreateInfo type VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo -- |
--   typedef struct VkExportMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExportMemoryAllocateInfo;
--   
-- -- VkExportMemoryAllocateInfo registry at www.khronos.org data VkExportMemoryAllocateInfo VkExportMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkExportMemoryAllocateInfo -- | Alias for VkExportMemoryAllocateInfo type VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo -- |
--   typedef struct VkExportMemoryAllocateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExportMemoryAllocateInfoNV;
--   
-- -- VkExportMemoryAllocateInfoNV registry at www.khronos.org data VkExportMemoryAllocateInfoNV VkExportMemoryAllocateInfoNV# :: Addr# -> ByteArray# -> VkExportMemoryAllocateInfoNV -- |
--   typedef struct VkExportSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlags handleTypes;
--   } VkExportSemaphoreCreateInfo;
--   
-- -- VkExportSemaphoreCreateInfo registry at www.khronos.org data VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfo# :: Addr# -> ByteArray# -> VkExportSemaphoreCreateInfo -- | Alias for VkExportSemaphoreCreateInfo type VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- |
--   typedef struct VkExternalBufferProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties    externalMemoryProperties;
--   } VkExternalBufferProperties;
--   
-- -- VkExternalBufferProperties registry at www.khronos.org data VkExternalBufferProperties VkExternalBufferProperties# :: Addr# -> ByteArray# -> 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 data VkExternalFenceProperties VkExternalFenceProperties# :: Addr# -> ByteArray# -> VkExternalFenceProperties -- | Alias for VkExternalFenceProperties type VkExternalFencePropertiesKHR = VkExternalFenceProperties -- |
--   typedef struct VkExternalImageFormatProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties externalMemoryProperties;
--   } VkExternalImageFormatProperties;
--   
-- -- VkExternalImageFormatProperties registry at www.khronos.org data VkExternalImageFormatProperties VkExternalImageFormatProperties# :: Addr# -> ByteArray# -> 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 data VkExternalImageFormatPropertiesNV VkExternalImageFormatPropertiesNV# :: Addr# -> ByteArray# -> VkExternalImageFormatPropertiesNV -- |
--   typedef struct VkExternalMemoryBufferCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryBufferCreateInfo;
--   
-- -- VkExternalMemoryBufferCreateInfo registry at www.khronos.org data VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryBufferCreateInfo -- | Alias for VkExternalMemoryBufferCreateInfo type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryImageCreateInfo;
--   
-- -- VkExternalMemoryImageCreateInfo registry at www.khronos.org data VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfo -- | Alias for VkExternalMemoryImageCreateInfo type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExternalMemoryImageCreateInfoNV;
--   
-- -- VkExternalMemoryImageCreateInfoNV registry at www.khronos.org data VkExternalMemoryImageCreateInfoNV VkExternalMemoryImageCreateInfoNV# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfoNV -- |
--   typedef struct VkExternalMemoryProperties {
--       VkExternalMemoryFeatureFlags  externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
--   } VkExternalMemoryProperties;
--   
-- -- VkExternalMemoryProperties registry at www.khronos.org data VkExternalMemoryProperties VkExternalMemoryProperties# :: Addr# -> ByteArray# -> 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 data VkExternalSemaphoreProperties VkExternalSemaphoreProperties# :: Addr# -> ByteArray# -> VkExternalSemaphoreProperties -- | Alias for VkExternalSemaphoreProperties type VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryAllocateInfo VkMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkMemoryAllocateInfo -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org data VkMemoryBarrier VkMemoryBarrier# :: Addr# -> ByteArray# -> VkMemoryBarrier -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org data VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements# :: Addr# -> ByteArray# -> VkMemoryDedicatedRequirements -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org data VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR# :: Addr# -> ByteArray# -> VkMemoryFdPropertiesKHR -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org data VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR# :: Addr# -> ByteArray# -> VkMemoryGetFdInfoKHR -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org data VkMemoryHeap VkMemoryHeap# :: Addr# -> ByteArray# -> VkMemoryHeap -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org data VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT# :: Addr# -> ByteArray# -> VkMemoryHostPointerPropertiesEXT -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org data VkMemoryRequirements VkMemoryRequirements# :: Addr# -> ByteArray# -> VkMemoryRequirements -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org data VkMemoryRequirements2 VkMemoryRequirements2# :: Addr# -> ByteArray# -> VkMemoryRequirements2 -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org data VkMemoryType VkMemoryType# :: Addr# -> ByteArray# -> VkMemoryType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_NV_EXTERNAL_MEMORY_SPEC_VERSION = 1 type VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_NV_external_memory" module Graphics.Vulkan.Ext.VK_NV_dedicated_allocation newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkBufferCreateBitmask (a :: FlagType) VkBufferCreateBitmask :: VkFlags -> VkBufferCreateBitmask type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask type VkBufferCreateFlagBits = VkBufferCreateBitmask FlagBit -- | Buffer should support sparse backing -- -- bitpos = 0 -- | Buffer should support sparse backing with partial residency -- -- bitpos = 1 -- | Buffer should support constent data access to physical memory ranges -- mapped into multiple locations of sparse buffers -- -- bitpos = 2 newtype VkBufferUsageBitmask (a :: FlagType) VkBufferUsageBitmask :: VkFlags -> VkBufferUsageBitmask type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask type VkBufferUsageFlagBits = VkBufferUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be used as TBO -- -- bitpos = 2 -- | Can be used as IBO -- -- bitpos = 3 -- | Can be used as UBO -- -- bitpos = 4 -- | Can be used as SSBO -- -- bitpos = 5 -- | Can be used as source of fixed-function index fetch (index buffer) -- -- bitpos = 6 -- | Can be used as source of fixed-function vertex fetch (VBO) -- -- bitpos = 7 -- | Can be the source of indirect parameters (e.g. indirect buffer, -- parameter buffer) -- -- bitpos = 8 newtype VkBufferViewCreateFlagBits VkBufferViewCreateFlagBits :: VkFlags -> VkBufferViewCreateFlagBits -- |
--   typedef struct VkBufferCopy {
--       VkDeviceSize           srcOffset;
--       VkDeviceSize           dstOffset;
--       VkDeviceSize           size;
--   } VkBufferCopy;
--   
-- -- VkBufferCopy registry at www.khronos.org data VkBufferCopy VkBufferCopy# :: Addr# -> ByteArray# -> 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 data VkBufferCreateInfo VkBufferCreateInfo# :: Addr# -> ByteArray# -> VkBufferCreateInfo -- |
--   typedef struct VkBufferImageCopy {
--       VkDeviceSize           bufferOffset;
--       uint32_t               bufferRowLength;
--       uint32_t               bufferImageHeight;
--       VkImageSubresourceLayers imageSubresource;
--       VkOffset3D             imageOffset;
--       VkExtent3D             imageExtent;
--   } VkBufferImageCopy;
--   
-- -- VkBufferImageCopy registry at www.khronos.org data VkBufferImageCopy VkBufferImageCopy# :: Addr# -> ByteArray# -> 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 data VkBufferMemoryBarrier VkBufferMemoryBarrier# :: Addr# -> ByteArray# -> VkBufferMemoryBarrier -- |
--   typedef struct VkBufferMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkBuffer                                                             buffer;
--   } VkBufferMemoryRequirementsInfo2;
--   
-- -- VkBufferMemoryRequirementsInfo2 registry at www.khronos.org data VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkBufferMemoryRequirementsInfo2 -- | Alias for VkBufferMemoryRequirementsInfo2 type VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2 -- |
--   typedef struct VkBufferViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferViewCreateFlagsflags;
--       VkBuffer               buffer;
--       VkFormat               format;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkBufferViewCreateInfo;
--   
-- -- VkBufferViewCreateInfo registry at www.khronos.org data VkBufferViewCreateInfo VkBufferViewCreateInfo# :: Addr# -> ByteArray# -> VkBufferViewCreateInfo -- |
--   typedef struct VkDedicatedAllocationBufferCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         dedicatedAllocation;
--   } VkDedicatedAllocationBufferCreateInfoNV;
--   
-- -- VkDedicatedAllocationBufferCreateInfoNV registry at -- www.khronos.org data VkDedicatedAllocationBufferCreateInfoNV VkDedicatedAllocationBufferCreateInfoNV# :: Addr# -> ByteArray# -> VkDedicatedAllocationBufferCreateInfoNV -- |
--   typedef struct VkDedicatedAllocationImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         dedicatedAllocation;
--   } VkDedicatedAllocationImageCreateInfoNV;
--   
-- -- VkDedicatedAllocationImageCreateInfoNV registry at -- www.khronos.org data VkDedicatedAllocationImageCreateInfoNV VkDedicatedAllocationImageCreateInfoNV# :: Addr# -> ByteArray# -> VkDedicatedAllocationImageCreateInfoNV -- |
--   typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkDedicatedAllocationMemoryAllocateInfoNV;
--   
-- -- VkDedicatedAllocationMemoryAllocateInfoNV registry at -- www.khronos.org data VkDedicatedAllocationMemoryAllocateInfoNV VkDedicatedAllocationMemoryAllocateInfoNV# :: Addr# -> ByteArray# -> VkDedicatedAllocationMemoryAllocateInfoNV -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryAllocateInfo VkMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkMemoryAllocateInfo -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org data VkMemoryBarrier VkMemoryBarrier# :: Addr# -> ByteArray# -> VkMemoryBarrier -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org data VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements# :: Addr# -> ByteArray# -> VkMemoryDedicatedRequirements -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org data VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR# :: Addr# -> ByteArray# -> VkMemoryFdPropertiesKHR -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org data VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR# :: Addr# -> ByteArray# -> VkMemoryGetFdInfoKHR -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org data VkMemoryHeap VkMemoryHeap# :: Addr# -> ByteArray# -> VkMemoryHeap -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org data VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT# :: Addr# -> ByteArray# -> VkMemoryHostPointerPropertiesEXT -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org data VkMemoryRequirements VkMemoryRequirements# :: Addr# -> ByteArray# -> VkMemoryRequirements -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org data VkMemoryRequirements2 VkMemoryRequirements2# :: Addr# -> ByteArray# -> VkMemoryRequirements2 -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org data VkMemoryType VkMemoryType# :: Addr# -> ByteArray# -> VkMemoryType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION = 1 type VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME = "VK_NV_dedicated_allocation" module Graphics.Vulkan.Ext.VK_NV_clip_space_w_scaling newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org data VkOffset2D VkOffset2D# :: Addr# -> ByteArray# -> VkOffset2D -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org data VkOffset3D VkOffset3D# :: Addr# -> ByteArray# -> VkOffset3D newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 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 data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo# :: Addr# -> ByteArray# -> VkGraphicsPipelineCreateInfo -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo# :: Addr# -> ByteArray# -> VkPipelineCacheCreateInfo -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineColorBlendStateCreateInfo -- |
--   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 data VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageModulationStateCreateInfoNV -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org data VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageToColorStateCreateInfoNV -- |
--   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 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT# :: Addr# -> ByteArray# -> VkPipelineDiscardRectangleStateCreateInfoEXT -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineDynamicStateCreateInfo -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineMultisampleStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org data VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateRasterizationOrderAMD -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo# :: Addr# -> ByteArray# -> VkPipelineShaderStageCreateInfo -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org data VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineTessellationStateCreateInfo -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org data VkRect2D VkRect2D# :: Addr# -> ByteArray# -> VkRect2D -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D                       extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org data VkRectLayerKHR VkRectLayerKHR# :: Addr# -> ByteArray# -> VkRectLayerKHR -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- |
--   typedef struct VkViewport {
--       float          x;
--       float          y;
--       float          width;
--       float          height;
--       float          minDepth;
--       float          maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org data VkViewport VkViewport# :: Addr# -> ByteArray# -> VkViewport -- |
--   typedef struct VkViewportSwizzleNV {
--       VkViewportCoordinateSwizzleNV          x;
--       VkViewportCoordinateSwizzleNV          y;
--       VkViewportCoordinateSwizzleNV          z;
--       VkViewportCoordinateSwizzleNV          w;
--   } VkViewportSwizzleNV;
--   
-- -- VkViewportSwizzleNV registry at www.khronos.org data VkViewportSwizzleNV VkViewportSwizzleNV# :: Addr# -> ByteArray# -> VkViewportSwizzleNV -- |
--   typedef struct VkViewportWScalingNV {
--       float          xcoeff;
--       float          ycoeff;
--   } VkViewportWScalingNV;
--   
-- -- VkViewportWScalingNV registry at www.khronos.org data VkViewportWScalingNV VkViewportWScalingNV# :: Addr# -> ByteArray# -> VkViewportWScalingNV type VkCmdSetViewportWScalingNV = "vkCmdSetViewportWScalingNV" -- | 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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION = 1 type VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME = "VK_NV_clip_space_w_scaling" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetViewportWScalingNV" module Graphics.Vulkan.Ext.VK_KHR_surface type VkDestroySurfaceKHR = "vkDestroySurfaceKHR" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroySurfaceKHRSafe :: VkInstance -> VkSurfaceKHR -> Ptr VkAllocationCallbacks -> IO () type VkGetPhysicalDeviceSurfaceSupportKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceSurfaceSupportKHRSafe :: VkPhysicalDevice -> Word32 -> VkSurfaceKHR -> Ptr VkBool32 -> IO VkResult type VkGetPhysicalDeviceSurfaceCapabilitiesKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceSurfaceCapabilitiesKHRSafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr VkSurfaceCapabilitiesKHR -> IO VkResult type VkGetPhysicalDeviceSurfaceFormatsKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceSurfaceFormatsKHRSafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkSurfaceFormatKHR -> IO VkResult type VkGetPhysicalDeviceSurfacePresentModesKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceSurfacePresentModesKHRSafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkPresentModeKHR -> IO VkResult newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask type VkColorComponentFlags = VkColorComponentBitmask FlagMask type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType -- | type = enum -- -- VkPresentModeKHR registry at www.khronos.org newtype VkPresentModeKHR VkPresentModeKHR :: Int32 -> VkPresentModeKHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit -- | bitpos = 0 newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 -- | bitpos = 7 -- | bitpos = 8 -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope -- |
--   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                  messageType,
--       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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   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 data VkAllocationCallbacks VkAllocationCallbacks# :: Addr# -> ByteArray# -> VkAllocationCallbacks -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> 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 data VkSurfaceCapabilities2EXT VkSurfaceCapabilities2EXT# :: Addr# -> ByteArray# -> VkSurfaceCapabilities2EXT -- |
--   typedef struct VkSurfaceCapabilities2KHR {
--       VkStructureType sType;
--       void*   pNext;
--       VkSurfaceCapabilitiesKHR surfaceCapabilities;
--   } VkSurfaceCapabilities2KHR;
--   
-- -- VkSurfaceCapabilities2KHR registry at www.khronos.org data VkSurfaceCapabilities2KHR VkSurfaceCapabilities2KHR# :: Addr# -> ByteArray# -> 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 data VkSurfaceCapabilitiesKHR VkSurfaceCapabilitiesKHR# :: Addr# -> ByteArray# -> VkSurfaceCapabilitiesKHR -- |
--   typedef struct VkSurfaceFormat2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkSurfaceFormatKHR surfaceFormat;
--   } VkSurfaceFormat2KHR;
--   
-- -- VkSurfaceFormat2KHR registry at www.khronos.org data VkSurfaceFormat2KHR VkSurfaceFormat2KHR# :: Addr# -> ByteArray# -> VkSurfaceFormat2KHR -- |
--   typedef struct VkSurfaceFormatKHR {
--       VkFormat                         format;
--       VkColorSpaceKHR                  colorSpace;
--   } VkSurfaceFormatKHR;
--   
-- -- VkSurfaceFormatKHR registry at www.khronos.org data VkSurfaceFormatKHR VkSurfaceFormatKHR# :: Addr# -> ByteArray# -> VkSurfaceFormatKHR type VK_KHR_SURFACE_SPEC_VERSION = 25 type VK_KHR_SURFACE_EXTENSION_NAME = "VK_KHR_surface" -- | VkSurfaceKHR instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroySurfaceKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfaceSupportKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfaceFormatsKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfacePresentModesKHR" module Graphics.Vulkan.Ext.VK_KHR_storage_buffer_storage_class type VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION = 1 type VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME = "VK_KHR_storage_buffer_storage_class" module Graphics.Vulkan.Ext.VK_KHR_shared_presentable_image newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- |
--   typedef struct VkSharedPresentSurfaceCapabilitiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       VkImageUsageFlags sharedPresentSupportedUsageFlags;
--   } VkSharedPresentSurfaceCapabilitiesKHR;
--   
-- -- VkSharedPresentSurfaceCapabilitiesKHR registry at -- www.khronos.org data VkSharedPresentSurfaceCapabilitiesKHR VkSharedPresentSurfaceCapabilitiesKHR# :: Addr# -> ByteArray# -> VkSharedPresentSurfaceCapabilitiesKHR -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- |
--   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 data VkSurfaceCapabilities2EXT VkSurfaceCapabilities2EXT# :: Addr# -> ByteArray# -> VkSurfaceCapabilities2EXT -- |
--   typedef struct VkSurfaceCapabilities2KHR {
--       VkStructureType sType;
--       void*   pNext;
--       VkSurfaceCapabilitiesKHR surfaceCapabilities;
--   } VkSurfaceCapabilities2KHR;
--   
-- -- VkSurfaceCapabilities2KHR registry at www.khronos.org data VkSurfaceCapabilities2KHR VkSurfaceCapabilities2KHR# :: Addr# -> ByteArray# -> 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 data VkSurfaceCapabilitiesKHR VkSurfaceCapabilitiesKHR# :: Addr# -> ByteArray# -> VkSurfaceCapabilitiesKHR -- |
--   typedef struct VkSurfaceFormat2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkSurfaceFormatKHR surfaceFormat;
--   } VkSurfaceFormat2KHR;
--   
-- -- VkSurfaceFormat2KHR registry at www.khronos.org data VkSurfaceFormat2KHR VkSurfaceFormat2KHR# :: Addr# -> ByteArray# -> VkSurfaceFormat2KHR -- |
--   typedef struct VkSurfaceFormatKHR {
--       VkFormat                         format;
--       VkColorSpaceKHR                  colorSpace;
--   } VkSurfaceFormatKHR;
--   
-- -- VkSurfaceFormatKHR registry at www.khronos.org data VkSurfaceFormatKHR VkSurfaceFormatKHR# :: Addr# -> ByteArray# -> VkSurfaceFormatKHR newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit -- | bitpos = 0 newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 -- | bitpos = 7 -- | bitpos = 8 type VkGetSwapchainStatusKHR = "vkGetSwapchainStatusKHR" -- | 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. -- --
--   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 -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION = 1 type VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME = "VK_KHR_shared_presentable_image" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetSwapchainStatusKHR" module Graphics.Vulkan.Ext.VK_KHR_shader_draw_parameters type VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION = 1 type VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME = "VK_KHR_shader_draw_parameters" module Graphics.Vulkan.Ext.VK_KHR_sampler_mirror_clamp_to_edge type VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION = 1 type VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME = "VK_KHR_sampler_mirror_clamp_to_edge" -- | Note that this defines what was previously a core enum, and so uses -- the value attribute rather than offset, and does not -- have a suffix. This is a special case, and should not be repeated module Graphics.Vulkan.Ext.VK_KHR_relaxed_block_layout type VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION = 1 type VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME = "VK_KHR_relaxed_block_layout" module Graphics.Vulkan.Ext.VK_KHR_incremental_present -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org data VkOffset2D VkOffset2D# :: Addr# -> ByteArray# -> VkOffset2D -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org data VkOffset3D VkOffset3D# :: Addr# -> ByteArray# -> VkOffset3D -- |
--   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 data VkPresentInfoKHR VkPresentInfoKHR# :: Addr# -> ByteArray# -> VkPresentInfoKHR -- |
--   typedef struct VkPresentRegionKHR {
--       uint32_t         rectangleCount;
--       const VkRectLayerKHR*   pRectangles;
--   } VkPresentRegionKHR;
--   
-- -- VkPresentRegionKHR registry at www.khronos.org data VkPresentRegionKHR VkPresentRegionKHR# :: Addr# -> ByteArray# -> VkPresentRegionKHR -- |
--   typedef struct VkPresentRegionsKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentRegionKHR*   pRegions;
--   } VkPresentRegionsKHR;
--   
-- -- VkPresentRegionsKHR registry at www.khronos.org data VkPresentRegionsKHR VkPresentRegionsKHR# :: Addr# -> ByteArray# -> VkPresentRegionsKHR -- |
--   typedef struct VkPresentTimeGOOGLE {
--       uint32_t                         presentID;
--       uint64_t                         desiredPresentTime;
--   } VkPresentTimeGOOGLE;
--   
-- -- VkPresentTimeGOOGLE registry at www.khronos.org data VkPresentTimeGOOGLE VkPresentTimeGOOGLE# :: Addr# -> ByteArray# -> VkPresentTimeGOOGLE -- |
--   typedef struct VkPresentTimesInfoGOOGLE {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentTimeGOOGLE*   pTimes;
--   } VkPresentTimesInfoGOOGLE;
--   
-- -- VkPresentTimesInfoGOOGLE registry at www.khronos.org data VkPresentTimesInfoGOOGLE VkPresentTimesInfoGOOGLE# :: Addr# -> ByteArray# -> VkPresentTimesInfoGOOGLE -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org data VkRect2D VkRect2D# :: Addr# -> ByteArray# -> VkRect2D -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D                       extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org data VkRectLayerKHR VkRectLayerKHR# :: Addr# -> ByteArray# -> VkRectLayerKHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION = 1 type VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME = "VK_KHR_incremental_present" module Graphics.Vulkan.Ext.VK_KHR_image_format_list -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> VkImageViewUsageCreateInfo -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION = 1 type VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME = "VK_KHR_image_format_list" module Graphics.Vulkan.Ext.VK_KHR_external_semaphore_fd newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 data VkImportFenceFdInfoKHR VkImportFenceFdInfoKHR# :: Addr# -> ByteArray# -> VkImportFenceFdInfoKHR -- |
--   typedef struct VkImportMemoryFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       int                              fd;
--   } VkImportMemoryFdInfoKHR;
--   
-- -- VkImportMemoryFdInfoKHR registry at www.khronos.org data VkImportMemoryFdInfoKHR VkImportMemoryFdInfoKHR# :: Addr# -> ByteArray# -> VkImportMemoryFdInfoKHR -- |
--   typedef struct VkImportMemoryHostPointerInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       void* pHostPointer;
--   } VkImportMemoryHostPointerInfoEXT;
--   
-- -- VkImportMemoryHostPointerInfoEXT registry at www.khronos.org data VkImportMemoryHostPointerInfoEXT VkImportMemoryHostPointerInfoEXT# :: Addr# -> ByteArray# -> VkImportMemoryHostPointerInfoEXT -- |
--   typedef struct VkImportSemaphoreFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSemaphore    semaphore;
--       VkSemaphoreImportFlags flags;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--       int                              fd;
--   } VkImportSemaphoreFdInfoKHR;
--   
-- -- VkImportSemaphoreFdInfoKHR registry at www.khronos.org data VkImportSemaphoreFdInfoKHR VkImportSemaphoreFdInfoKHR# :: Addr# -> ByteArray# -> VkImportSemaphoreFdInfoKHR -- |
--   typedef struct VkSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreCreateFlags flags;
--   } VkSemaphoreCreateInfo;
--   
-- -- VkSemaphoreCreateInfo registry at www.khronos.org data VkSemaphoreCreateInfo VkSemaphoreCreateInfo# :: Addr# -> ByteArray# -> VkSemaphoreCreateInfo -- |
--   typedef struct VkSemaphoreGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSemaphore                      semaphore;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkSemaphoreGetFdInfoKHR;
--   
-- -- VkSemaphoreGetFdInfoKHR registry at www.khronos.org data VkSemaphoreGetFdInfoKHR VkSemaphoreGetFdInfoKHR# :: Addr# -> ByteArray# -> VkSemaphoreGetFdInfoKHR newtype VkSemaphoreImportFlagBitsKHR VkSemaphoreImportFlagBitsKHR :: VkFlags -> VkSemaphoreImportFlagBitsKHR newtype VkSemaphoreImportBitmask (a :: FlagType) VkSemaphoreImportBitmask :: VkFlags -> VkSemaphoreImportBitmask type VkSemaphoreImportFlags = VkSemaphoreImportBitmask FlagMask type VkSemaphoreImportFlagBits = VkSemaphoreImportBitmask FlagBit -- | bitpos = 0 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VkImportSemaphoreFdKHR = "vkImportSemaphoreFdKHR" -- | 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" -- | 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 -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION = 1 type VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME = "VK_KHR_external_semaphore_fd" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkImportSemaphoreFdKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetSemaphoreFdKHR" module Graphics.Vulkan.Ext.VK_KHR_external_memory_fd newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- |
--   typedef struct VkImportFenceFdInfoKHR {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkFence              fence;
--       VkFenceImportFlags  flags;
--       VkExternalFenceHandleTypeFlagBits   handleType;
--       int                                    fd;
--   } VkImportFenceFdInfoKHR;
--   
-- -- VkImportFenceFdInfoKHR registry at www.khronos.org data VkImportFenceFdInfoKHR VkImportFenceFdInfoKHR# :: Addr# -> ByteArray# -> VkImportFenceFdInfoKHR -- |
--   typedef struct VkImportMemoryFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       int                              fd;
--   } VkImportMemoryFdInfoKHR;
--   
-- -- VkImportMemoryFdInfoKHR registry at www.khronos.org data VkImportMemoryFdInfoKHR VkImportMemoryFdInfoKHR# :: Addr# -> ByteArray# -> VkImportMemoryFdInfoKHR -- |
--   typedef struct VkImportMemoryHostPointerInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       void* pHostPointer;
--   } VkImportMemoryHostPointerInfoEXT;
--   
-- -- VkImportMemoryHostPointerInfoEXT registry at www.khronos.org data VkImportMemoryHostPointerInfoEXT VkImportMemoryHostPointerInfoEXT# :: Addr# -> ByteArray# -> VkImportMemoryHostPointerInfoEXT -- |
--   typedef struct VkImportSemaphoreFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSemaphore    semaphore;
--       VkSemaphoreImportFlags flags;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--       int                              fd;
--   } VkImportSemaphoreFdInfoKHR;
--   
-- -- VkImportSemaphoreFdInfoKHR registry at www.khronos.org data VkImportSemaphoreFdInfoKHR VkImportSemaphoreFdInfoKHR# :: Addr# -> ByteArray# -> VkImportSemaphoreFdInfoKHR -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org data VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryAllocateInfo VkMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkMemoryAllocateInfo -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org data VkMemoryBarrier VkMemoryBarrier# :: Addr# -> ByteArray# -> VkMemoryBarrier -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org data VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements# :: Addr# -> ByteArray# -> VkMemoryDedicatedRequirements -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org data VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR# :: Addr# -> ByteArray# -> VkMemoryFdPropertiesKHR -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org data VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR# :: Addr# -> ByteArray# -> VkMemoryGetFdInfoKHR -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org data VkMemoryHeap VkMemoryHeap# :: Addr# -> ByteArray# -> VkMemoryHeap -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org data VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT# :: Addr# -> ByteArray# -> VkMemoryHostPointerPropertiesEXT -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org data VkMemoryRequirements VkMemoryRequirements# :: Addr# -> ByteArray# -> VkMemoryRequirements -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org data VkMemoryRequirements2 VkMemoryRequirements2# :: Addr# -> ByteArray# -> VkMemoryRequirements2 -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org data VkMemoryType VkMemoryType# :: Addr# -> ByteArray# -> VkMemoryType -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VkGetMemoryFdKHR = "vkGetMemoryFdKHR" -- | 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" -- | Success codes: VK_SUCCESS. -- -- Error codes: 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 -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION = 1 type VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME = "VK_KHR_external_memory_fd" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetMemoryFdKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetMemoryFdPropertiesKHR" module Graphics.Vulkan.Ext.VK_KHR_external_fence_fd newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- |
--   typedef struct VkFenceCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkFenceCreateFlags     flags;
--   } VkFenceCreateInfo;
--   
-- -- VkFenceCreateInfo registry at www.khronos.org data VkFenceCreateInfo VkFenceCreateInfo# :: Addr# -> ByteArray# -> VkFenceCreateInfo -- |
--   typedef struct VkFenceGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkFence                                fence;
--       VkExternalFenceHandleTypeFlagBits   handleType;
--   } VkFenceGetFdInfoKHR;
--   
-- -- VkFenceGetFdInfoKHR registry at www.khronos.org data VkFenceGetFdInfoKHR VkFenceGetFdInfoKHR# :: Addr# -> ByteArray# -> VkFenceGetFdInfoKHR newtype VkFenceCreateBitmask (a :: FlagType) VkFenceCreateBitmask :: VkFlags -> VkFenceCreateBitmask type VkFenceCreateFlags = VkFenceCreateBitmask FlagMask type VkFenceCreateFlagBits = VkFenceCreateBitmask FlagBit -- | bitpos = 0 newtype VkFenceImportFlagBitsKHR VkFenceImportFlagBitsKHR :: VkFlags -> VkFenceImportFlagBitsKHR newtype VkFenceImportBitmask (a :: FlagType) VkFenceImportBitmask :: VkFlags -> VkFenceImportBitmask type VkFenceImportFlags = VkFenceImportBitmask FlagMask type VkFenceImportFlagBits = VkFenceImportBitmask FlagBit -- | bitpos = 0 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 data VkImportFenceFdInfoKHR VkImportFenceFdInfoKHR# :: Addr# -> ByteArray# -> VkImportFenceFdInfoKHR -- |
--   typedef struct VkImportMemoryFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       int                              fd;
--   } VkImportMemoryFdInfoKHR;
--   
-- -- VkImportMemoryFdInfoKHR registry at www.khronos.org data VkImportMemoryFdInfoKHR VkImportMemoryFdInfoKHR# :: Addr# -> ByteArray# -> VkImportMemoryFdInfoKHR -- |
--   typedef struct VkImportMemoryHostPointerInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       void* pHostPointer;
--   } VkImportMemoryHostPointerInfoEXT;
--   
-- -- VkImportMemoryHostPointerInfoEXT registry at www.khronos.org data VkImportMemoryHostPointerInfoEXT VkImportMemoryHostPointerInfoEXT# :: Addr# -> ByteArray# -> VkImportMemoryHostPointerInfoEXT -- |
--   typedef struct VkImportSemaphoreFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSemaphore    semaphore;
--       VkSemaphoreImportFlags flags;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--       int                              fd;
--   } VkImportSemaphoreFdInfoKHR;
--   
-- -- VkImportSemaphoreFdInfoKHR registry at www.khronos.org data VkImportSemaphoreFdInfoKHR VkImportSemaphoreFdInfoKHR# :: Addr# -> ByteArray# -> VkImportSemaphoreFdInfoKHR -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VkImportFenceFdKHR = "vkImportFenceFdKHR" -- | 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" -- | 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 -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION = 1 type VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME = "VK_KHR_external_fence_fd" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkImportFenceFdKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetFenceFdKHR" module Graphics.Vulkan.Ext.VK_KHR_display_swapchain newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkDisplayEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayEventTypeEXT            displayEvent;
--   } VkDisplayEventInfoEXT;
--   
-- -- VkDisplayEventInfoEXT registry at www.khronos.org data VkDisplayEventInfoEXT VkDisplayEventInfoEXT# :: Addr# -> ByteArray# -> VkDisplayEventInfoEXT -- |
--   typedef struct VkDisplayModeCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayModeCreateFlagsKHR      flags;
--       VkDisplayModeParametersKHR       parameters;
--   } VkDisplayModeCreateInfoKHR;
--   
-- -- VkDisplayModeCreateInfoKHR registry at www.khronos.org data VkDisplayModeCreateInfoKHR VkDisplayModeCreateInfoKHR# :: Addr# -> ByteArray# -> VkDisplayModeCreateInfoKHR -- |
--   typedef struct VkDisplayModeParametersKHR {
--       VkExtent2D                       visibleRegion;
--       uint32_t                         refreshRate;
--   } VkDisplayModeParametersKHR;
--   
-- -- VkDisplayModeParametersKHR registry at www.khronos.org data VkDisplayModeParametersKHR VkDisplayModeParametersKHR# :: Addr# -> ByteArray# -> VkDisplayModeParametersKHR -- |
--   typedef struct VkDisplayModePropertiesKHR {
--       VkDisplayModeKHR                 displayMode;
--       VkDisplayModeParametersKHR       parameters;
--   } VkDisplayModePropertiesKHR;
--   
-- -- VkDisplayModePropertiesKHR registry at www.khronos.org data VkDisplayModePropertiesKHR VkDisplayModePropertiesKHR# :: Addr# -> ByteArray# -> VkDisplayModePropertiesKHR -- |
--   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 data VkDisplayPlaneCapabilitiesKHR VkDisplayPlaneCapabilitiesKHR# :: Addr# -> ByteArray# -> VkDisplayPlaneCapabilitiesKHR -- |
--   typedef struct VkDisplayPlanePropertiesKHR {
--       VkDisplayKHR                     currentDisplay;
--       uint32_t                         currentStackIndex;
--   } VkDisplayPlanePropertiesKHR;
--   
-- -- VkDisplayPlanePropertiesKHR registry at www.khronos.org data VkDisplayPlanePropertiesKHR VkDisplayPlanePropertiesKHR# :: Addr# -> ByteArray# -> VkDisplayPlanePropertiesKHR -- |
--   typedef struct VkDisplayPowerInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayPowerStateEXT           powerState;
--   } VkDisplayPowerInfoEXT;
--   
-- -- VkDisplayPowerInfoEXT registry at www.khronos.org data VkDisplayPowerInfoEXT VkDisplayPowerInfoEXT# :: Addr# -> ByteArray# -> VkDisplayPowerInfoEXT -- |
--   typedef struct VkDisplayPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRect2D                         srcRect;
--       VkRect2D                         dstRect;
--       VkBool32                         persistent;
--   } VkDisplayPresentInfoKHR;
--   
-- -- VkDisplayPresentInfoKHR registry at www.khronos.org data VkDisplayPresentInfoKHR VkDisplayPresentInfoKHR# :: Addr# -> ByteArray# -> VkDisplayPresentInfoKHR -- |
--   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 data VkDisplayPropertiesKHR VkDisplayPropertiesKHR# :: Addr# -> ByteArray# -> 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 data VkDisplaySurfaceCreateInfoKHR VkDisplaySurfaceCreateInfoKHR# :: Addr# -> ByteArray# -> VkDisplaySurfaceCreateInfoKHR -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org data VkOffset2D VkOffset2D# :: Addr# -> ByteArray# -> VkOffset2D -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org data VkOffset3D VkOffset3D# :: Addr# -> ByteArray# -> VkOffset3D -- |
--   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 data VkPresentInfoKHR VkPresentInfoKHR# :: Addr# -> ByteArray# -> VkPresentInfoKHR -- |
--   typedef struct VkPresentRegionKHR {
--       uint32_t         rectangleCount;
--       const VkRectLayerKHR*   pRectangles;
--   } VkPresentRegionKHR;
--   
-- -- VkPresentRegionKHR registry at www.khronos.org data VkPresentRegionKHR VkPresentRegionKHR# :: Addr# -> ByteArray# -> VkPresentRegionKHR -- |
--   typedef struct VkPresentRegionsKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentRegionKHR*   pRegions;
--   } VkPresentRegionsKHR;
--   
-- -- VkPresentRegionsKHR registry at www.khronos.org data VkPresentRegionsKHR VkPresentRegionsKHR# :: Addr# -> ByteArray# -> VkPresentRegionsKHR -- |
--   typedef struct VkPresentTimeGOOGLE {
--       uint32_t                         presentID;
--       uint64_t                         desiredPresentTime;
--   } VkPresentTimeGOOGLE;
--   
-- -- VkPresentTimeGOOGLE registry at www.khronos.org data VkPresentTimeGOOGLE VkPresentTimeGOOGLE# :: Addr# -> ByteArray# -> VkPresentTimeGOOGLE -- |
--   typedef struct VkPresentTimesInfoGOOGLE {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentTimeGOOGLE*   pTimes;
--   } VkPresentTimesInfoGOOGLE;
--   
-- -- VkPresentTimesInfoGOOGLE registry at www.khronos.org data VkPresentTimesInfoGOOGLE VkPresentTimesInfoGOOGLE# :: Addr# -> ByteArray# -> VkPresentTimesInfoGOOGLE -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org data VkRect2D VkRect2D# :: Addr# -> ByteArray# -> VkRect2D -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D                       extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org data VkRectLayerKHR VkRectLayerKHR# :: Addr# -> ByteArray# -> VkRectLayerKHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VkCreateSharedSwapchainsKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateSharedSwapchainsKHRSafe :: VkDevice -> Word32 -> Ptr VkSwapchainCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask type VkColorComponentFlags = VkColorComponentBitmask FlagMask type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType -- | type = enum -- -- VkPresentModeKHR registry at www.khronos.org newtype VkPresentModeKHR VkPresentModeKHR :: Int32 -> VkPresentModeKHR -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit -- | bitpos = 0 newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 -- | bitpos = 7 -- | bitpos = 8 newtype VkSwapchainCreateBitmaskKHR (a :: FlagType) VkSwapchainCreateBitmaskKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR type VkSwapchainCreateFlagsKHR = VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainCreateFlagBitsKHR = VkSwapchainCreateBitmaskKHR FlagBit -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope -- |
--   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                  messageType,
--       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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   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 data VkAllocationCallbacks VkAllocationCallbacks# :: Addr# -> ByteArray# -> VkAllocationCallbacks -- |
--   typedef struct VkSwapchainCounterCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSurfaceCounterFlagsEXT         surfaceCounters;
--   } VkSwapchainCounterCreateInfoEXT;
--   
-- -- VkSwapchainCounterCreateInfoEXT registry at www.khronos.org data VkSwapchainCounterCreateInfoEXT VkSwapchainCounterCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkSwapchainCreateInfoKHR VkSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkSwapchainCreateInfoKHR type VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION = 9 type VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_display_swapchain" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateSharedSwapchainsKHR" module Graphics.Vulkan.Ext.VK_KHR_display newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 VkDisplayEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayEventTypeEXT            displayEvent;
--   } VkDisplayEventInfoEXT;
--   
-- -- VkDisplayEventInfoEXT registry at www.khronos.org data VkDisplayEventInfoEXT VkDisplayEventInfoEXT# :: Addr# -> ByteArray# -> VkDisplayEventInfoEXT -- |
--   typedef struct VkDisplayModeCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayModeCreateFlagsKHR      flags;
--       VkDisplayModeParametersKHR       parameters;
--   } VkDisplayModeCreateInfoKHR;
--   
-- -- VkDisplayModeCreateInfoKHR registry at www.khronos.org data VkDisplayModeCreateInfoKHR VkDisplayModeCreateInfoKHR# :: Addr# -> ByteArray# -> VkDisplayModeCreateInfoKHR -- |
--   typedef struct VkDisplayModeParametersKHR {
--       VkExtent2D                       visibleRegion;
--       uint32_t                         refreshRate;
--   } VkDisplayModeParametersKHR;
--   
-- -- VkDisplayModeParametersKHR registry at www.khronos.org data VkDisplayModeParametersKHR VkDisplayModeParametersKHR# :: Addr# -> ByteArray# -> VkDisplayModeParametersKHR -- |
--   typedef struct VkDisplayModePropertiesKHR {
--       VkDisplayModeKHR                 displayMode;
--       VkDisplayModeParametersKHR       parameters;
--   } VkDisplayModePropertiesKHR;
--   
-- -- VkDisplayModePropertiesKHR registry at www.khronos.org data VkDisplayModePropertiesKHR VkDisplayModePropertiesKHR# :: Addr# -> ByteArray# -> VkDisplayModePropertiesKHR -- |
--   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 data VkDisplayPlaneCapabilitiesKHR VkDisplayPlaneCapabilitiesKHR# :: Addr# -> ByteArray# -> VkDisplayPlaneCapabilitiesKHR -- |
--   typedef struct VkDisplayPlanePropertiesKHR {
--       VkDisplayKHR                     currentDisplay;
--       uint32_t                         currentStackIndex;
--   } VkDisplayPlanePropertiesKHR;
--   
-- -- VkDisplayPlanePropertiesKHR registry at www.khronos.org data VkDisplayPlanePropertiesKHR VkDisplayPlanePropertiesKHR# :: Addr# -> ByteArray# -> VkDisplayPlanePropertiesKHR -- |
--   typedef struct VkDisplayPowerInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayPowerStateEXT           powerState;
--   } VkDisplayPowerInfoEXT;
--   
-- -- VkDisplayPowerInfoEXT registry at www.khronos.org data VkDisplayPowerInfoEXT VkDisplayPowerInfoEXT# :: Addr# -> ByteArray# -> VkDisplayPowerInfoEXT -- |
--   typedef struct VkDisplayPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRect2D                         srcRect;
--       VkRect2D                         dstRect;
--       VkBool32                         persistent;
--   } VkDisplayPresentInfoKHR;
--   
-- -- VkDisplayPresentInfoKHR registry at www.khronos.org data VkDisplayPresentInfoKHR VkDisplayPresentInfoKHR# :: Addr# -> ByteArray# -> VkDisplayPresentInfoKHR -- |
--   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 data VkDisplayPropertiesKHR VkDisplayPropertiesKHR# :: Addr# -> ByteArray# -> 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 data VkDisplaySurfaceCreateInfoKHR VkDisplaySurfaceCreateInfoKHR# :: Addr# -> ByteArray# -> VkDisplaySurfaceCreateInfoKHR -- | type = enum -- -- VkDisplayEventTypeEXT registry at www.khronos.org newtype VkDisplayEventTypeEXT VkDisplayEventTypeEXT :: Int32 -> VkDisplayEventTypeEXT newtype VkDisplayPlaneAlphaBitmaskKHR (a :: FlagType) VkDisplayPlaneAlphaBitmaskKHR :: VkFlags -> VkDisplayPlaneAlphaBitmaskKHR type VkDisplayPlaneAlphaFlagsKHR = VkDisplayPlaneAlphaBitmaskKHR FlagMask type VkDisplayPlaneAlphaFlagBitsKHR = VkDisplayPlaneAlphaBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | type = enum -- -- VkDisplayPowerStateEXT registry at www.khronos.org newtype VkDisplayPowerStateEXT VkDisplayPowerStateEXT :: Int32 -> VkDisplayPowerStateEXT -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org data VkOffset2D VkOffset2D# :: Addr# -> ByteArray# -> VkOffset2D -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org data VkOffset3D VkOffset3D# :: Addr# -> ByteArray# -> VkOffset3D -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit -- | bitpos = 0 newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 -- | bitpos = 7 -- | bitpos = 8 type VkGetPhysicalDeviceDisplayPropertiesKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceDisplayPropertiesKHRSafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkDisplayPropertiesKHR -> IO VkResult type VkGetPhysicalDeviceDisplayPlanePropertiesKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceDisplayPlanePropertiesKHRSafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkDisplayPlanePropertiesKHR -> IO VkResult type VkGetDisplayPlaneSupportedDisplaysKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetDisplayPlaneSupportedDisplaysKHRSafe :: VkPhysicalDevice -> Word32 -> Ptr Word32 -> Ptr VkDisplayKHR -> IO VkResult type VkGetDisplayModePropertiesKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetDisplayModePropertiesKHRSafe :: VkPhysicalDevice -> VkDisplayKHR -> Ptr Word32 -> Ptr VkDisplayModePropertiesKHR -> IO VkResult type VkCreateDisplayModeKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateDisplayModeKHRSafe :: VkPhysicalDevice -> VkDisplayKHR -> Ptr VkDisplayModeCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkDisplayModeKHR -> IO VkResult type VkGetDisplayPlaneCapabilitiesKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetDisplayPlaneCapabilitiesKHRSafe :: VkPhysicalDevice -> VkDisplayModeKHR -> Word32 -> Ptr VkDisplayPlaneCapabilitiesKHR -> IO VkResult type VkCreateDisplayPlaneSurfaceKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateDisplayPlaneSurfaceKHRSafe :: VkInstance -> Ptr VkDisplaySurfaceCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSurfaceKHR -> IO VkResult -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope -- |
--   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                  messageType,
--       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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   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 data VkAllocationCallbacks VkAllocationCallbacks# :: Addr# -> ByteArray# -> VkAllocationCallbacks type VK_KHR_DISPLAY_SPEC_VERSION = 21 type VK_KHR_DISPLAY_EXTENSION_NAME = "VK_KHR_display" -- | VkDisplayKHR -- | VkDisplayModeKHR instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceDisplayPropertiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDisplayPlaneSupportedDisplaysKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDisplayModePropertiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDisplayModeKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDisplayPlaneCapabilitiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDisplayPlaneSurfaceKHR" module Graphics.Vulkan.Ext.VK_IMG_format_pvrtc type VK_IMG_FORMAT_PVRTC_SPEC_VERSION = 1 type VK_IMG_FORMAT_PVRTC_EXTENSION_NAME = "VK_IMG_format_pvrtc" module Graphics.Vulkan.Ext.VK_IMG_filter_cubic type VK_IMG_FILTER_CUBIC_SPEC_VERSION = 1 type VK_IMG_FILTER_CUBIC_EXTENSION_NAME = "VK_IMG_filter_cubic" -- | Format can be filtered with VK_FILTER_CUBIC_IMG when being sampled -- -- bitpos = 13 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 data VkPastPresentationTimingGOOGLE VkPastPresentationTimingGOOGLE# :: Addr# -> ByteArray# -> 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 data VkPresentInfoKHR VkPresentInfoKHR# :: Addr# -> ByteArray# -> VkPresentInfoKHR -- |
--   typedef struct VkPresentRegionKHR {
--       uint32_t         rectangleCount;
--       const VkRectLayerKHR*   pRectangles;
--   } VkPresentRegionKHR;
--   
-- -- VkPresentRegionKHR registry at www.khronos.org data VkPresentRegionKHR VkPresentRegionKHR# :: Addr# -> ByteArray# -> VkPresentRegionKHR -- |
--   typedef struct VkPresentRegionsKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentRegionKHR*   pRegions;
--   } VkPresentRegionsKHR;
--   
-- -- VkPresentRegionsKHR registry at www.khronos.org data VkPresentRegionsKHR VkPresentRegionsKHR# :: Addr# -> ByteArray# -> VkPresentRegionsKHR -- |
--   typedef struct VkPresentTimeGOOGLE {
--       uint32_t                         presentID;
--       uint64_t                         desiredPresentTime;
--   } VkPresentTimeGOOGLE;
--   
-- -- VkPresentTimeGOOGLE registry at www.khronos.org data VkPresentTimeGOOGLE VkPresentTimeGOOGLE# :: Addr# -> ByteArray# -> VkPresentTimeGOOGLE -- |
--   typedef struct VkPresentTimesInfoGOOGLE {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentTimeGOOGLE*   pTimes;
--   } VkPresentTimesInfoGOOGLE;
--   
-- -- VkPresentTimesInfoGOOGLE registry at www.khronos.org data VkPresentTimesInfoGOOGLE VkPresentTimesInfoGOOGLE# :: Addr# -> ByteArray# -> VkPresentTimesInfoGOOGLE -- |
--   typedef struct VkRefreshCycleDurationGOOGLE {
--       uint64_t                         refreshDuration;
--   } VkRefreshCycleDurationGOOGLE;
--   
-- -- VkRefreshCycleDurationGOOGLE registry at www.khronos.org data VkRefreshCycleDurationGOOGLE VkRefreshCycleDurationGOOGLE# :: Addr# -> ByteArray# -> VkRefreshCycleDurationGOOGLE -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VkGetRefreshCycleDurationGOOGLE = "vkGetRefreshCycleDurationGOOGLE" -- | Success codes: VK_SUCCESS. -- -- Error codes: 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" -- | Success codes: VK_SUCCESS, VK_INCOMPLETE. -- -- Error codes: 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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION = 1 type VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME = "VK_GOOGLE_display_timing" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetRefreshCycleDurationGOOGLE" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPastPresentationTimingGOOGLE" 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 data VkApplicationInfo VkApplicationInfo# :: Addr# -> ByteArray# -> VkApplicationInfo newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 data VkInstanceCreateInfo VkInstanceCreateInfo# :: Addr# -> ByteArray# -> VkInstanceCreateInfo -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- | type = enum -- -- VkValidationCacheHeaderVersionEXT registry at www.khronos.org newtype VkValidationCacheHeaderVersionEXT VkValidationCacheHeaderVersionEXT :: Int32 -> VkValidationCacheHeaderVersionEXT -- | type = enum -- -- VkValidationCheckEXT registry at www.khronos.org newtype VkValidationCheckEXT VkValidationCheckEXT :: Int32 -> VkValidationCheckEXT -- |
--   typedef struct VkValidationCacheCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkValidationCacheCreateFlagsEXT    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkValidationCacheCreateInfoEXT;
--   
-- -- VkValidationCacheCreateInfoEXT registry at www.khronos.org data VkValidationCacheCreateInfoEXT VkValidationCacheCreateInfoEXT# :: Addr# -> ByteArray# -> VkValidationCacheCreateInfoEXT -- |
--   typedef struct VkValidationFlagsEXT {
--       VkStructureType                  sType;
--       const void*                      pNext;
--       uint32_t                         disabledValidationCheckCount;
--       VkValidationCheckEXT* pDisabledValidationChecks;
--   } VkValidationFlagsEXT;
--   
-- -- VkValidationFlagsEXT registry at www.khronos.org data VkValidationFlagsEXT VkValidationFlagsEXT# :: Addr# -> ByteArray# -> VkValidationFlagsEXT type VK_EXT_VALIDATION_FLAGS_SPEC_VERSION = 1 type VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME = "VK_EXT_validation_flags" module Graphics.Vulkan.Ext.VK_EXT_validation_cache newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 VkShaderModuleCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkShaderModuleCreateFlags flags;
--       size_t                 codeSize;
--       const uint32_t*            pCode;
--   } VkShaderModuleCreateInfo;
--   
-- -- VkShaderModuleCreateInfo registry at www.khronos.org data VkShaderModuleCreateInfo VkShaderModuleCreateInfo# :: Addr# -> ByteArray# -> VkShaderModuleCreateInfo -- |
--   typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkValidationCacheEXT    validationCache;
--   } VkShaderModuleValidationCacheCreateInfoEXT;
--   
-- -- VkShaderModuleValidationCacheCreateInfoEXT registry at -- www.khronos.org data VkShaderModuleValidationCacheCreateInfoEXT VkShaderModuleValidationCacheCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkShaderResourceUsageAMD VkShaderResourceUsageAMD# :: Addr# -> ByteArray# -> 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 data VkShaderStatisticsInfoAMD VkShaderStatisticsInfoAMD# :: Addr# -> ByteArray# -> VkShaderStatisticsInfoAMD -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- |
--   typedef struct VkValidationCacheCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkValidationCacheCreateFlagsEXT    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkValidationCacheCreateInfoEXT;
--   
-- -- VkValidationCacheCreateInfoEXT registry at www.khronos.org data VkValidationCacheCreateInfoEXT VkValidationCacheCreateInfoEXT# :: Addr# -> ByteArray# -> VkValidationCacheCreateInfoEXT -- |
--   typedef struct VkValidationFlagsEXT {
--       VkStructureType                  sType;
--       const void*                      pNext;
--       uint32_t                         disabledValidationCheckCount;
--       VkValidationCheckEXT* pDisabledValidationChecks;
--   } VkValidationFlagsEXT;
--   
-- -- VkValidationFlagsEXT registry at www.khronos.org data VkValidationFlagsEXT VkValidationFlagsEXT# :: Addr# -> ByteArray# -> VkValidationFlagsEXT -- | type = enum -- -- VkValidationCacheHeaderVersionEXT registry at www.khronos.org newtype VkValidationCacheHeaderVersionEXT VkValidationCacheHeaderVersionEXT :: Int32 -> VkValidationCacheHeaderVersionEXT -- | type = enum -- -- VkValidationCheckEXT registry at www.khronos.org newtype VkValidationCheckEXT VkValidationCheckEXT :: Int32 -> VkValidationCheckEXT type VkCreateValidationCacheEXT = "vkCreateValidationCacheEXT" -- | 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" -- |
--   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" -- | 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" -- | 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 -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope -- |
--   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                  messageType,
--       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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   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 data VkAllocationCallbacks VkAllocationCallbacks# :: Addr# -> ByteArray# -> VkAllocationCallbacks type VK_EXT_VALIDATION_CACHE_SPEC_VERSION = 1 type VK_EXT_VALIDATION_CACHE_EXTENSION_NAME = "VK_EXT_validation_cache" -- | VkValidationCacheEXT instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateValidationCacheEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyValidationCacheEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkMergeValidationCachesEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetValidationCacheDataEXT" module Graphics.Vulkan.Ext.VK_EXT_swapchain_colorspace type VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION = 3 type VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME = "VK_EXT_swapchain_colorspace" module Graphics.Vulkan.Ext.VK_EXT_shader_viewport_index_layer type VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION = 1 type VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME = "VK_EXT_shader_viewport_index_layer" module Graphics.Vulkan.Ext.VK_EXT_shader_subgroup_vote type VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION = 1 type VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME = "VK_EXT_shader_subgroup_vote" module Graphics.Vulkan.Ext.VK_EXT_shader_subgroup_ballot type VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION = 1 type VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME = "VK_EXT_shader_subgroup_ballot" module Graphics.Vulkan.Ext.VK_EXT_shader_stencil_export type VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION = 1 type VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME = "VK_EXT_shader_stencil_export" module Graphics.Vulkan.Ext.VK_EXT_post_depth_coverage type VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION = 1 type VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME = "VK_EXT_post_depth_coverage" 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 data VkHdrMetadataEXT VkHdrMetadataEXT# :: Addr# -> ByteArray# -> VkHdrMetadataEXT -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- | Chromaticity coordinate -- --
--   typedef struct VkXYColorEXT {
--       float   x;
--       float   y;
--   } VkXYColorEXT;
--   
-- -- VkXYColorEXT registry at www.khronos.org data VkXYColorEXT VkXYColorEXT# :: Addr# -> ByteArray# -> VkXYColorEXT type VkSetHdrMetadataEXT = "vkSetHdrMetadataEXT" -- |
--   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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_EXT_HDR_METADATA_SPEC_VERSION = 1 type VK_EXT_HDR_METADATA_EXTENSION_NAME = "VK_EXT_hdr_metadata" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSetHdrMetadataEXT" module Graphics.Vulkan.Ext.VK_EXT_external_memory_dma_buf type VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION = 1 type VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME = "VK_EXT_external_memory_dma_buf" -- | bitpos = 9 module Graphics.Vulkan.Ext.VK_EXT_display_surface_counter newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- |
--   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 data VkSurfaceCapabilities2EXT VkSurfaceCapabilities2EXT# :: Addr# -> ByteArray# -> VkSurfaceCapabilities2EXT -- |
--   typedef struct VkSurfaceCapabilities2KHR {
--       VkStructureType sType;
--       void*   pNext;
--       VkSurfaceCapabilitiesKHR surfaceCapabilities;
--   } VkSurfaceCapabilities2KHR;
--   
-- -- VkSurfaceCapabilities2KHR registry at www.khronos.org data VkSurfaceCapabilities2KHR VkSurfaceCapabilities2KHR# :: Addr# -> ByteArray# -> 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 data VkSurfaceCapabilitiesKHR VkSurfaceCapabilitiesKHR# :: Addr# -> ByteArray# -> VkSurfaceCapabilitiesKHR -- |
--   typedef struct VkSurfaceFormat2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkSurfaceFormatKHR surfaceFormat;
--   } VkSurfaceFormat2KHR;
--   
-- -- VkSurfaceFormat2KHR registry at www.khronos.org data VkSurfaceFormat2KHR VkSurfaceFormat2KHR# :: Addr# -> ByteArray# -> VkSurfaceFormat2KHR -- |
--   typedef struct VkSurfaceFormatKHR {
--       VkFormat                         format;
--       VkColorSpaceKHR                  colorSpace;
--   } VkSurfaceFormatKHR;
--   
-- -- VkSurfaceFormatKHR registry at www.khronos.org data VkSurfaceFormatKHR VkSurfaceFormatKHR# :: Addr# -> ByteArray# -> VkSurfaceFormatKHR newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit -- | bitpos = 0 newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 -- | bitpos = 7 -- | bitpos = 8 type VkGetPhysicalDeviceSurfaceCapabilities2EXT = "vkGetPhysicalDeviceSurfaceCapabilities2EXT" -- | 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 -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION = 1 type VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME = "VK_EXT_display_surface_counter" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfaceCapabilities2EXT" module Graphics.Vulkan.Ext.VK_EXT_direct_mode_display type VkReleaseDisplayEXT = "vkReleaseDisplayEXT" -- | 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 -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION = 1 type VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME = "VK_EXT_direct_mode_display" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkReleaseDisplayEXT" module Graphics.Vulkan.Ext.VK_EXT_depth_range_unrestricted type VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION = 1 type VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME = "VK_EXT_depth_range_unrestricted" 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 data VkApplicationInfo VkApplicationInfo# :: Addr# -> ByteArray# -> VkApplicationInfo newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 data VkDebugUtilsLabelEXT VkDebugUtilsLabelEXT# :: Addr# -> ByteArray# -> VkDebugUtilsLabelEXT newtype VkDebugReportBitmaskEXT (a :: FlagType) VkDebugReportBitmaskEXT :: VkFlags -> VkDebugReportBitmaskEXT type VkDebugReportFlagsEXT = VkDebugReportBitmaskEXT FlagMask type VkDebugReportFlagBitsEXT = VkDebugReportBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | type = enum -- -- VkDebugReportObjectTypeEXT registry at www.khronos.org newtype VkDebugReportObjectTypeEXT VkDebugReportObjectTypeEXT :: Int32 -> VkDebugReportObjectTypeEXT newtype VkDebugUtilsMessageSeverityBitmaskEXT (a :: FlagType) VkDebugUtilsMessageSeverityBitmaskEXT :: VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT type VkDebugUtilsMessageSeverityFlagsEXT = VkDebugUtilsMessageSeverityBitmaskEXT FlagMask type VkDebugUtilsMessageSeverityFlagBitsEXT = VkDebugUtilsMessageSeverityBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 4 -- | bitpos = 8 -- | bitpos = 12 newtype VkDebugUtilsMessageTypeBitmaskEXT (a :: FlagType) VkDebugUtilsMessageTypeBitmaskEXT :: VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT type VkDebugUtilsMessageTypeFlagsEXT = VkDebugUtilsMessageTypeBitmaskEXT FlagMask type VkDebugUtilsMessageTypeFlagBitsEXT = VkDebugUtilsMessageTypeBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- |
--   typedef struct VkDebugUtilsMessengerCallbackDataEXT {
--       VkStructureType sType;
--       const void*                                                        pNext;
--       VkDebugUtilsMessengerCallbackDataFlagsEXT                          flags;
--       const char*                                  pMessageIdName;
--       int32_t                                                            messageIdNumber;
--       const char*                                                  pMessage;
--       uint32_t                                                           queueLabelCount;
--       VkDebugUtilsLabelEXT*  pQueueLabels;
--       uint32_t                                                           cmdBufLabelCount;
--       VkDebugUtilsLabelEXT* pCmdBufLabels;
--       uint32_t                                                                           objectCount;
--       VkDebugUtilsObjectNameInfoEXT*             pObjects;
--   } VkDebugUtilsMessengerCallbackDataEXT;
--   
-- -- VkDebugUtilsMessengerCallbackDataEXT registry at -- www.khronos.org data VkDebugUtilsMessengerCallbackDataEXT VkDebugUtilsMessengerCallbackDataEXT# :: Addr# -> ByteArray# -> VkDebugUtilsMessengerCallbackDataEXT newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 data VkDebugUtilsMessengerCreateInfoEXT VkDebugUtilsMessengerCreateInfoEXT# :: Addr# -> ByteArray# -> VkDebugUtilsMessengerCreateInfoEXT -- |
--   typedef struct VkDebugUtilsObjectNameInfoEXT {
--       VkStructureType sType;
--       const void*                                            pNext;
--       VkObjectType                                           objectType;
--       uint64_t                                               objectHandle;
--       const char*      pObjectName;
--   } VkDebugUtilsObjectNameInfoEXT;
--   
-- -- VkDebugUtilsObjectNameInfoEXT registry at www.khronos.org data VkDebugUtilsObjectNameInfoEXT VkDebugUtilsObjectNameInfoEXT# :: Addr# -> ByteArray# -> VkDebugUtilsObjectNameInfoEXT -- |
--   typedef struct VkDebugMarkerMarkerInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       const char* pMarkerName;
--       float            color[4];
--   } VkDebugMarkerMarkerInfoEXT;
--   
-- -- VkDebugMarkerMarkerInfoEXT registry at www.khronos.org data VkDebugMarkerMarkerInfoEXT VkDebugMarkerMarkerInfoEXT# :: Addr# -> ByteArray# -> VkDebugMarkerMarkerInfoEXT -- |
--   typedef struct VkDebugMarkerObjectNameInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportObjectTypeEXT       objectType;
--       uint64_t                         object;
--       const char* pObjectName;
--   } VkDebugMarkerObjectNameInfoEXT;
--   
-- -- VkDebugMarkerObjectNameInfoEXT registry at www.khronos.org data VkDebugMarkerObjectNameInfoEXT VkDebugMarkerObjectNameInfoEXT# :: Addr# -> ByteArray# -> 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 data VkDebugMarkerObjectTagInfoEXT VkDebugMarkerObjectTagInfoEXT# :: Addr# -> ByteArray# -> VkDebugMarkerObjectTagInfoEXT -- |
--   typedef struct VkDebugReportCallbackCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportFlagsEXT            flags;
--       PFN_vkDebugReportCallbackEXT     pfnCallback;
--       void*            pUserData;
--   } VkDebugReportCallbackCreateInfoEXT;
--   
-- -- VkDebugReportCallbackCreateInfoEXT registry at www.khronos.org data VkDebugReportCallbackCreateInfoEXT VkDebugReportCallbackCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkDebugUtilsObjectTagInfoEXT VkDebugUtilsObjectTagInfoEXT# :: Addr# -> ByteArray# -> 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 data VkInstanceCreateInfo VkInstanceCreateInfo# :: Addr# -> ByteArray# -> VkInstanceCreateInfo -- | type = enum -- -- VkObjectEntryTypeNVX registry at www.khronos.org newtype VkObjectEntryTypeNVX VkObjectEntryTypeNVX :: Int32 -> VkObjectEntryTypeNVX newtype VkObjectEntryUsageBitmaskNVX (a :: FlagType) VkObjectEntryUsageBitmaskNVX :: VkFlags -> VkObjectEntryUsageBitmaskNVX type VkObjectEntryUsageFlagsNVX = VkObjectEntryUsageBitmaskNVX FlagMask type VkObjectEntryUsageFlagBitsNVX = VkObjectEntryUsageBitmaskNVX FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | Enums to track objects of various types -- -- type = enum -- -- VkObjectType registry at www.khronos.org newtype VkObjectType VkObjectType :: Int32 -> VkObjectType -- | VkInstance -- | VkPhysicalDevice -- | VkDevice -- | VkQueue -- | VkSemaphore -- | VkCommandBuffer -- | VkFence -- | VkDeviceMemory -- | VkBuffer -- | VkImage -- | VkEvent -- | VkQueryPool -- | VkBufferView -- | VkImageView -- | VkShaderModule -- | VkPipelineCache -- | VkPipelineLayout -- | VkRenderPass -- | VkPipeline -- | VkDescriptorSetLayout -- | VkSampler -- | VkDescriptorPool -- | VkDescriptorSet -- | VkFramebuffer -- | VkCommandPool -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VkSetDebugUtilsObjectNameEXT = "vkSetDebugUtilsObjectNameEXT" -- | 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" -- | 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" -- |
--   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" -- |
--   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" -- |
--   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" -- | 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" -- | 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" -- | 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" -- | 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" -- |
--   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" -- |
--   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 -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope -- |
--   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                  messageType,
--       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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   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 data VkAllocationCallbacks VkAllocationCallbacks# :: Addr# -> ByteArray# -> VkAllocationCallbacks type VK_EXT_DEBUG_UTILS_SPEC_VERSION = 1 type VK_EXT_DEBUG_UTILS_EXTENSION_NAME = "VK_EXT_debug_utils" -- | VkDebugUtilsMessengerEXT instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSetDebugUtilsObjectNameEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSetDebugUtilsObjectTagEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueueBeginDebugUtilsLabelEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueueEndDebugUtilsLabelEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueueInsertDebugUtilsLabelEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBeginDebugUtilsLabelEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdEndDebugUtilsLabelEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdInsertDebugUtilsLabelEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDebugUtilsMessengerEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDebugUtilsMessengerEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSubmitDebugUtilsMessageEXT" 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 data VkApplicationInfo VkApplicationInfo# :: Addr# -> ByteArray# -> VkApplicationInfo newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkDebugMarkerMarkerInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       const char* pMarkerName;
--       float            color[4];
--   } VkDebugMarkerMarkerInfoEXT;
--   
-- -- VkDebugMarkerMarkerInfoEXT registry at www.khronos.org data VkDebugMarkerMarkerInfoEXT VkDebugMarkerMarkerInfoEXT# :: Addr# -> ByteArray# -> VkDebugMarkerMarkerInfoEXT -- |
--   typedef struct VkDebugMarkerObjectNameInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportObjectTypeEXT       objectType;
--       uint64_t                         object;
--       const char* pObjectName;
--   } VkDebugMarkerObjectNameInfoEXT;
--   
-- -- VkDebugMarkerObjectNameInfoEXT registry at www.khronos.org data VkDebugMarkerObjectNameInfoEXT VkDebugMarkerObjectNameInfoEXT# :: Addr# -> ByteArray# -> 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 data VkDebugMarkerObjectTagInfoEXT VkDebugMarkerObjectTagInfoEXT# :: Addr# -> ByteArray# -> VkDebugMarkerObjectTagInfoEXT -- |
--   typedef struct VkDebugReportCallbackCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportFlagsEXT            flags;
--       PFN_vkDebugReportCallbackEXT     pfnCallback;
--       void*            pUserData;
--   } VkDebugReportCallbackCreateInfoEXT;
--   
-- -- VkDebugReportCallbackCreateInfoEXT registry at www.khronos.org data VkDebugReportCallbackCreateInfoEXT VkDebugReportCallbackCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkDebugUtilsObjectTagInfoEXT VkDebugUtilsObjectTagInfoEXT# :: Addr# -> ByteArray# -> VkDebugUtilsObjectTagInfoEXT newtype VkDebugReportBitmaskEXT (a :: FlagType) VkDebugReportBitmaskEXT :: VkFlags -> VkDebugReportBitmaskEXT type VkDebugReportFlagsEXT = VkDebugReportBitmaskEXT FlagMask type VkDebugReportFlagBitsEXT = VkDebugReportBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | type = enum -- -- VkDebugReportObjectTypeEXT registry at www.khronos.org newtype VkDebugReportObjectTypeEXT VkDebugReportObjectTypeEXT :: Int32 -> VkDebugReportObjectTypeEXT newtype VkDebugUtilsMessageSeverityBitmaskEXT (a :: FlagType) VkDebugUtilsMessageSeverityBitmaskEXT :: VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT type VkDebugUtilsMessageSeverityFlagsEXT = VkDebugUtilsMessageSeverityBitmaskEXT FlagMask type VkDebugUtilsMessageSeverityFlagBitsEXT = VkDebugUtilsMessageSeverityBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 4 -- | bitpos = 8 -- | bitpos = 12 newtype VkDebugUtilsMessageTypeBitmaskEXT (a :: FlagType) VkDebugUtilsMessageTypeBitmaskEXT :: VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT type VkDebugUtilsMessageTypeFlagsEXT = VkDebugUtilsMessageTypeBitmaskEXT FlagMask type VkDebugUtilsMessageTypeFlagBitsEXT = VkDebugUtilsMessageTypeBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 data VkInstanceCreateInfo VkInstanceCreateInfo# :: Addr# -> ByteArray# -> VkInstanceCreateInfo -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VkCreateDebugReportCallbackEXT = "vkCreateDebugReportCallbackEXT" -- | 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" -- |
--   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" -- |
--   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 -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope -- |
--   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                  messageType,
--       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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   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 data VkAllocationCallbacks VkAllocationCallbacks# :: Addr# -> ByteArray# -> VkAllocationCallbacks type VK_EXT_DEBUG_REPORT_SPEC_VERSION = 9 type VK_EXT_DEBUG_REPORT_EXTENSION_NAME = "VK_EXT_debug_report" -- | VkDebugReportCallbackEXT instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDebugReportCallbackEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDebugReportCallbackEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDebugReportMessageEXT" 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 data VkDebugMarkerMarkerInfoEXT VkDebugMarkerMarkerInfoEXT# :: Addr# -> ByteArray# -> VkDebugMarkerMarkerInfoEXT -- |
--   typedef struct VkDebugMarkerObjectNameInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportObjectTypeEXT       objectType;
--       uint64_t                         object;
--       const char* pObjectName;
--   } VkDebugMarkerObjectNameInfoEXT;
--   
-- -- VkDebugMarkerObjectNameInfoEXT registry at www.khronos.org data VkDebugMarkerObjectNameInfoEXT VkDebugMarkerObjectNameInfoEXT# :: Addr# -> ByteArray# -> 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 data VkDebugMarkerObjectTagInfoEXT VkDebugMarkerObjectTagInfoEXT# :: Addr# -> ByteArray# -> VkDebugMarkerObjectTagInfoEXT -- |
--   typedef struct VkDebugReportCallbackCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDebugReportFlagsEXT            flags;
--       PFN_vkDebugReportCallbackEXT     pfnCallback;
--       void*            pUserData;
--   } VkDebugReportCallbackCreateInfoEXT;
--   
-- -- VkDebugReportCallbackCreateInfoEXT registry at www.khronos.org data VkDebugReportCallbackCreateInfoEXT VkDebugReportCallbackCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkDebugUtilsObjectTagInfoEXT VkDebugUtilsObjectTagInfoEXT# :: Addr# -> ByteArray# -> VkDebugUtilsObjectTagInfoEXT newtype VkDebugReportBitmaskEXT (a :: FlagType) VkDebugReportBitmaskEXT :: VkFlags -> VkDebugReportBitmaskEXT type VkDebugReportFlagsEXT = VkDebugReportBitmaskEXT FlagMask type VkDebugReportFlagBitsEXT = VkDebugReportBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | type = enum -- -- VkDebugReportObjectTypeEXT registry at www.khronos.org newtype VkDebugReportObjectTypeEXT VkDebugReportObjectTypeEXT :: Int32 -> VkDebugReportObjectTypeEXT newtype VkDebugUtilsMessageSeverityBitmaskEXT (a :: FlagType) VkDebugUtilsMessageSeverityBitmaskEXT :: VkFlags -> VkDebugUtilsMessageSeverityBitmaskEXT type VkDebugUtilsMessageSeverityFlagsEXT = VkDebugUtilsMessageSeverityBitmaskEXT FlagMask type VkDebugUtilsMessageSeverityFlagBitsEXT = VkDebugUtilsMessageSeverityBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 4 -- | bitpos = 8 -- | bitpos = 12 newtype VkDebugUtilsMessageTypeBitmaskEXT (a :: FlagType) VkDebugUtilsMessageTypeBitmaskEXT :: VkFlags -> VkDebugUtilsMessageTypeBitmaskEXT type VkDebugUtilsMessageTypeFlagsEXT = VkDebugUtilsMessageTypeBitmaskEXT FlagMask type VkDebugUtilsMessageTypeFlagBitsEXT = VkDebugUtilsMessageTypeBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VkDebugMarkerSetObjectTagEXT = "vkDebugMarkerSetObjectTagEXT" -- | 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" -- | 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" -- | 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" -- | 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" -- | 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 -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_EXT_DEBUG_MARKER_SPEC_VERSION = 4 type VK_EXT_DEBUG_MARKER_EXTENSION_NAME = "VK_EXT_debug_marker" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDebugMarkerSetObjectTagEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDebugMarkerSetObjectNameEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDebugMarkerBeginEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDebugMarkerEndEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDebugMarkerInsertEXT" module Graphics.Vulkan.Ext.VK_AMD_texture_gather_bias_lod newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> VkImageViewUsageCreateInfo -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- |
--   typedef struct VkTextureLODGatherFormatPropertiesAMD {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         supportsTextureGatherLODBiasAMD;
--   } VkTextureLODGatherFormatPropertiesAMD;
--   
-- -- VkTextureLODGatherFormatPropertiesAMD registry at -- www.khronos.org data VkTextureLODGatherFormatPropertiesAMD VkTextureLODGatherFormatPropertiesAMD# :: Addr# -> ByteArray# -> VkTextureLODGatherFormatPropertiesAMD type VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION = 1 type VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME = "VK_AMD_texture_gather_bias_lod" module Graphics.Vulkan.Ext.VK_AMD_shader_trinary_minmax type VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION = 1 type VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME = "VK_AMD_shader_trinary_minmax" module Graphics.Vulkan.Ext.VK_AMD_shader_info newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask type VkShaderStageFlags = VkShaderStageBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- |
--   typedef struct VkShaderModuleCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkShaderModuleCreateFlags flags;
--       size_t                 codeSize;
--       const uint32_t*            pCode;
--   } VkShaderModuleCreateInfo;
--   
-- -- VkShaderModuleCreateInfo registry at www.khronos.org data VkShaderModuleCreateInfo VkShaderModuleCreateInfo# :: Addr# -> ByteArray# -> VkShaderModuleCreateInfo -- |
--   typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkValidationCacheEXT    validationCache;
--   } VkShaderModuleValidationCacheCreateInfoEXT;
--   
-- -- VkShaderModuleValidationCacheCreateInfoEXT registry at -- www.khronos.org data VkShaderModuleValidationCacheCreateInfoEXT VkShaderModuleValidationCacheCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkShaderResourceUsageAMD VkShaderResourceUsageAMD# :: Addr# -> ByteArray# -> 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 data VkShaderStatisticsInfoAMD VkShaderStatisticsInfoAMD# :: Addr# -> ByteArray# -> VkShaderStatisticsInfoAMD type VkGetShaderInfoAMD = "vkGetShaderInfoAMD" -- | 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 -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_AMD_SHADER_INFO_SPEC_VERSION = 1 type VK_AMD_SHADER_INFO_EXTENSION_NAME = "VK_AMD_shader_info" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetShaderInfoAMD" module Graphics.Vulkan.Ext.VK_AMD_shader_image_load_store_lod type VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION = 1 type VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME = "VK_AMD_shader_image_load_store_lod" module Graphics.Vulkan.Ext.VK_AMD_shader_fragment_mask type VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION = 1 type VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME = "VK_AMD_shader_fragment_mask" module Graphics.Vulkan.Ext.VK_AMD_shader_explicit_vertex_parameter type VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION = 1 type VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME = "VK_AMD_shader_explicit_vertex_parameter" module Graphics.Vulkan.Ext.VK_AMD_shader_ballot type VK_AMD_SHADER_BALLOT_SPEC_VERSION = 1 type VK_AMD_SHADER_BALLOT_EXTENSION_NAME = "VK_AMD_shader_ballot" module Graphics.Vulkan.Ext.VK_AMD_rasterization_order newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask type VkCullModeFlags = VkCullModeBitmask FlagMask type VkCullModeFlagBits = VkCullModeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 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 data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo# :: Addr# -> ByteArray# -> VkGraphicsPipelineCreateInfo -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo# :: Addr# -> ByteArray# -> VkPipelineCacheCreateInfo -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineColorBlendStateCreateInfo -- |
--   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 data VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageModulationStateCreateInfoNV -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org data VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageToColorStateCreateInfoNV -- |
--   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 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT# :: Addr# -> ByteArray# -> VkPipelineDiscardRectangleStateCreateInfoEXT -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineDynamicStateCreateInfo -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineMultisampleStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org data VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateRasterizationOrderAMD -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo# :: Addr# -> ByteArray# -> VkPipelineShaderStageCreateInfo -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org data VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineTessellationStateCreateInfo -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode -- | type = enum -- -- VkRasterizationOrderAMD registry at www.khronos.org newtype VkRasterizationOrderAMD VkRasterizationOrderAMD :: Int32 -> VkRasterizationOrderAMD -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION = 1 type VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME = "VK_AMD_rasterization_order" module Graphics.Vulkan.Ext.VK_AMD_negative_viewport_height type VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION = 1 type VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME = "VK_AMD_negative_viewport_height" module Graphics.Vulkan.Ext.VK_AMD_mixed_attachment_samples type VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION = 1 type VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME = "VK_AMD_mixed_attachment_samples" module Graphics.Vulkan.Ext.VK_AMD_gpu_shader_int16 type VK_AMD_GPU_SHADER_INT16_SPEC_VERSION = 1 type VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME = "VK_AMD_gpu_shader_int16" module Graphics.Vulkan.Ext.VK_AMD_gpu_shader_half_float type VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION = 1 type VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME = "VK_AMD_gpu_shader_half_float" module Graphics.Vulkan.Ext.VK_AMD_gcn_shader type VK_AMD_GCN_SHADER_SPEC_VERSION = 1 type VK_AMD_GCN_SHADER_EXTENSION_NAME = "VK_AMD_gcn_shader" module Graphics.Vulkan.Ext.VK_AMD_draw_indirect_count type VkCmdDrawIndirectCountAMD = "vkCmdDrawIndirectCountAMD" -- | 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" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION = 1 type VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME = "VK_AMD_draw_indirect_count" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndirectCountAMD" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndexedIndirectCountAMD" module Graphics.Vulkan.Ext.VK_AMD_buffer_marker type VkCmdWriteBufferMarkerAMD = "vkCmdWriteBufferMarkerAMD" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 newtype VkPipelineCacheCreateFlagBits VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateFlagBits -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion newtype VkPipelineColorBlendStateCreateFlagBits VkPipelineColorBlendStateCreateFlagBits :: VkFlags -> VkPipelineColorBlendStateCreateFlagBits newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkPipelineDepthStencilStateCreateFlagBits VkPipelineDepthStencilStateCreateFlagBits :: VkFlags -> VkPipelineDepthStencilStateCreateFlagBits newtype VkPipelineDynamicStateCreateFlagBits VkPipelineDynamicStateCreateFlagBits :: VkFlags -> VkPipelineDynamicStateCreateFlagBits newtype VkPipelineInputAssemblyStateCreateFlagBits VkPipelineInputAssemblyStateCreateFlagBits :: VkFlags -> VkPipelineInputAssemblyStateCreateFlagBits newtype VkPipelineLayoutCreateFlagBits VkPipelineLayoutCreateFlagBits :: VkFlags -> VkPipelineLayoutCreateFlagBits newtype VkPipelineMultisampleStateCreateFlagBits VkPipelineMultisampleStateCreateFlagBits :: VkFlags -> VkPipelineMultisampleStateCreateFlagBits newtype VkPipelineRasterizationStateCreateFlagBits VkPipelineRasterizationStateCreateFlagBits :: VkFlags -> VkPipelineRasterizationStateCreateFlagBits newtype VkPipelineShaderStageCreateFlagBits VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateFlagBits newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit -- | Before subsequent commands are processed -- -- bitpos = 0 -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 -- | Vertex/index fetch -- -- bitpos = 2 -- | Vertex shading -- -- bitpos = 3 -- | Tessellation control shading -- -- bitpos = 4 -- | Tessellation evaluation shading -- -- bitpos = 5 -- | Geometry shading -- -- bitpos = 6 -- | Fragment shading -- -- bitpos = 7 -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 -- | Color attachment writes -- -- bitpos = 10 -- | Compute shading -- -- bitpos = 11 -- | Transfer/copy operations -- -- bitpos = 12 -- | After previous commands have completed -- -- bitpos = 13 -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 -- | All stages of the graphics pipeline -- -- bitpos = 15 -- | All stages supported on the queue -- -- bitpos = 16 newtype VkPipelineTessellationStateCreateFlagBits VkPipelineTessellationStateCreateFlagBits :: VkFlags -> VkPipelineTessellationStateCreateFlagBits newtype VkPipelineVertexInputStateCreateFlagBits VkPipelineVertexInputStateCreateFlagBits :: VkFlags -> VkPipelineVertexInputStateCreateFlagBits newtype VkPipelineViewportStateCreateFlagBits VkPipelineViewportStateCreateFlagBits :: VkFlags -> VkPipelineViewportStateCreateFlagBits 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_AMD_BUFFER_MARKER_SPEC_VERSION = 1 type VK_AMD_BUFFER_MARKER_EXTENSION_NAME = "VK_AMD_buffer_marker" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdWriteBufferMarkerAMD" module Graphics.Vulkan.Constants type VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = 256 type VK_UUID_SIZE = 16 type VK_LUID_SIZE = 8 type VK_MAX_EXTENSION_NAME_SIZE = 256 type VK_MAX_DESCRIPTION_SIZE = 256 type VK_MAX_MEMORY_TYPES = 32 type VK_MAX_MEMORY_HEAPS = 16 -- | The maximum number of unique memory heaps, each of which supporting 1 -- or more memory types type VK_REMAINING_MIP_LEVELS = 4294967295 type VK_REMAINING_ARRAY_LAYERS = 4294967295 type VK_WHOLE_SIZE = 18446744073709551615 type VK_ATTACHMENT_UNUSED = 4294967295 type VK_TRUE = 1 type VK_FALSE = 0 type VK_QUEUE_FAMILY_IGNORED = 4294967295 type VK_QUEUE_FAMILY_EXTERNAL = 4294967294 type VK_QUEUE_FAMILY_FOREIGN_EXT = 4294967293 type VK_SUBPASS_EXTERNAL = 4294967295 type VK_MAX_DEVICE_GROUP_SIZE = 32 module Graphics.Vulkan.Ext.VK_EXT_queue_family_foreign type VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION = 1 type VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME = "VK_EXT_queue_family_foreign" module Graphics.Vulkan.Ext.VK_EXT_display_control newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask type VkColorComponentFlags = VkColorComponentBitmask FlagMask type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- |
--   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 data VkDeviceCreateInfo VkDeviceCreateInfo# :: Addr# -> ByteArray# -> VkDeviceCreateInfo -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org data VkDeviceEventInfoEXT VkDeviceEventInfoEXT# :: Addr# -> ByteArray# -> VkDeviceEventInfoEXT -- |
--   typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         computeBindingPointSupport;
--   } VkDeviceGeneratedCommandsFeaturesNVX;
--   
-- -- VkDeviceGeneratedCommandsFeaturesNVX registry at -- www.khronos.org data VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsFeaturesNVX -- |
--   typedef struct VkDeviceGeneratedCommandsLimitsNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         maxIndirectCommandsLayoutTokenCount;
--       uint32_t                         maxObjectEntryCounts;
--       uint32_t                         minSequenceCountBufferOffsetAlignment;
--       uint32_t                         minSequenceIndexBufferOffsetAlignment;
--       uint32_t                         minCommandsTokenBufferOffsetAlignment;
--   } VkDeviceGeneratedCommandsLimitsNVX;
--   
-- -- VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org data VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsLimitsNVX -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org data VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo# :: Addr# -> ByteArray# -> VkDeviceGroupSubmitInfo -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org data VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkDeviceGroupSwapchainCreateInfoKHR -- |
--   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 data VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo# :: Addr# -> ByteArray# -> VkDeviceQueueCreateInfo -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org data VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT# :: Addr# -> ByteArray# -> VkDeviceQueueGlobalPriorityCreateInfoEXT -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org data VkDeviceQueueInfo2 VkDeviceQueueInfo2# :: Addr# -> ByteArray# -> VkDeviceQueueInfo2 newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit -- | Present from local memory -- -- bitpos = 0 -- | Present from remote memory -- -- bitpos = 1 -- | Present sum of local and/or remote memory -- -- bitpos = 2 -- | Each physical device presents from local memory -- -- bitpos = 3 newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit -- |
--   typedef struct VkDisplayEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayEventTypeEXT            displayEvent;
--   } VkDisplayEventInfoEXT;
--   
-- -- VkDisplayEventInfoEXT registry at www.khronos.org data VkDisplayEventInfoEXT VkDisplayEventInfoEXT# :: Addr# -> ByteArray# -> VkDisplayEventInfoEXT -- |
--   typedef struct VkDisplayModeCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayModeCreateFlagsKHR      flags;
--       VkDisplayModeParametersKHR       parameters;
--   } VkDisplayModeCreateInfoKHR;
--   
-- -- VkDisplayModeCreateInfoKHR registry at www.khronos.org data VkDisplayModeCreateInfoKHR VkDisplayModeCreateInfoKHR# :: Addr# -> ByteArray# -> VkDisplayModeCreateInfoKHR -- |
--   typedef struct VkDisplayModeParametersKHR {
--       VkExtent2D                       visibleRegion;
--       uint32_t                         refreshRate;
--   } VkDisplayModeParametersKHR;
--   
-- -- VkDisplayModeParametersKHR registry at www.khronos.org data VkDisplayModeParametersKHR VkDisplayModeParametersKHR# :: Addr# -> ByteArray# -> VkDisplayModeParametersKHR -- |
--   typedef struct VkDisplayModePropertiesKHR {
--       VkDisplayModeKHR                 displayMode;
--       VkDisplayModeParametersKHR       parameters;
--   } VkDisplayModePropertiesKHR;
--   
-- -- VkDisplayModePropertiesKHR registry at www.khronos.org data VkDisplayModePropertiesKHR VkDisplayModePropertiesKHR# :: Addr# -> ByteArray# -> VkDisplayModePropertiesKHR -- |
--   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 data VkDisplayPlaneCapabilitiesKHR VkDisplayPlaneCapabilitiesKHR# :: Addr# -> ByteArray# -> VkDisplayPlaneCapabilitiesKHR -- |
--   typedef struct VkDisplayPlanePropertiesKHR {
--       VkDisplayKHR                     currentDisplay;
--       uint32_t                         currentStackIndex;
--   } VkDisplayPlanePropertiesKHR;
--   
-- -- VkDisplayPlanePropertiesKHR registry at www.khronos.org data VkDisplayPlanePropertiesKHR VkDisplayPlanePropertiesKHR# :: Addr# -> ByteArray# -> VkDisplayPlanePropertiesKHR -- |
--   typedef struct VkDisplayPowerInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDisplayPowerStateEXT           powerState;
--   } VkDisplayPowerInfoEXT;
--   
-- -- VkDisplayPowerInfoEXT registry at www.khronos.org data VkDisplayPowerInfoEXT VkDisplayPowerInfoEXT# :: Addr# -> ByteArray# -> VkDisplayPowerInfoEXT -- |
--   typedef struct VkDisplayPresentInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRect2D                         srcRect;
--       VkRect2D                         dstRect;
--       VkBool32                         persistent;
--   } VkDisplayPresentInfoKHR;
--   
-- -- VkDisplayPresentInfoKHR registry at www.khronos.org data VkDisplayPresentInfoKHR VkDisplayPresentInfoKHR# :: Addr# -> ByteArray# -> VkDisplayPresentInfoKHR -- |
--   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 data VkDisplayPropertiesKHR VkDisplayPropertiesKHR# :: Addr# -> ByteArray# -> 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 data VkDisplaySurfaceCreateInfoKHR VkDisplaySurfaceCreateInfoKHR# :: Addr# -> ByteArray# -> VkDisplaySurfaceCreateInfoKHR -- | type = enum -- -- VkDisplayEventTypeEXT registry at www.khronos.org newtype VkDisplayEventTypeEXT VkDisplayEventTypeEXT :: Int32 -> VkDisplayEventTypeEXT newtype VkDisplayPlaneAlphaBitmaskKHR (a :: FlagType) VkDisplayPlaneAlphaBitmaskKHR :: VkFlags -> VkDisplayPlaneAlphaBitmaskKHR type VkDisplayPlaneAlphaFlagsKHR = VkDisplayPlaneAlphaBitmaskKHR FlagMask type VkDisplayPlaneAlphaFlagBitsKHR = VkDisplayPlaneAlphaBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | type = enum -- -- VkDisplayPowerStateEXT registry at www.khronos.org newtype VkDisplayPowerStateEXT VkDisplayPowerStateEXT :: Int32 -> VkDisplayPowerStateEXT -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- | type = enum -- -- VkPresentModeKHR registry at www.khronos.org newtype VkPresentModeKHR VkPresentModeKHR :: Int32 -> VkPresentModeKHR -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit -- | bitpos = 0 newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 -- | bitpos = 7 -- | bitpos = 8 -- |
--   typedef struct VkSwapchainCounterCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSurfaceCounterFlagsEXT         surfaceCounters;
--   } VkSwapchainCounterCreateInfoEXT;
--   
-- -- VkSwapchainCounterCreateInfoEXT registry at www.khronos.org data VkSwapchainCounterCreateInfoEXT VkSwapchainCounterCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkSwapchainCreateInfoKHR VkSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkSwapchainCreateInfoKHR newtype VkSwapchainCreateBitmaskKHR (a :: FlagType) VkSwapchainCreateBitmaskKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR type VkSwapchainCreateFlagsKHR = VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainCreateFlagBitsKHR = VkSwapchainCreateBitmaskKHR FlagBit type VkDisplayPowerControlEXT = "vkDisplayPowerControlEXT" -- | Success codes: VK_SUCCESS. -- --
--   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" -- | Success codes: VK_SUCCESS. -- --
--   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" -- | Success codes: VK_SUCCESS. -- --
--   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" -- | Success codes: VK_SUCCESS. -- -- Error codes: 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 -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope -- |
--   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                  messageType,
--       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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   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 data VkAllocationCallbacks VkAllocationCallbacks# :: Addr# -> ByteArray# -> VkAllocationCallbacks type VK_EXT_DISPLAY_CONTROL_SPEC_VERSION = 1 type VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME = "VK_EXT_display_control" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDisplayPowerControlEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkRegisterDeviceEventEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkRegisterDisplayEventEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetSwapchainCounterEXT" module Graphics.Vulkan.Ext.VK_EXT_global_priority newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit -- | Present from local memory -- -- bitpos = 0 -- | Present from remote memory -- -- bitpos = 1 -- | Present sum of local and/or remote memory -- -- bitpos = 2 -- | Each physical device presents from local memory -- -- bitpos = 3 newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit -- |
--   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 data VkDeviceCreateInfo VkDeviceCreateInfo# :: Addr# -> ByteArray# -> VkDeviceCreateInfo -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org data VkDeviceEventInfoEXT VkDeviceEventInfoEXT# :: Addr# -> ByteArray# -> VkDeviceEventInfoEXT -- |
--   typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         computeBindingPointSupport;
--   } VkDeviceGeneratedCommandsFeaturesNVX;
--   
-- -- VkDeviceGeneratedCommandsFeaturesNVX registry at -- www.khronos.org data VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsFeaturesNVX -- |
--   typedef struct VkDeviceGeneratedCommandsLimitsNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         maxIndirectCommandsLayoutTokenCount;
--       uint32_t                         maxObjectEntryCounts;
--       uint32_t                         minSequenceCountBufferOffsetAlignment;
--       uint32_t                         minSequenceIndexBufferOffsetAlignment;
--       uint32_t                         minCommandsTokenBufferOffsetAlignment;
--   } VkDeviceGeneratedCommandsLimitsNVX;
--   
-- -- VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org data VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsLimitsNVX -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org data VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo# :: Addr# -> ByteArray# -> VkDeviceGroupSubmitInfo -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org data VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkDeviceGroupSwapchainCreateInfoKHR -- |
--   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 data VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo# :: Addr# -> ByteArray# -> VkDeviceQueueCreateInfo -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org data VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT# :: Addr# -> ByteArray# -> VkDeviceQueueGlobalPriorityCreateInfoEXT -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org data VkDeviceQueueInfo2 VkDeviceQueueInfo2# :: Addr# -> ByteArray# -> VkDeviceQueueInfo2 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkQueueBitmask (a :: FlagType) VkQueueBitmask :: VkFlags -> VkQueueBitmask type VkQueueFlags = VkQueueBitmask FlagMask type VkQueueFlagBits = VkQueueBitmask FlagBit -- | Queue supports graphics operations -- -- bitpos = 0 -- | Queue supports compute operations -- -- bitpos = 1 -- | Queue supports transfer operations -- -- bitpos = 2 -- | Queue supports sparse resource memory management operations -- -- bitpos = 3 -- | type = enum -- -- VkQueueGlobalPriorityEXT registry at www.khronos.org newtype VkQueueGlobalPriorityEXT VkQueueGlobalPriorityEXT :: Int32 -> VkQueueGlobalPriorityEXT -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION = 2 type VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME = "VK_EXT_global_priority" module Graphics.Vulkan.Ext.VK_KHR_swapchain type VkCreateSwapchainKHR = "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. -- --
--   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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateSwapchainKHRSafe :: VkDevice -> Ptr VkSwapchainCreateInfoKHR -> Ptr VkAllocationCallbacks -> Ptr VkSwapchainKHR -> IO VkResult type VkDestroySwapchainKHR = "vkDestroySwapchainKHR" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroySwapchainKHRSafe :: VkDevice -> VkSwapchainKHR -> Ptr VkAllocationCallbacks -> IO () type VkGetSwapchainImagesKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetSwapchainImagesKHRSafe :: VkDevice -> VkSwapchainKHR -> Ptr Word32 -> Ptr VkImage -> IO VkResult type VkAcquireNextImageKHR = "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. -- --
--   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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkAcquireNextImageKHRSafe :: VkDevice -> VkSwapchainKHR -> Word64 -> VkSemaphore -> VkFence -> Ptr Word32 -> IO VkResult type VkQueuePresentKHR = "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. -- --
--   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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkQueuePresentKHRSafe :: VkQueue -> Ptr VkPresentInfoKHR -> IO VkResult newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask type VkColorComponentFlags = VkColorComponentBitmask FlagMask type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType -- | type = enum -- -- VkPresentModeKHR registry at www.khronos.org newtype VkPresentModeKHR VkPresentModeKHR :: Int32 -> VkPresentModeKHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit -- | bitpos = 0 newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 -- | bitpos = 7 -- | bitpos = 8 newtype VkSwapchainCreateBitmaskKHR (a :: FlagType) VkSwapchainCreateBitmaskKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR type VkSwapchainCreateFlagsKHR = VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainCreateFlagBitsKHR = VkSwapchainCreateBitmaskKHR FlagBit -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope -- |
--   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                  messageType,
--       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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   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 data VkAllocationCallbacks VkAllocationCallbacks# :: Addr# -> ByteArray# -> VkAllocationCallbacks -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D -- |
--   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 data VkPresentInfoKHR VkPresentInfoKHR# :: Addr# -> ByteArray# -> VkPresentInfoKHR -- |
--   typedef struct VkPresentRegionKHR {
--       uint32_t         rectangleCount;
--       const VkRectLayerKHR*   pRectangles;
--   } VkPresentRegionKHR;
--   
-- -- VkPresentRegionKHR registry at www.khronos.org data VkPresentRegionKHR VkPresentRegionKHR# :: Addr# -> ByteArray# -> VkPresentRegionKHR -- |
--   typedef struct VkPresentRegionsKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentRegionKHR*   pRegions;
--   } VkPresentRegionsKHR;
--   
-- -- VkPresentRegionsKHR registry at www.khronos.org data VkPresentRegionsKHR VkPresentRegionsKHR# :: Addr# -> ByteArray# -> VkPresentRegionsKHR -- |
--   typedef struct VkPresentTimeGOOGLE {
--       uint32_t                         presentID;
--       uint64_t                         desiredPresentTime;
--   } VkPresentTimeGOOGLE;
--   
-- -- VkPresentTimeGOOGLE registry at www.khronos.org data VkPresentTimeGOOGLE VkPresentTimeGOOGLE# :: Addr# -> ByteArray# -> VkPresentTimeGOOGLE -- |
--   typedef struct VkPresentTimesInfoGOOGLE {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentTimeGOOGLE*   pTimes;
--   } VkPresentTimesInfoGOOGLE;
--   
-- -- VkPresentTimesInfoGOOGLE registry at www.khronos.org data VkPresentTimesInfoGOOGLE VkPresentTimesInfoGOOGLE# :: Addr# -> ByteArray# -> VkPresentTimesInfoGOOGLE -- |
--   typedef struct VkSwapchainCounterCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSurfaceCounterFlagsEXT         surfaceCounters;
--   } VkSwapchainCounterCreateInfoEXT;
--   
-- -- VkSwapchainCounterCreateInfoEXT registry at www.khronos.org data VkSwapchainCounterCreateInfoEXT VkSwapchainCounterCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkSwapchainCreateInfoKHR VkSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkSwapchainCreateInfoKHR type VK_KHR_SWAPCHAIN_SPEC_VERSION = 70 type VK_KHR_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_swapchain" -- | VkSwapchainKHR -- |
--   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 data VkAcquireNextImageInfoKHR VkAcquireNextImageInfoKHR# :: Addr# -> ByteArray# -> VkAcquireNextImageInfoKHR -- |
--   typedef struct VkBindBufferMemoryDeviceGroupInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--   } VkBindBufferMemoryDeviceGroupInfo;
--   
-- -- VkBindBufferMemoryDeviceGroupInfo registry at www.khronos.org data VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfo# :: Addr# -> ByteArray# -> 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 data VkBindBufferMemoryInfo VkBindBufferMemoryInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemoryInfo VkBindImageMemoryInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemorySwapchainInfoKHR VkBindImageMemorySwapchainInfoKHR# :: Addr# -> ByteArray# -> VkBindImageMemorySwapchainInfoKHR -- |
--   typedef struct VkBindImagePlaneMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkBindImagePlaneMemoryInfo;
--   
-- -- VkBindImagePlaneMemoryInfo registry at www.khronos.org data VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfo# :: Addr# -> ByteArray# -> VkBindImagePlaneMemoryInfo -- | Alias for VkBindImagePlaneMemoryInfo type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo -- |
--   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 data VkBindSparseInfo VkBindSparseInfo# :: Addr# -> ByteArray# -> VkBindSparseInfo -- |
--   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 data VkDeviceCreateInfo VkDeviceCreateInfo# :: Addr# -> ByteArray# -> VkDeviceCreateInfo -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org data VkDeviceEventInfoEXT VkDeviceEventInfoEXT# :: Addr# -> ByteArray# -> VkDeviceEventInfoEXT -- |
--   typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         computeBindingPointSupport;
--   } VkDeviceGeneratedCommandsFeaturesNVX;
--   
-- -- VkDeviceGeneratedCommandsFeaturesNVX registry at -- www.khronos.org data VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsFeaturesNVX -- |
--   typedef struct VkDeviceGeneratedCommandsLimitsNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         maxIndirectCommandsLayoutTokenCount;
--       uint32_t                         maxObjectEntryCounts;
--       uint32_t                         minSequenceCountBufferOffsetAlignment;
--       uint32_t                         minSequenceIndexBufferOffsetAlignment;
--       uint32_t                         minCommandsTokenBufferOffsetAlignment;
--   } VkDeviceGeneratedCommandsLimitsNVX;
--   
-- -- VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org data VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsLimitsNVX -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org data VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo# :: Addr# -> ByteArray# -> VkDeviceGroupSubmitInfo -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org data VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkDeviceGroupSwapchainCreateInfoKHR -- |
--   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 data VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo# :: Addr# -> ByteArray# -> VkDeviceQueueCreateInfo -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org data VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT# :: Addr# -> ByteArray# -> VkDeviceQueueGlobalPriorityCreateInfoEXT -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org data VkDeviceQueueInfo2 VkDeviceQueueInfo2# :: Addr# -> ByteArray# -> VkDeviceQueueInfo2 newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit -- | Present from local memory -- -- bitpos = 0 -- | Present from remote memory -- -- bitpos = 1 -- | Present sum of local and/or remote memory -- -- bitpos = 2 -- | Each physical device presents from local memory -- -- bitpos = 3 newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> VkImageViewUsageCreateInfo -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 type VkGetDeviceGroupPresentCapabilitiesKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetDeviceGroupPresentCapabilitiesKHRSafe :: VkDevice -> Ptr VkDeviceGroupPresentCapabilitiesKHR -> IO VkResult type VkGetDeviceGroupSurfacePresentModesKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetDeviceGroupSurfacePresentModesKHRSafe :: VkDevice -> VkSurfaceKHR -> Ptr VkDeviceGroupPresentModeFlagsKHR -> IO VkResult type VkGetPhysicalDevicePresentRectanglesKHR = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDevicePresentRectanglesKHRSafe :: VkPhysicalDevice -> VkSurfaceKHR -> Ptr Word32 -> Ptr VkRect2D -> IO VkResult type VkAcquireNextImage2KHR = "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. -- --
--   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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkAcquireNextImage2KHRSafe :: VkDevice -> Ptr VkAcquireNextImageInfoKHR -> Ptr Word32 -> IO VkResult -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org data VkOffset2D VkOffset2D# :: Addr# -> ByteArray# -> VkOffset2D -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org data VkOffset3D VkOffset3D# :: Addr# -> ByteArray# -> VkOffset3D -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org data VkRect2D VkRect2D# :: Addr# -> ByteArray# -> VkRect2D -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D                       extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org data VkRectLayerKHR VkRectLayerKHR# :: Addr# -> ByteArray# -> VkRectLayerKHR -- | Allow images with VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT -- -- bitpos = 0 -- | Swapchain is protected -- -- bitpos = 1 instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateSwapchainKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroySwapchainKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetSwapchainImagesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkAcquireNextImageKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueuePresentKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceGroupPresentCapabilitiesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceGroupSurfacePresentModesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDevicePresentRectanglesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkAcquireNextImage2KHR" module Graphics.Vulkan.Ext.VK_NVX_device_generated_commands newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkCmdProcessCommandsInfoNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkObjectTableNVX                                         objectTable;
--       VkIndirectCommandsLayoutNVX                              indirectCommandsLayout;
--       uint32_t                                                 indirectCommandsTokenCount;
--       const VkIndirectCommandsTokenNVX*       pIndirectCommandsTokens;
--       uint32_t                                                 maxSequencesCount;
--       VkCommandBuffer                          targetCommandBuffer;
--       VkBuffer                                 sequencesCountBuffer;
--       VkDeviceSize                             sequencesCountOffset;
--       VkBuffer                                 sequencesIndexBuffer;
--       VkDeviceSize                             sequencesIndexOffset;
--   } VkCmdProcessCommandsInfoNVX;
--   
-- -- VkCmdProcessCommandsInfoNVX registry at www.khronos.org data VkCmdProcessCommandsInfoNVX VkCmdProcessCommandsInfoNVX# :: Addr# -> ByteArray# -> VkCmdProcessCommandsInfoNVX -- |
--   typedef struct VkCmdReserveSpaceForCommandsInfoNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkObjectTableNVX                                         objectTable;
--       VkIndirectCommandsLayoutNVX                              indirectCommandsLayout;
--       uint32_t                                                 maxSequencesCount;
--   } VkCmdReserveSpaceForCommandsInfoNVX;
--   
-- -- VkCmdReserveSpaceForCommandsInfoNVX registry at www.khronos.org data VkCmdReserveSpaceForCommandsInfoNVX VkCmdReserveSpaceForCommandsInfoNVX# :: Addr# -> ByteArray# -> VkCmdReserveSpaceForCommandsInfoNVX -- |
--   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 data VkDeviceCreateInfo VkDeviceCreateInfo# :: Addr# -> ByteArray# -> VkDeviceCreateInfo -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org data VkDeviceEventInfoEXT VkDeviceEventInfoEXT# :: Addr# -> ByteArray# -> VkDeviceEventInfoEXT -- |
--   typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         computeBindingPointSupport;
--   } VkDeviceGeneratedCommandsFeaturesNVX;
--   
-- -- VkDeviceGeneratedCommandsFeaturesNVX registry at -- www.khronos.org data VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsFeaturesNVX -- |
--   typedef struct VkDeviceGeneratedCommandsLimitsNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         maxIndirectCommandsLayoutTokenCount;
--       uint32_t                         maxObjectEntryCounts;
--       uint32_t                         minSequenceCountBufferOffsetAlignment;
--       uint32_t                         minSequenceIndexBufferOffsetAlignment;
--       uint32_t                         minCommandsTokenBufferOffsetAlignment;
--   } VkDeviceGeneratedCommandsLimitsNVX;
--   
-- -- VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org data VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsLimitsNVX -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org data VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo# :: Addr# -> ByteArray# -> VkDeviceGroupSubmitInfo -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org data VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkDeviceGroupSwapchainCreateInfoKHR -- |
--   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 data VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo# :: Addr# -> ByteArray# -> VkDeviceQueueCreateInfo -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org data VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT# :: Addr# -> ByteArray# -> VkDeviceQueueGlobalPriorityCreateInfoEXT -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org data VkDeviceQueueInfo2 VkDeviceQueueInfo2# :: Addr# -> ByteArray# -> VkDeviceQueueInfo2 -- | type = enum -- -- VkIndexType registry at www.khronos.org newtype VkIndexType VkIndexType :: Int32 -> VkIndexType -- |
--   typedef struct VkIndirectCommandsLayoutCreateInfoNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkPipelineBindPoint                      pipelineBindPoint;
--       VkIndirectCommandsLayoutUsageFlagsNVX    flags;
--       uint32_t                                 tokenCount;
--       const VkIndirectCommandsLayoutTokenNVX*  pTokens;
--   } VkIndirectCommandsLayoutCreateInfoNVX;
--   
-- -- VkIndirectCommandsLayoutCreateInfoNVX registry at -- www.khronos.org data VkIndirectCommandsLayoutCreateInfoNVX VkIndirectCommandsLayoutCreateInfoNVX# :: Addr# -> ByteArray# -> VkIndirectCommandsLayoutCreateInfoNVX -- |
--   typedef struct VkIndirectCommandsLayoutTokenNVX {
--       VkIndirectCommandsTokenTypeNVX      tokenType;
--       uint32_t                         bindingUnit;
--       uint32_t                         dynamicCount;
--       uint32_t                         divisor;
--   } VkIndirectCommandsLayoutTokenNVX;
--   
-- -- VkIndirectCommandsLayoutTokenNVX registry at www.khronos.org data VkIndirectCommandsLayoutTokenNVX VkIndirectCommandsLayoutTokenNVX# :: Addr# -> ByteArray# -> VkIndirectCommandsLayoutTokenNVX -- |
--   typedef struct VkIndirectCommandsTokenNVX {
--       VkIndirectCommandsTokenTypeNVX      tokenType;
--       VkBuffer                         buffer;
--       VkDeviceSize                     offset;
--   } VkIndirectCommandsTokenNVX;
--   
-- -- VkIndirectCommandsTokenNVX registry at www.khronos.org data VkIndirectCommandsTokenNVX VkIndirectCommandsTokenNVX# :: Addr# -> ByteArray# -> VkIndirectCommandsTokenNVX newtype VkIndirectCommandsLayoutUsageBitmaskNVX (a :: FlagType) VkIndirectCommandsLayoutUsageBitmaskNVX :: VkFlags -> VkIndirectCommandsLayoutUsageBitmaskNVX type VkIndirectCommandsLayoutUsageFlagsNVX = VkIndirectCommandsLayoutUsageBitmaskNVX FlagMask type VkIndirectCommandsLayoutUsageFlagBitsNVX = VkIndirectCommandsLayoutUsageBitmaskNVX FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | type = enum -- -- VkIndirectCommandsTokenTypeNVX registry at www.khronos.org newtype VkIndirectCommandsTokenTypeNVX VkIndirectCommandsTokenTypeNVX :: Int32 -> VkIndirectCommandsTokenTypeNVX -- | type = enum -- -- VkObjectEntryTypeNVX registry at www.khronos.org newtype VkObjectEntryTypeNVX VkObjectEntryTypeNVX :: Int32 -> VkObjectEntryTypeNVX newtype VkObjectEntryUsageBitmaskNVX (a :: FlagType) VkObjectEntryUsageBitmaskNVX :: VkFlags -> VkObjectEntryUsageBitmaskNVX type VkObjectEntryUsageFlagsNVX = VkObjectEntryUsageBitmaskNVX FlagMask type VkObjectEntryUsageFlagBitsNVX = VkObjectEntryUsageBitmaskNVX FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | Enums to track objects of various types -- -- type = enum -- -- VkObjectType registry at www.khronos.org newtype VkObjectType VkObjectType :: Int32 -> VkObjectType -- | VkInstance -- | VkPhysicalDevice -- | VkDevice -- | VkQueue -- | VkSemaphore -- | VkCommandBuffer -- | VkFence -- | VkDeviceMemory -- | VkBuffer -- | VkImage -- | VkEvent -- | VkQueryPool -- | VkBufferView -- | VkImageView -- | VkShaderModule -- | VkPipelineCache -- | VkPipelineLayout -- | VkRenderPass -- | VkPipeline -- | VkDescriptorSetLayout -- | VkSampler -- | VkDescriptorPool -- | VkDescriptorSet -- | VkFramebuffer -- | VkCommandPool -- |
--   typedef struct VkObjectTableCreateInfoNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                                          objectCount;
--       const VkObjectEntryTypeNVX*       pObjectEntryTypes;
--       const uint32_t*                   pObjectEntryCounts;
--       const VkObjectEntryUsageFlagsNVX* pObjectEntryUsageFlags;
--       uint32_t maxUniformBuffersPerDescriptor;
--       uint32_t maxStorageBuffersPerDescriptor;
--       uint32_t maxStorageImagesPerDescriptor;
--       uint32_t maxSampledImagesPerDescriptor;
--       uint32_t maxPipelineLayouts;
--   } VkObjectTableCreateInfoNVX;
--   
-- -- VkObjectTableCreateInfoNVX registry at www.khronos.org data VkObjectTableCreateInfoNVX VkObjectTableCreateInfoNVX# :: Addr# -> ByteArray# -> VkObjectTableCreateInfoNVX -- |
--   typedef struct VkObjectTableDescriptorSetEntryNVX {
--       VkObjectEntryTypeNVX         type;
--       VkObjectEntryUsageFlagsNVX   flags;
--       VkPipelineLayout             pipelineLayout;
--       VkDescriptorSet              descriptorSet;
--   } VkObjectTableDescriptorSetEntryNVX;
--   
-- -- VkObjectTableDescriptorSetEntryNVX registry at www.khronos.org data VkObjectTableDescriptorSetEntryNVX VkObjectTableDescriptorSetEntryNVX# :: Addr# -> ByteArray# -> VkObjectTableDescriptorSetEntryNVX -- |
--   typedef struct VkObjectTableEntryNVX {
--       VkObjectEntryTypeNVX         type;
--       VkObjectEntryUsageFlagsNVX   flags;
--   } VkObjectTableEntryNVX;
--   
-- -- VkObjectTableEntryNVX registry at www.khronos.org data VkObjectTableEntryNVX VkObjectTableEntryNVX# :: Addr# -> ByteArray# -> VkObjectTableEntryNVX -- |
--   typedef struct VkObjectTableIndexBufferEntryNVX {
--       VkObjectEntryTypeNVX         type;
--       VkObjectEntryUsageFlagsNVX   flags;
--       VkBuffer                     buffer;
--       VkIndexType                  indexType;
--   } VkObjectTableIndexBufferEntryNVX;
--   
-- -- VkObjectTableIndexBufferEntryNVX registry at www.khronos.org data VkObjectTableIndexBufferEntryNVX VkObjectTableIndexBufferEntryNVX# :: Addr# -> ByteArray# -> VkObjectTableIndexBufferEntryNVX -- |
--   typedef struct VkObjectTablePipelineEntryNVX {
--       VkObjectEntryTypeNVX         type;
--       VkObjectEntryUsageFlagsNVX   flags;
--       VkPipeline                   pipeline;
--   } VkObjectTablePipelineEntryNVX;
--   
-- -- VkObjectTablePipelineEntryNVX registry at www.khronos.org data VkObjectTablePipelineEntryNVX VkObjectTablePipelineEntryNVX# :: Addr# -> ByteArray# -> VkObjectTablePipelineEntryNVX -- |
--   typedef struct VkObjectTablePushConstantEntryNVX {
--       VkObjectEntryTypeNVX         type;
--       VkObjectEntryUsageFlagsNVX   flags;
--       VkPipelineLayout             pipelineLayout;
--       VkShaderStageFlags           stageFlags;
--   } VkObjectTablePushConstantEntryNVX;
--   
-- -- VkObjectTablePushConstantEntryNVX registry at www.khronos.org data VkObjectTablePushConstantEntryNVX VkObjectTablePushConstantEntryNVX# :: Addr# -> ByteArray# -> VkObjectTablePushConstantEntryNVX -- |
--   typedef struct VkObjectTableVertexBufferEntryNVX {
--       VkObjectEntryTypeNVX         type;
--       VkObjectEntryUsageFlagsNVX   flags;
--       VkBuffer                     buffer;
--   } VkObjectTableVertexBufferEntryNVX;
--   
-- -- VkObjectTableVertexBufferEntryNVX registry at www.khronos.org data VkObjectTableVertexBufferEntryNVX VkObjectTableVertexBufferEntryNVX# :: Addr# -> ByteArray# -> VkObjectTableVertexBufferEntryNVX -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint newtype VkPipelineCacheCreateFlagBits VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateFlagBits -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion newtype VkPipelineColorBlendStateCreateFlagBits VkPipelineColorBlendStateCreateFlagBits :: VkFlags -> VkPipelineColorBlendStateCreateFlagBits newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkPipelineDepthStencilStateCreateFlagBits VkPipelineDepthStencilStateCreateFlagBits :: VkFlags -> VkPipelineDepthStencilStateCreateFlagBits newtype VkPipelineDynamicStateCreateFlagBits VkPipelineDynamicStateCreateFlagBits :: VkFlags -> VkPipelineDynamicStateCreateFlagBits newtype VkPipelineInputAssemblyStateCreateFlagBits VkPipelineInputAssemblyStateCreateFlagBits :: VkFlags -> VkPipelineInputAssemblyStateCreateFlagBits newtype VkPipelineLayoutCreateFlagBits VkPipelineLayoutCreateFlagBits :: VkFlags -> VkPipelineLayoutCreateFlagBits newtype VkPipelineMultisampleStateCreateFlagBits VkPipelineMultisampleStateCreateFlagBits :: VkFlags -> VkPipelineMultisampleStateCreateFlagBits newtype VkPipelineRasterizationStateCreateFlagBits VkPipelineRasterizationStateCreateFlagBits :: VkFlags -> VkPipelineRasterizationStateCreateFlagBits newtype VkPipelineShaderStageCreateFlagBits VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateFlagBits newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit -- | Before subsequent commands are processed -- -- bitpos = 0 -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 -- | Vertex/index fetch -- -- bitpos = 2 -- | Vertex shading -- -- bitpos = 3 -- | Tessellation control shading -- -- bitpos = 4 -- | Tessellation evaluation shading -- -- bitpos = 5 -- | Geometry shading -- -- bitpos = 6 -- | Fragment shading -- -- bitpos = 7 -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 -- | Color attachment writes -- -- bitpos = 10 -- | Compute shading -- -- bitpos = 11 -- | Transfer/copy operations -- -- bitpos = 12 -- | After previous commands have completed -- -- bitpos = 13 -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 -- | All stages of the graphics pipeline -- -- bitpos = 15 -- | All stages supported on the queue -- -- bitpos = 16 newtype VkPipelineTessellationStateCreateFlagBits VkPipelineTessellationStateCreateFlagBits :: VkFlags -> VkPipelineTessellationStateCreateFlagBits newtype VkPipelineVertexInputStateCreateFlagBits VkPipelineVertexInputStateCreateFlagBits :: VkFlags -> VkPipelineVertexInputStateCreateFlagBits newtype VkPipelineViewportStateCreateFlagBits VkPipelineViewportStateCreateFlagBits :: VkFlags -> VkPipelineViewportStateCreateFlagBits -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask type VkShaderStageFlags = VkShaderStageBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VkCmdProcessCommandsNVX = "vkCmdProcessCommandsNVX" -- | Queues: graphics, compute. -- -- Renderpass: inside -- --
--   void vkCmdProcessCommandsNVX
--       ( VkCommandBuffer commandBuffer
--       , const VkCmdProcessCommandsInfoNVX* pProcessCommandsInfo
--       )
--   
-- -- vkCmdProcessCommandsNVX registry at www.khronos.org type HS_vkCmdProcessCommandsNVX = VkCommandBuffer commandBuffer -> Ptr VkCmdProcessCommandsInfoNVX pProcessCommandsInfo -> IO () type PFN_vkCmdProcessCommandsNVX = FunPtr HS_vkCmdProcessCommandsNVX type VkCmdReserveSpaceForCommandsNVX = "vkCmdReserveSpaceForCommandsNVX" -- | Queues: graphics, compute. -- -- Renderpass: inside -- --
--   void vkCmdReserveSpaceForCommandsNVX
--       ( VkCommandBuffer commandBuffer
--       , const VkCmdReserveSpaceForCommandsInfoNVX* pReserveSpaceInfo
--       )
--   
-- -- vkCmdReserveSpaceForCommandsNVX registry at www.khronos.org type HS_vkCmdReserveSpaceForCommandsNVX = VkCommandBuffer commandBuffer -> Ptr VkCmdReserveSpaceForCommandsInfoNVX pReserveSpaceInfo -> IO () type PFN_vkCmdReserveSpaceForCommandsNVX = FunPtr HS_vkCmdReserveSpaceForCommandsNVX type VkCreateIndirectCommandsLayoutNVX = "vkCreateIndirectCommandsLayoutNVX" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateIndirectCommandsLayoutNVX
--       ( VkDevice device
--       , const VkIndirectCommandsLayoutCreateInfoNVX* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkIndirectCommandsLayoutNVX* pIndirectCommandsLayout
--       )
--   
-- -- vkCreateIndirectCommandsLayoutNVX registry at www.khronos.org type HS_vkCreateIndirectCommandsLayoutNVX = VkDevice device -> Ptr VkIndirectCommandsLayoutCreateInfoNVX pCreateInfo -> Ptr VkAllocationCallbacks pAllocator -> Ptr VkIndirectCommandsLayoutNVX pIndirectCommandsLayout -> IO VkResult type PFN_vkCreateIndirectCommandsLayoutNVX = FunPtr HS_vkCreateIndirectCommandsLayoutNVX type VkDestroyIndirectCommandsLayoutNVX = "vkDestroyIndirectCommandsLayoutNVX" -- |
--   void vkDestroyIndirectCommandsLayoutNVX
--       ( VkDevice device
--       , VkIndirectCommandsLayoutNVX indirectCommandsLayout
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyIndirectCommandsLayoutNVX registry at www.khronos.org type HS_vkDestroyIndirectCommandsLayoutNVX = VkDevice device -> VkIndirectCommandsLayoutNVX indirectCommandsLayout -> Ptr VkAllocationCallbacks pAllocator -> IO () type PFN_vkDestroyIndirectCommandsLayoutNVX = FunPtr HS_vkDestroyIndirectCommandsLayoutNVX type VkCreateObjectTableNVX = "vkCreateObjectTableNVX" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkCreateObjectTableNVX
--       ( VkDevice device
--       , const VkObjectTableCreateInfoNVX* pCreateInfo
--       , const VkAllocationCallbacks* pAllocator
--       , VkObjectTableNVX* pObjectTable
--       )
--   
-- -- vkCreateObjectTableNVX registry at www.khronos.org type HS_vkCreateObjectTableNVX = VkDevice device -> Ptr VkObjectTableCreateInfoNVX pCreateInfo -> Ptr VkAllocationCallbacks pAllocator -> Ptr VkObjectTableNVX pObjectTable -> IO VkResult type PFN_vkCreateObjectTableNVX = FunPtr HS_vkCreateObjectTableNVX type VkDestroyObjectTableNVX = "vkDestroyObjectTableNVX" -- |
--   void vkDestroyObjectTableNVX
--       ( VkDevice device
--       , VkObjectTableNVX objectTable
--       , const VkAllocationCallbacks* pAllocator
--       )
--   
-- -- vkDestroyObjectTableNVX registry at www.khronos.org type HS_vkDestroyObjectTableNVX = VkDevice device -> VkObjectTableNVX objectTable -> Ptr VkAllocationCallbacks pAllocator -> IO () type PFN_vkDestroyObjectTableNVX = FunPtr HS_vkDestroyObjectTableNVX type VkRegisterObjectsNVX = "vkRegisterObjectsNVX" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkRegisterObjectsNVX
--       ( VkDevice device
--       , VkObjectTableNVX objectTable
--       , uint32_t objectCount
--       , const VkObjectTableEntryNVX* const*    ppObjectTableEntries
--       , const uint32_t* pObjectIndices
--       )
--   
-- -- vkRegisterObjectsNVX registry at www.khronos.org type HS_vkRegisterObjectsNVX = VkDevice device -> VkObjectTableNVX objectTable -> Word32 objectCount -> Ptr (Ptr VkObjectTableEntryNVX) ppObjectTableEntries -> Ptr Word32 pObjectIndices -> IO VkResult type PFN_vkRegisterObjectsNVX = FunPtr HS_vkRegisterObjectsNVX type VkUnregisterObjectsNVX = "vkUnregisterObjectsNVX" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   VkResult vkUnregisterObjectsNVX
--       ( VkDevice device
--       , VkObjectTableNVX objectTable
--       , uint32_t objectCount
--       , const VkObjectEntryTypeNVX* pObjectEntryTypes
--       , const uint32_t* pObjectIndices
--       )
--   
-- -- vkUnregisterObjectsNVX registry at www.khronos.org type HS_vkUnregisterObjectsNVX = VkDevice device -> VkObjectTableNVX objectTable -> Word32 objectCount -> Ptr VkObjectEntryTypeNVX pObjectEntryTypes -> Ptr Word32 pObjectIndices -> IO VkResult type PFN_vkUnregisterObjectsNVX = FunPtr HS_vkUnregisterObjectsNVX type VkGetPhysicalDeviceGeneratedCommandsPropertiesNVX = "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX" -- |
--   void vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX
--       ( VkPhysicalDevice physicalDevice
--       , VkDeviceGeneratedCommandsFeaturesNVX* pFeatures
--       , VkDeviceGeneratedCommandsLimitsNVX* pLimits
--       )
--   
-- -- vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX registry at -- www.khronos.org type HS_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX = VkPhysicalDevice physicalDevice -> Ptr VkDeviceGeneratedCommandsFeaturesNVX pFeatures -> Ptr VkDeviceGeneratedCommandsLimitsNVX pLimits -> IO () type PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX = FunPtr HS_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope -- |
--   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                  messageType,
--       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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   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 data VkAllocationCallbacks VkAllocationCallbacks# :: Addr# -> ByteArray# -> VkAllocationCallbacks type VK_NVX_DEVICE_GENERATED_COMMANDS_SPEC_VERSION = 3 type VK_NVX_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME = "VK_NVX_device_generated_commands" -- | bitpos = 17 -- | bitpos = 17 -- | bitpos = 18 -- | VkobjectTableNVX -- | VkIndirectCommandsLayoutNVX instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdProcessCommandsNVX" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdReserveSpaceForCommandsNVX" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateIndirectCommandsLayoutNVX" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyIndirectCommandsLayoutNVX" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateObjectTableNVX" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyObjectTableNVX" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkRegisterObjectsNVX" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkUnregisterObjectsNVX" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX" module Graphics.Vulkan.Core_1_0 -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint newtype VkPipelineCacheCreateFlagBits VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateFlagBits -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion newtype VkPipelineColorBlendStateCreateFlagBits VkPipelineColorBlendStateCreateFlagBits :: VkFlags -> VkPipelineColorBlendStateCreateFlagBits newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkPipelineDepthStencilStateCreateFlagBits VkPipelineDepthStencilStateCreateFlagBits :: VkFlags -> VkPipelineDepthStencilStateCreateFlagBits newtype VkPipelineDynamicStateCreateFlagBits VkPipelineDynamicStateCreateFlagBits :: VkFlags -> VkPipelineDynamicStateCreateFlagBits newtype VkPipelineInputAssemblyStateCreateFlagBits VkPipelineInputAssemblyStateCreateFlagBits :: VkFlags -> VkPipelineInputAssemblyStateCreateFlagBits newtype VkPipelineLayoutCreateFlagBits VkPipelineLayoutCreateFlagBits :: VkFlags -> VkPipelineLayoutCreateFlagBits newtype VkPipelineMultisampleStateCreateFlagBits VkPipelineMultisampleStateCreateFlagBits :: VkFlags -> VkPipelineMultisampleStateCreateFlagBits newtype VkPipelineRasterizationStateCreateFlagBits VkPipelineRasterizationStateCreateFlagBits :: VkFlags -> VkPipelineRasterizationStateCreateFlagBits newtype VkPipelineShaderStageCreateFlagBits VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateFlagBits newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit -- | Before subsequent commands are processed -- -- bitpos = 0 -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 -- | Vertex/index fetch -- -- bitpos = 2 -- | Vertex shading -- -- bitpos = 3 -- | Tessellation control shading -- -- bitpos = 4 -- | Tessellation evaluation shading -- -- bitpos = 5 -- | Geometry shading -- -- bitpos = 6 -- | Fragment shading -- -- bitpos = 7 -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 -- | Color attachment writes -- -- bitpos = 10 -- | Compute shading -- -- bitpos = 11 -- | Transfer/copy operations -- -- bitpos = 12 -- | After previous commands have completed -- -- bitpos = 13 -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 -- | All stages of the graphics pipeline -- -- bitpos = 15 -- | All stages supported on the queue -- -- bitpos = 16 newtype VkPipelineTessellationStateCreateFlagBits VkPipelineTessellationStateCreateFlagBits :: VkFlags -> VkPipelineTessellationStateCreateFlagBits newtype VkPipelineVertexInputStateCreateFlagBits VkPipelineVertexInputStateCreateFlagBits :: VkFlags -> VkPipelineVertexInputStateCreateFlagBits newtype VkPipelineViewportStateCreateFlagBits VkPipelineViewportStateCreateFlagBits :: VkFlags -> VkPipelineViewportStateCreateFlagBits type VkCreateInstance = "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 type HS_vkCreateInstance = Ptr VkInstanceCreateInfo pCreateInfo -> Ptr VkAllocationCallbacks pAllocator -> Ptr VkInstance pInstance -> IO VkResult type PFN_vkCreateInstance = FunPtr HS_vkCreateInstance vkCreateInstance :: 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateInstanceSafe :: Ptr VkInstanceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkInstance -> IO VkResult type VkDestroyInstance = "vkDestroyInstance" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyInstanceSafe :: VkInstance -> Ptr VkAllocationCallbacks -> IO () type VkEnumeratePhysicalDevices = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkEnumeratePhysicalDevicesSafe :: VkInstance -> Ptr Word32 -> Ptr VkPhysicalDevice -> IO VkResult type VkGetPhysicalDeviceFeatures = "vkGetPhysicalDeviceFeatures" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceFeaturesSafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceFeatures -> IO () type VkGetPhysicalDeviceFormatProperties = "vkGetPhysicalDeviceFormatProperties" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceFormatPropertiesSafe :: VkPhysicalDevice -> VkFormat -> Ptr VkFormatProperties -> IO () type VkGetPhysicalDeviceImageFormatProperties = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceImageFormatPropertiesSafe :: VkPhysicalDevice -> VkFormat -> VkImageType -> VkImageTiling -> VkImageUsageFlags -> VkImageCreateFlags -> Ptr VkImageFormatProperties -> IO VkResult type VkGetPhysicalDeviceProperties = "vkGetPhysicalDeviceProperties" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDevicePropertiesSafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceProperties -> IO () type VkGetPhysicalDeviceQueueFamilyProperties = "vkGetPhysicalDeviceQueueFamilyProperties" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceQueueFamilyPropertiesSafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkQueueFamilyProperties -> IO () type VkGetPhysicalDeviceMemoryProperties = "vkGetPhysicalDeviceMemoryProperties" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceMemoryPropertiesSafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceMemoryProperties -> IO () type VkGetInstanceProcAddr = "vkGetInstanceProcAddr" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetInstanceProcAddrSafe :: VkInstance -> CString -> IO PFN_vkVoidFunction type VkGetDeviceProcAddr = "vkGetDeviceProcAddr" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetDeviceProcAddrSafe :: VkDevice -> CString -> IO PFN_vkVoidFunction newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType newtype VkMemoryAllocateFlagBitsKHR VkMemoryAllocateFlagBitsKHR :: VkFlags -> VkMemoryAllocateFlagBitsKHR newtype VkMemoryAllocateBitmask (a :: FlagType) VkMemoryAllocateBitmask :: VkFlags -> VkMemoryAllocateBitmask type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask type VkMemoryAllocateFlagBits = VkMemoryAllocateBitmask FlagBit -- | Force allocation on specific devices -- -- bitpos = 0 newtype VkMemoryHeapBitmask (a :: FlagType) VkMemoryHeapBitmask :: VkFlags -> VkMemoryHeapBitmask type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask type VkMemoryHeapFlagBits = VkMemoryHeapBitmask FlagBit -- | If set, heap represents device memory -- -- bitpos = 0 newtype VkMemoryPropertyBitmask (a :: FlagType) VkMemoryPropertyBitmask :: VkFlags -> VkMemoryPropertyBitmask type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask type VkMemoryPropertyFlagBits = VkMemoryPropertyBitmask FlagBit -- | If otherwise stated, then allocate memory on device -- -- bitpos = 0 -- | Memory is mappable by host -- -- bitpos = 1 -- | Memory will have io coherency. If not set, application may need to -- use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to -- flushinvalidate host cache -- -- bitpos = 2 -- | Memory will be cached by the host -- -- bitpos = 3 -- | Memory may be allocated by the driver when it is required -- -- bitpos = 4 -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType newtype VkQueueBitmask (a :: FlagType) VkQueueBitmask :: VkFlags -> VkQueueBitmask type VkQueueFlags = VkQueueBitmask FlagMask type VkQueueFlagBits = VkQueueBitmask FlagBit -- | Queue supports graphics operations -- -- bitpos = 0 -- | Queue supports compute operations -- -- bitpos = 1 -- | Queue supports transfer operations -- -- bitpos = 2 -- | Queue supports sparse resource memory management operations -- -- bitpos = 3 -- | type = enum -- -- VkQueueGlobalPriorityEXT registry at www.khronos.org newtype VkQueueGlobalPriorityEXT VkQueueGlobalPriorityEXT :: Int32 -> VkQueueGlobalPriorityEXT -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope -- |
--   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                  messageType,
--       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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   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 data VkAllocationCallbacks VkAllocationCallbacks# :: Addr# -> ByteArray# -> 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 data VkApplicationInfo VkApplicationInfo# :: Addr# -> ByteArray# -> VkApplicationInfo -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D -- |
--   typedef struct VkFormatProperties {
--       VkFormatFeatureFlags   linearTilingFeatures;
--       VkFormatFeatureFlags   optimalTilingFeatures;
--       VkFormatFeatureFlags   bufferFeatures;
--   } VkFormatProperties;
--   
-- -- VkFormatProperties registry at www.khronos.org data VkFormatProperties VkFormatProperties# :: Addr# -> ByteArray# -> VkFormatProperties -- |
--   typedef struct VkFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkFormatProperties               formatProperties;
--   } VkFormatProperties2;
--   
-- -- VkFormatProperties2 registry at www.khronos.org data VkFormatProperties2 VkFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> VkImageViewUsageCreateInfo -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo -- |
--   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 data VkInstanceCreateInfo VkInstanceCreateInfo# :: Addr# -> ByteArray# -> VkInstanceCreateInfo -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org data VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryAllocateInfo VkMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkMemoryAllocateInfo -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org data VkMemoryBarrier VkMemoryBarrier# :: Addr# -> ByteArray# -> VkMemoryBarrier -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org data VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements# :: Addr# -> ByteArray# -> VkMemoryDedicatedRequirements -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org data VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR# :: Addr# -> ByteArray# -> VkMemoryFdPropertiesKHR -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org data VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR# :: Addr# -> ByteArray# -> VkMemoryGetFdInfoKHR -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org data VkMemoryHeap VkMemoryHeap# :: Addr# -> ByteArray# -> VkMemoryHeap -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org data VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT# :: Addr# -> ByteArray# -> VkMemoryHostPointerPropertiesEXT -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org data VkMemoryRequirements VkMemoryRequirements# :: Addr# -> ByteArray# -> VkMemoryRequirements -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org data VkMemoryRequirements2 VkMemoryRequirements2# :: Addr# -> ByteArray# -> VkMemoryRequirements2 -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org data VkMemoryType VkMemoryType# :: Addr# -> ByteArray# -> VkMemoryType -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- |
--   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 data VkPhysicalDeviceFeatures VkPhysicalDeviceFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures -- |
--   typedef struct VkQueueFamilyProperties {
--       VkQueueFlags           queueFlags;
--       uint32_t               queueCount;
--       uint32_t               timestampValidBits;
--       VkExtent3D             minImageTransferGranularity;
--   } VkQueueFamilyProperties;
--   
-- -- VkQueueFamilyProperties registry at www.khronos.org data VkQueueFamilyProperties VkQueueFamilyProperties# :: Addr# -> ByteArray# -> VkQueueFamilyProperties -- |
--   typedef struct VkQueueFamilyProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkQueueFamilyProperties          queueFamilyProperties;
--   } VkQueueFamilyProperties2;
--   
-- -- VkQueueFamilyProperties2 registry at www.khronos.org data VkQueueFamilyProperties2 VkQueueFamilyProperties2# :: Addr# -> ByteArray# -> VkQueueFamilyProperties2 -- | Alias for VkQueueFamilyProperties2 type VkQueueFamilyProperties2KHR = VkQueueFamilyProperties2 type VkCreateDevice = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateDeviceSafe :: VkPhysicalDevice -> Ptr VkDeviceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDevice -> IO VkResult type VkDestroyDevice = "vkDestroyDevice" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyDeviceSafe :: VkDevice -> Ptr VkAllocationCallbacks -> IO () newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit -- | Present from local memory -- -- bitpos = 0 -- | Present from remote memory -- -- bitpos = 1 -- | Present sum of local and/or remote memory -- -- bitpos = 2 -- | Each physical device presents from local memory -- -- bitpos = 3 newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit -- |
--   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 data VkDeviceCreateInfo VkDeviceCreateInfo# :: Addr# -> ByteArray# -> VkDeviceCreateInfo -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org data VkDeviceEventInfoEXT VkDeviceEventInfoEXT# :: Addr# -> ByteArray# -> VkDeviceEventInfoEXT -- |
--   typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         computeBindingPointSupport;
--   } VkDeviceGeneratedCommandsFeaturesNVX;
--   
-- -- VkDeviceGeneratedCommandsFeaturesNVX registry at -- www.khronos.org data VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsFeaturesNVX -- |
--   typedef struct VkDeviceGeneratedCommandsLimitsNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         maxIndirectCommandsLayoutTokenCount;
--       uint32_t                         maxObjectEntryCounts;
--       uint32_t                         minSequenceCountBufferOffsetAlignment;
--       uint32_t                         minSequenceIndexBufferOffsetAlignment;
--       uint32_t                         minCommandsTokenBufferOffsetAlignment;
--   } VkDeviceGeneratedCommandsLimitsNVX;
--   
-- -- VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org data VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsLimitsNVX -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org data VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo# :: Addr# -> ByteArray# -> VkDeviceGroupSubmitInfo -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org data VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkDeviceGroupSwapchainCreateInfoKHR -- |
--   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 data VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo# :: Addr# -> ByteArray# -> VkDeviceQueueCreateInfo -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org data VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT# :: Addr# -> ByteArray# -> VkDeviceQueueGlobalPriorityCreateInfoEXT -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org data VkDeviceQueueInfo2 VkDeviceQueueInfo2# :: Addr# -> ByteArray# -> VkDeviceQueueInfo2 type VkEnumerateInstanceExtensionProperties = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkEnumerateInstanceExtensionPropertiesSafe :: CString -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult type VkEnumerateDeviceExtensionProperties = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkEnumerateDeviceExtensionPropertiesSafe :: VkPhysicalDevice -> CString -> Ptr Word32 -> Ptr VkExtensionProperties -> IO VkResult -- |
--   typedef struct VkExtensionProperties {
--       char            extensionName[VK_MAX_EXTENSION_NAME_SIZE];
--       uint32_t        specVersion;
--   } VkExtensionProperties;
--   
-- -- VkExtensionProperties registry at www.khronos.org data VkExtensionProperties VkExtensionProperties# :: Addr# -> ByteArray# -> VkExtensionProperties type VkEnumerateInstanceLayerProperties = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkEnumerateInstanceLayerPropertiesSafe :: Ptr Word32 -> Ptr VkLayerProperties -> IO VkResult type VkEnumerateDeviceLayerProperties = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkEnumerateDeviceLayerPropertiesSafe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkLayerProperties -> 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 data VkLayerProperties VkLayerProperties# :: Addr# -> ByteArray# -> VkLayerProperties type VkGetDeviceQueue = "vkGetDeviceQueue" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetDeviceQueueSafe :: VkDevice -> Word32 -> Word32 -> Ptr VkQueue -> IO () type VkQueueSubmit = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkQueueSubmitSafe :: VkQueue -> Word32 -> Ptr VkSubmitInfo -> VkFence -> IO VkResult type VkQueueWaitIdle = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkQueueWaitIdleSafe :: VkQueue -> IO VkResult type VkDeviceWaitIdle = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDeviceWaitIdleSafe :: VkDevice -> 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 data VkSubmitInfo VkSubmitInfo# :: Addr# -> ByteArray# -> VkSubmitInfo type VkAllocateMemory = "vkAllocateMemory" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_TOO_MANY_OBJECTS, -- VK_ERROR_INVALID_EXTERNAL_HANDLE. -- --
--   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_TOO_MANY_OBJECTS, -- VK_ERROR_INVALID_EXTERNAL_HANDLE. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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_TOO_MANY_OBJECTS, -- VK_ERROR_INVALID_EXTERNAL_HANDLE. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkAllocateMemorySafe :: VkDevice -> Ptr VkMemoryAllocateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDeviceMemory -> IO VkResult type VkFreeMemory = "vkFreeMemory" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkFreeMemorySafe :: VkDevice -> VkDeviceMemory -> Ptr VkAllocationCallbacks -> IO () type VkMapMemory = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkMapMemorySafe :: VkDevice -> VkDeviceMemory -> VkDeviceSize -> VkDeviceSize -> VkMemoryMapFlags -> Ptr (Ptr Void) -> IO VkResult type VkUnmapMemory = "vkUnmapMemory" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkUnmapMemorySafe :: VkDevice -> VkDeviceMemory -> IO () type VkFlushMappedMemoryRanges = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkFlushMappedMemoryRangesSafe :: VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult type VkInvalidateMappedMemoryRanges = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkInvalidateMappedMemoryRangesSafe :: VkDevice -> Word32 -> Ptr VkMappedMemoryRange -> IO VkResult type VkGetDeviceMemoryCommitment = "vkGetDeviceMemoryCommitment" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetDeviceMemoryCommitmentSafe :: VkDevice -> VkDeviceMemory -> Ptr VkDeviceSize -> IO () -- |
--   typedef struct VkMappedMemoryRange {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDeviceMemory         memory;
--       VkDeviceSize           offset;
--       VkDeviceSize           size;
--   } VkMappedMemoryRange;
--   
-- -- VkMappedMemoryRange registry at www.khronos.org data VkMappedMemoryRange VkMappedMemoryRange# :: Addr# -> ByteArray# -> VkMappedMemoryRange type VkBindBufferMemory = "vkBindBufferMemory" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkBindBufferMemorySafe :: VkDevice -> VkBuffer -> VkDeviceMemory -> VkDeviceSize -> IO VkResult type VkBindImageMemory = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkBindImageMemorySafe :: VkDevice -> VkImage -> VkDeviceMemory -> VkDeviceSize -> IO VkResult type VkGetBufferMemoryRequirements = "vkGetBufferMemoryRequirements" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetBufferMemoryRequirementsSafe :: VkDevice -> VkBuffer -> Ptr VkMemoryRequirements -> IO () type VkGetImageMemoryRequirements = "vkGetImageMemoryRequirements" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetImageMemoryRequirementsSafe :: VkDevice -> VkImage -> Ptr VkMemoryRequirements -> IO () type VkGetImageSparseMemoryRequirements = "vkGetImageSparseMemoryRequirements" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetImageSparseMemoryRequirementsSafe :: VkDevice -> VkImage -> Ptr Word32 -> Ptr VkSparseImageMemoryRequirements -> IO () type VkGetPhysicalDeviceSparseImageFormatProperties = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceSparseImageFormatPropertiesSafe :: VkPhysicalDevice -> VkFormat -> VkImageType -> VkSampleCountFlagBits -> VkImageUsageFlags -> VkImageTiling -> Ptr Word32 -> Ptr VkSparseImageFormatProperties -> IO () type VkQueueBindSparse = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkQueueBindSparseSafe :: VkQueue -> Word32 -> Ptr VkBindSparseInfo -> VkFence -> IO VkResult newtype VkSparseImageFormatBitmask (a :: FlagType) VkSparseImageFormatBitmask :: VkFlags -> VkSparseImageFormatBitmask type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask type VkSparseImageFormatFlagBits = VkSparseImageFormatBitmask FlagBit -- | Image uses a single mip tail region for all array layers -- -- bitpos = 0 -- | Image requires mip level dimensions to be an integer multiple of the -- sparse image block dimensions for non-tail mip levels. -- -- bitpos = 1 -- | Image uses a non-standard sparse image block dimensions -- -- bitpos = 2 newtype VkSparseMemoryBindBitmask (a :: FlagType) VkSparseMemoryBindBitmask :: VkFlags -> VkSparseMemoryBindBitmask type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask type VkSparseMemoryBindFlagBits = VkSparseMemoryBindBitmask FlagBit -- | Operation binds resource metadata to memory -- -- bitpos = 0 -- |
--   typedef struct VkBindBufferMemoryDeviceGroupInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--   } VkBindBufferMemoryDeviceGroupInfo;
--   
-- -- VkBindBufferMemoryDeviceGroupInfo registry at www.khronos.org data VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfo# :: Addr# -> ByteArray# -> 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 data VkBindBufferMemoryInfo VkBindBufferMemoryInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemoryInfo VkBindImageMemoryInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemorySwapchainInfoKHR VkBindImageMemorySwapchainInfoKHR# :: Addr# -> ByteArray# -> VkBindImageMemorySwapchainInfoKHR -- |
--   typedef struct VkBindImagePlaneMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkBindImagePlaneMemoryInfo;
--   
-- -- VkBindImagePlaneMemoryInfo registry at www.khronos.org data VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfo# :: Addr# -> ByteArray# -> VkBindImagePlaneMemoryInfo -- | Alias for VkBindImagePlaneMemoryInfo type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo -- |
--   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 data VkBindSparseInfo VkBindSparseInfo# :: Addr# -> ByteArray# -> VkBindSparseInfo -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org data VkOffset2D VkOffset2D# :: Addr# -> ByteArray# -> VkOffset2D -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org data VkOffset3D VkOffset3D# :: Addr# -> ByteArray# -> VkOffset3D -- |
--   typedef struct VkSparseBufferMemoryBindInfo {
--       VkBuffer buffer;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseBufferMemoryBindInfo;
--   
-- -- VkSparseBufferMemoryBindInfo registry at www.khronos.org data VkSparseBufferMemoryBindInfo VkSparseBufferMemoryBindInfo# :: Addr# -> ByteArray# -> VkSparseBufferMemoryBindInfo -- |
--   typedef struct VkSparseImageFormatProperties {
--       VkImageAspectFlags     aspectMask;
--       VkExtent3D             imageGranularity;
--       VkSparseImageFormatFlags flags;
--   } VkSparseImageFormatProperties;
--   
-- -- VkSparseImageFormatProperties registry at www.khronos.org data VkSparseImageFormatProperties VkSparseImageFormatProperties# :: Addr# -> ByteArray# -> VkSparseImageFormatProperties -- |
--   typedef struct VkSparseImageFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSparseImageFormatProperties    properties;
--   } VkSparseImageFormatProperties2;
--   
-- -- VkSparseImageFormatProperties2 registry at www.khronos.org data VkSparseImageFormatProperties2 VkSparseImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkSparseImageMemoryBind VkSparseImageMemoryBind# :: Addr# -> ByteArray# -> VkSparseImageMemoryBind -- |
--   typedef struct VkSparseImageMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseImageMemoryBind* pBinds;
--   } VkSparseImageMemoryBindInfo;
--   
-- -- VkSparseImageMemoryBindInfo registry at www.khronos.org data VkSparseImageMemoryBindInfo VkSparseImageMemoryBindInfo# :: Addr# -> ByteArray# -> VkSparseImageMemoryBindInfo -- |
--   typedef struct VkSparseImageMemoryRequirements {
--       VkSparseImageFormatProperties formatProperties;
--       uint32_t               imageMipTailFirstLod;
--       VkDeviceSize           imageMipTailSize;
--       VkDeviceSize           imageMipTailOffset;
--       VkDeviceSize           imageMipTailStride;
--   } VkSparseImageMemoryRequirements;
--   
-- -- VkSparseImageMemoryRequirements registry at www.khronos.org data VkSparseImageMemoryRequirements VkSparseImageMemoryRequirements# :: Addr# -> ByteArray# -> VkSparseImageMemoryRequirements -- |
--   typedef struct VkSparseImageMemoryRequirements2 {
--       VkStructureType sType;
--       void*                                       pNext;
--       VkSparseImageMemoryRequirements                                      memoryRequirements;
--   } VkSparseImageMemoryRequirements2;
--   
-- -- VkSparseImageMemoryRequirements2 registry at www.khronos.org data VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2# :: Addr# -> ByteArray# -> 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 data VkSparseImageOpaqueMemoryBindInfo VkSparseImageOpaqueMemoryBindInfo# :: Addr# -> ByteArray# -> VkSparseImageOpaqueMemoryBindInfo -- |
--   typedef struct VkSparseMemoryBind {
--       VkDeviceSize           resourceOffset;
--       VkDeviceSize           size;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseMemoryBind;
--   
-- -- VkSparseMemoryBind registry at www.khronos.org data VkSparseMemoryBind VkSparseMemoryBind# :: Addr# -> ByteArray# -> VkSparseMemoryBind type VkCreateFence = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateFenceSafe :: VkDevice -> Ptr VkFenceCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkFence -> IO VkResult type VkDestroyFence = "vkDestroyFence" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyFenceSafe :: VkDevice -> VkFence -> Ptr VkAllocationCallbacks -> IO () type VkResetFences = "vkResetFences" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- 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_HOST_MEMORY, -- 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkResetFences :: VkDevice -> Word32 -> Ptr VkFence -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkResetFencesSafe :: VkDevice -> Word32 -> Ptr VkFence -> IO VkResult type VkGetFenceStatus = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetFenceStatusSafe :: VkDevice -> VkFence -> IO VkResult type VkWaitForFences = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkWaitForFencesSafe :: VkDevice -> Word32 -> Ptr VkFence -> VkBool32 -> Word64 -> IO VkResult newtype VkFenceCreateBitmask (a :: FlagType) VkFenceCreateBitmask :: VkFlags -> VkFenceCreateBitmask type VkFenceCreateFlags = VkFenceCreateBitmask FlagMask type VkFenceCreateFlagBits = VkFenceCreateBitmask FlagBit -- | bitpos = 0 newtype VkFenceImportFlagBitsKHR VkFenceImportFlagBitsKHR :: VkFlags -> VkFenceImportFlagBitsKHR newtype VkFenceImportBitmask (a :: FlagType) VkFenceImportBitmask :: VkFlags -> VkFenceImportBitmask type VkFenceImportFlags = VkFenceImportBitmask FlagMask type VkFenceImportFlagBits = VkFenceImportBitmask FlagBit -- | bitpos = 0 -- |
--   typedef struct VkFenceCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkFenceCreateFlags     flags;
--   } VkFenceCreateInfo;
--   
-- -- VkFenceCreateInfo registry at www.khronos.org data VkFenceCreateInfo VkFenceCreateInfo# :: Addr# -> ByteArray# -> VkFenceCreateInfo -- |
--   typedef struct VkFenceGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkFence                                fence;
--       VkExternalFenceHandleTypeFlagBits   handleType;
--   } VkFenceGetFdInfoKHR;
--   
-- -- VkFenceGetFdInfoKHR registry at www.khronos.org data VkFenceGetFdInfoKHR VkFenceGetFdInfoKHR# :: Addr# -> ByteArray# -> VkFenceGetFdInfoKHR type VkCreateSemaphore = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateSemaphoreSafe :: VkDevice -> Ptr VkSemaphoreCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSemaphore -> IO VkResult type VkDestroySemaphore = "vkDestroySemaphore" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroySemaphoreSafe :: VkDevice -> VkSemaphore -> Ptr VkAllocationCallbacks -> IO () -- |
--   typedef struct VkSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreCreateFlags flags;
--   } VkSemaphoreCreateInfo;
--   
-- -- VkSemaphoreCreateInfo registry at www.khronos.org data VkSemaphoreCreateInfo VkSemaphoreCreateInfo# :: Addr# -> ByteArray# -> VkSemaphoreCreateInfo -- |
--   typedef struct VkSemaphoreGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSemaphore                      semaphore;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkSemaphoreGetFdInfoKHR;
--   
-- -- VkSemaphoreGetFdInfoKHR registry at www.khronos.org data VkSemaphoreGetFdInfoKHR VkSemaphoreGetFdInfoKHR# :: Addr# -> ByteArray# -> VkSemaphoreGetFdInfoKHR type VkCreateEvent = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateEventSafe :: VkDevice -> Ptr VkEventCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkEvent -> IO VkResult type VkDestroyEvent = "vkDestroyEvent" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyEventSafe :: VkDevice -> VkEvent -> Ptr VkAllocationCallbacks -> IO () type VkGetEventStatus = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetEventStatusSafe :: VkDevice -> VkEvent -> IO VkResult type VkSetEvent = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkSetEventSafe :: VkDevice -> VkEvent -> IO VkResult type VkResetEvent = "vkResetEvent" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- 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_HOST_MEMORY, -- 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkResetEvent :: VkDevice -> VkEvent -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkResetEventSafe :: VkDevice -> VkEvent -> IO VkResult -- |
--   typedef struct VkEventCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkEventCreateFlags     flags;
--   } VkEventCreateInfo;
--   
-- -- VkEventCreateInfo registry at www.khronos.org data VkEventCreateInfo VkEventCreateInfo# :: Addr# -> ByteArray# -> VkEventCreateInfo type VkCreateQueryPool = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateQueryPoolSafe :: VkDevice -> Ptr VkQueryPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkQueryPool -> IO VkResult type VkDestroyQueryPool = "vkDestroyQueryPool" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyQueryPoolSafe :: VkDevice -> VkQueryPool -> Ptr VkAllocationCallbacks -> IO () type VkGetQueryPoolResults = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetQueryPoolResultsSafe :: VkDevice -> VkQueryPool -> Word32 -> Word32 -> CSize -> Ptr Void -> VkDeviceSize -> VkQueryResultFlags -> IO VkResult newtype VkQueryControlBitmask (a :: FlagType) VkQueryControlBitmask :: VkFlags -> VkQueryControlBitmask type VkQueryControlFlags = VkQueryControlBitmask FlagMask type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit -- | Require precise results to be collected by the query -- -- bitpos = 0 newtype VkQueryPipelineStatisticBitmask (a :: FlagType) VkQueryPipelineStatisticBitmask :: VkFlags -> VkQueryPipelineStatisticBitmask type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticBitmask FlagMask type VkQueryPipelineStatisticFlagBits = VkQueryPipelineStatisticBitmask FlagBit -- | Optional -- -- bitpos = 0 -- | Optional -- -- bitpos = 1 -- | Optional -- -- bitpos = 2 -- | Optional -- -- bitpos = 3 -- | Optional -- -- bitpos = 4 -- | Optional -- -- bitpos = 5 -- | Optional -- -- bitpos = 6 -- | Optional -- -- bitpos = 7 -- | Optional -- -- bitpos = 8 -- | Optional -- -- bitpos = 9 -- | Optional -- -- bitpos = 10 newtype VkQueryPoolCreateFlagBits VkQueryPoolCreateFlagBits :: VkFlags -> VkQueryPoolCreateFlagBits newtype VkQueryResultBitmask (a :: FlagType) VkQueryResultBitmask :: VkFlags -> VkQueryResultBitmask type VkQueryResultFlags = VkQueryResultBitmask FlagMask type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit -- | Results of the queries are written to the destination buffer as 64-bit -- values -- -- bitpos = 0 -- | Results of the queries are waited on before proceeding with the result -- copy -- -- bitpos = 1 -- | Besides the results of the query, the availability of the results is -- also written -- -- bitpos = 2 -- | Copy the partial results of the query even if the final results are -- not available -- -- bitpos = 3 -- | type = enum -- -- VkQueryType registry at www.khronos.org newtype VkQueryType VkQueryType :: Int32 -> VkQueryType -- | Optional -- |
--   typedef struct VkQueryPoolCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkQueryPoolCreateFlags flags;
--       VkQueryType            queryType;
--       uint32_t               queryCount;
--       VkQueryPipelineStatisticFlags pipelineStatistics;
--   } VkQueryPoolCreateInfo;
--   
-- -- VkQueryPoolCreateInfo registry at www.khronos.org data VkQueryPoolCreateInfo VkQueryPoolCreateInfo# :: Addr# -> ByteArray# -> VkQueryPoolCreateInfo type VkCreateBuffer = "vkCreateBuffer" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateBufferSafe :: VkDevice -> Ptr VkBufferCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkBuffer -> IO VkResult type VkDestroyBuffer = "vkDestroyBuffer" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyBufferSafe :: VkDevice -> VkBuffer -> Ptr VkAllocationCallbacks -> IO () newtype VkBufferCreateBitmask (a :: FlagType) VkBufferCreateBitmask :: VkFlags -> VkBufferCreateBitmask type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask type VkBufferCreateFlagBits = VkBufferCreateBitmask FlagBit -- | Buffer should support sparse backing -- -- bitpos = 0 -- | Buffer should support sparse backing with partial residency -- -- bitpos = 1 -- | Buffer should support constent data access to physical memory ranges -- mapped into multiple locations of sparse buffers -- -- bitpos = 2 newtype VkBufferUsageBitmask (a :: FlagType) VkBufferUsageBitmask :: VkFlags -> VkBufferUsageBitmask type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask type VkBufferUsageFlagBits = VkBufferUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be used as TBO -- -- bitpos = 2 -- | Can be used as IBO -- -- bitpos = 3 -- | Can be used as UBO -- -- bitpos = 4 -- | Can be used as SSBO -- -- bitpos = 5 -- | Can be used as source of fixed-function index fetch (index buffer) -- -- bitpos = 6 -- | Can be used as source of fixed-function vertex fetch (VBO) -- -- bitpos = 7 -- | Can be the source of indirect parameters (e.g. indirect buffer, -- parameter buffer) -- -- bitpos = 8 newtype VkBufferViewCreateFlagBits VkBufferViewCreateFlagBits :: VkFlags -> VkBufferViewCreateFlagBits -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode -- |
--   typedef struct VkBufferCopy {
--       VkDeviceSize           srcOffset;
--       VkDeviceSize           dstOffset;
--       VkDeviceSize           size;
--   } VkBufferCopy;
--   
-- -- VkBufferCopy registry at www.khronos.org data VkBufferCopy VkBufferCopy# :: Addr# -> ByteArray# -> 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 data VkBufferCreateInfo VkBufferCreateInfo# :: Addr# -> ByteArray# -> VkBufferCreateInfo -- |
--   typedef struct VkBufferImageCopy {
--       VkDeviceSize           bufferOffset;
--       uint32_t               bufferRowLength;
--       uint32_t               bufferImageHeight;
--       VkImageSubresourceLayers imageSubresource;
--       VkOffset3D             imageOffset;
--       VkExtent3D             imageExtent;
--   } VkBufferImageCopy;
--   
-- -- VkBufferImageCopy registry at www.khronos.org data VkBufferImageCopy VkBufferImageCopy# :: Addr# -> ByteArray# -> 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 data VkBufferMemoryBarrier VkBufferMemoryBarrier# :: Addr# -> ByteArray# -> VkBufferMemoryBarrier -- |
--   typedef struct VkBufferMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkBuffer                                                             buffer;
--   } VkBufferMemoryRequirementsInfo2;
--   
-- -- VkBufferMemoryRequirementsInfo2 registry at www.khronos.org data VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkBufferMemoryRequirementsInfo2 -- | Alias for VkBufferMemoryRequirementsInfo2 type VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2 -- |
--   typedef struct VkBufferViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferViewCreateFlagsflags;
--       VkBuffer               buffer;
--       VkFormat               format;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkBufferViewCreateInfo;
--   
-- -- VkBufferViewCreateInfo registry at www.khronos.org data VkBufferViewCreateInfo VkBufferViewCreateInfo# :: Addr# -> ByteArray# -> VkBufferViewCreateInfo type VkCreateBufferView = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateBufferViewSafe :: VkDevice -> Ptr VkBufferViewCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkBufferView -> IO VkResult type VkDestroyBufferView = "vkDestroyBufferView" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyBufferViewSafe :: VkDevice -> VkBufferView -> Ptr VkAllocationCallbacks -> IO () type VkCreateImage = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateImageSafe :: VkDevice -> Ptr VkImageCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkImage -> IO VkResult type VkDestroyImage = "vkDestroyImage" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyImageSafe :: VkDevice -> VkImage -> Ptr VkAllocationCallbacks -> IO () type VkGetImageSubresourceLayout = "vkGetImageSubresourceLayout" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetImageSubresourceLayoutSafe :: VkDevice -> VkImage -> Ptr VkImageSubresource -> Ptr VkSubresourceLayout -> IO () -- |
--   typedef struct VkSubresourceLayout {
--       VkDeviceSize           offset;
--       VkDeviceSize           size;
--       VkDeviceSize           rowPitch;
--       VkDeviceSize           arrayPitch;
--       VkDeviceSize           depthPitch;
--   } VkSubresourceLayout;
--   
-- -- VkSubresourceLayout registry at www.khronos.org data VkSubresourceLayout VkSubresourceLayout# :: Addr# -> ByteArray# -> VkSubresourceLayout type VkCreateImageView = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateImageViewSafe :: VkDevice -> Ptr VkImageViewCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkImageView -> IO VkResult type VkDestroyImageView = "vkDestroyImageView" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyImageViewSafe :: VkDevice -> VkImageView -> Ptr VkAllocationCallbacks -> IO () -- | type = enum -- -- VkComponentSwizzle registry at www.khronos.org newtype VkComponentSwizzle VkComponentSwizzle :: Int32 -> VkComponentSwizzle -- |
--   typedef struct VkComponentMapping {
--       VkComponentSwizzle r;
--       VkComponentSwizzle g;
--       VkComponentSwizzle b;
--       VkComponentSwizzle a;
--   } VkComponentMapping;
--   
-- -- VkComponentMapping registry at www.khronos.org data VkComponentMapping VkComponentMapping# :: Addr# -> ByteArray# -> VkComponentMapping type VkCreateShaderModule = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateShaderModuleSafe :: VkDevice -> Ptr VkShaderModuleCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkShaderModule -> IO VkResult type VkDestroyShaderModule = "vkDestroyShaderModule" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyShaderModuleSafe :: VkDevice -> VkShaderModule -> Ptr VkAllocationCallbacks -> IO () -- |
--   typedef struct VkShaderModuleCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkShaderModuleCreateFlags flags;
--       size_t                 codeSize;
--       const uint32_t*            pCode;
--   } VkShaderModuleCreateInfo;
--   
-- -- VkShaderModuleCreateInfo registry at www.khronos.org data VkShaderModuleCreateInfo VkShaderModuleCreateInfo# :: Addr# -> ByteArray# -> VkShaderModuleCreateInfo -- |
--   typedef struct VkShaderModuleValidationCacheCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkValidationCacheEXT    validationCache;
--   } VkShaderModuleValidationCacheCreateInfoEXT;
--   
-- -- VkShaderModuleValidationCacheCreateInfoEXT registry at -- www.khronos.org data VkShaderModuleValidationCacheCreateInfoEXT VkShaderModuleValidationCacheCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkShaderResourceUsageAMD VkShaderResourceUsageAMD# :: Addr# -> ByteArray# -> 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 data VkShaderStatisticsInfoAMD VkShaderStatisticsInfoAMD# :: Addr# -> ByteArray# -> VkShaderStatisticsInfoAMD type VkCreatePipelineCache = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreatePipelineCacheSafe :: VkDevice -> Ptr VkPipelineCacheCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipelineCache -> IO VkResult type VkDestroyPipelineCache = "vkDestroyPipelineCache" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyPipelineCacheSafe :: VkDevice -> VkPipelineCache -> Ptr VkAllocationCallbacks -> IO () type VkGetPipelineCacheData = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPipelineCacheDataSafe :: VkDevice -> VkPipelineCache -> Ptr CSize -> Ptr Void -> IO VkResult type VkMergePipelineCaches = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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 data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo# :: Addr# -> ByteArray# -> VkGraphicsPipelineCreateInfo -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo# :: Addr# -> ByteArray# -> VkPipelineCacheCreateInfo -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineColorBlendStateCreateInfo -- |
--   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 data VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageModulationStateCreateInfoNV -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org data VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageToColorStateCreateInfoNV -- |
--   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 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT# :: Addr# -> ByteArray# -> VkPipelineDiscardRectangleStateCreateInfoEXT -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineDynamicStateCreateInfo -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineMultisampleStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org data VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateRasterizationOrderAMD -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo# :: Addr# -> ByteArray# -> VkPipelineShaderStageCreateInfo -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org data VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineTessellationStateCreateInfo -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV type VkCreateGraphicsPipelines = "vkCreateGraphicsPipelines" -- | Success codes: VK_SUCCESS. -- -- 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. -- -- 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateGraphicsPipelines :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkGraphicsPipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> 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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateGraphicsPipelinesSafe :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkGraphicsPipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult type VkCreateComputePipelines = "vkCreateComputePipelines" -- | Success codes: VK_SUCCESS. -- -- 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. -- -- 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateComputePipelines :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkComputePipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> 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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateComputePipelinesSafe :: VkDevice -> VkPipelineCache -> Word32 -> Ptr VkComputePipelineCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipeline -> IO VkResult type VkDestroyPipeline = "vkDestroyPipeline" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyPipelineSafe :: VkDevice -> VkPipeline -> Ptr VkAllocationCallbacks -> IO () -- | type = enum -- -- VkBlendFactor registry at www.khronos.org newtype VkBlendFactor VkBlendFactor :: Int32 -> VkBlendFactor -- | type = enum -- -- VkBlendOp registry at www.khronos.org newtype VkBlendOp VkBlendOp :: Int32 -> VkBlendOp -- | type = enum -- -- VkBlendOverlapEXT registry at www.khronos.org newtype VkBlendOverlapEXT VkBlendOverlapEXT :: Int32 -> VkBlendOverlapEXT newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask type VkColorComponentFlags = VkColorComponentBitmask FlagMask type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask type VkCullModeFlags = VkCullModeBitmask FlagMask type VkCullModeFlagBits = VkCullModeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | type = enum -- -- VkDynamicState registry at www.khronos.org newtype VkDynamicState VkDynamicState :: Int32 -> VkDynamicState -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace -- | type = enum -- -- VkLogicOp registry at www.khronos.org newtype VkLogicOp VkLogicOp :: Int32 -> VkLogicOp -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode -- | type = enum -- -- VkPrimitiveTopology registry at www.khronos.org newtype VkPrimitiveTopology VkPrimitiveTopology :: Int32 -> VkPrimitiveTopology -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask type VkShaderStageFlags = VkShaderStageBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 newtype VkStencilFaceBitmask (a :: FlagType) VkStencilFaceBitmask :: VkFlags -> VkStencilFaceBitmask type VkStencilFaceFlags = VkStencilFaceBitmask FlagMask type VkStencilFaceFlagBits = VkStencilFaceBitmask FlagBit -- | Front face -- -- bitpos = 0 -- | Back face -- -- bitpos = 1 -- | Front and back faces -- | type = enum -- -- VkStencilOp registry at www.khronos.org newtype VkStencilOp VkStencilOp :: Int32 -> VkStencilOp -- | type = enum -- -- VkVertexInputRate registry at www.khronos.org newtype VkVertexInputRate VkVertexInputRate :: Int32 -> VkVertexInputRate -- |
--   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 data VkComputePipelineCreateInfo VkComputePipelineCreateInfo# :: Addr# -> ByteArray# -> VkComputePipelineCreateInfo -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org data VkRect2D VkRect2D# :: Addr# -> ByteArray# -> VkRect2D -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D                       extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org data VkRectLayerKHR VkRectLayerKHR# :: Addr# -> ByteArray# -> VkRectLayerKHR -- |
--   typedef struct VkSpecializationInfo {
--       uint32_t               mapEntryCount;
--       const VkSpecializationMapEntry* pMapEntries;
--       size_t                 dataSize;
--       const void*            pData;
--   } VkSpecializationInfo;
--   
-- -- VkSpecializationInfo registry at www.khronos.org data VkSpecializationInfo VkSpecializationInfo# :: Addr# -> ByteArray# -> VkSpecializationInfo -- |
--   typedef struct VkSpecializationMapEntry {
--       uint32_t               constantID;
--       uint32_t               offset;
--       size_t                 size;
--   } VkSpecializationMapEntry;
--   
-- -- VkSpecializationMapEntry registry at www.khronos.org data VkSpecializationMapEntry VkSpecializationMapEntry# :: Addr# -> ByteArray# -> VkSpecializationMapEntry -- |
--   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 data VkStencilOpState VkStencilOpState# :: Addr# -> ByteArray# -> VkStencilOpState -- |
--   typedef struct VkVertexInputAttributeDescription {
--       uint32_t               location;
--       uint32_t               binding;
--       VkFormat               format;
--       uint32_t               offset;
--   } VkVertexInputAttributeDescription;
--   
-- -- VkVertexInputAttributeDescription registry at www.khronos.org data VkVertexInputAttributeDescription VkVertexInputAttributeDescription# :: Addr# -> ByteArray# -> VkVertexInputAttributeDescription -- |
--   typedef struct VkVertexInputBindingDescription {
--       uint32_t               binding;
--       uint32_t               stride;
--       VkVertexInputRate      inputRate;
--   } VkVertexInputBindingDescription;
--   
-- -- VkVertexInputBindingDescription registry at www.khronos.org data VkVertexInputBindingDescription VkVertexInputBindingDescription# :: Addr# -> ByteArray# -> VkVertexInputBindingDescription -- |
--   typedef struct VkVertexInputBindingDivisorDescriptionEXT {
--       uint32_t          binding;
--       uint32_t          divisor;
--   } VkVertexInputBindingDivisorDescriptionEXT;
--   
-- -- VkVertexInputBindingDivisorDescriptionEXT registry at -- www.khronos.org data VkVertexInputBindingDivisorDescriptionEXT VkVertexInputBindingDivisorDescriptionEXT# :: Addr# -> ByteArray# -> VkVertexInputBindingDivisorDescriptionEXT -- |
--   typedef struct VkViewport {
--       float          x;
--       float          y;
--       float          width;
--       float          height;
--       float          minDepth;
--       float          maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org data VkViewport VkViewport# :: Addr# -> ByteArray# -> VkViewport -- |
--   typedef struct VkViewportSwizzleNV {
--       VkViewportCoordinateSwizzleNV          x;
--       VkViewportCoordinateSwizzleNV          y;
--       VkViewportCoordinateSwizzleNV          z;
--       VkViewportCoordinateSwizzleNV          w;
--   } VkViewportSwizzleNV;
--   
-- -- VkViewportSwizzleNV registry at www.khronos.org data VkViewportSwizzleNV VkViewportSwizzleNV# :: Addr# -> ByteArray# -> VkViewportSwizzleNV -- |
--   typedef struct VkViewportWScalingNV {
--       float          xcoeff;
--       float          ycoeff;
--   } VkViewportWScalingNV;
--   
-- -- VkViewportWScalingNV registry at www.khronos.org data VkViewportWScalingNV VkViewportWScalingNV# :: Addr# -> ByteArray# -> VkViewportWScalingNV type VkCreatePipelineLayout = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreatePipelineLayoutSafe :: VkDevice -> Ptr VkPipelineLayoutCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkPipelineLayout -> IO VkResult type VkDestroyPipelineLayout = "vkDestroyPipelineLayout" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyPipelineLayoutSafe :: VkDevice -> VkPipelineLayout -> Ptr VkAllocationCallbacks -> IO () -- |
--   typedef struct VkPushConstantRange {
--       VkShaderStageFlags     stageFlags;
--       uint32_t               offset;
--       uint32_t               size;
--   } VkPushConstantRange;
--   
-- -- VkPushConstantRange registry at www.khronos.org data VkPushConstantRange VkPushConstantRange# :: Addr# -> ByteArray# -> VkPushConstantRange type VkCreateSampler = "vkCreateSampler" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY, -- VK_ERROR_TOO_MANY_OBJECTS. -- --
--   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, -- VK_ERROR_TOO_MANY_OBJECTS. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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, -- VK_ERROR_TOO_MANY_OBJECTS. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateSamplerSafe :: VkDevice -> Ptr VkSamplerCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSampler -> IO VkResult type VkDestroySampler = "vkDestroySampler" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroySamplerSafe :: VkDevice -> VkSampler -> Ptr VkAllocationCallbacks -> IO () -- | type = enum -- -- VkBorderColor registry at www.khronos.org newtype VkBorderColor VkBorderColor :: Int32 -> VkBorderColor -- | type = enum -- -- VkFilter registry at www.khronos.org newtype VkFilter VkFilter :: Int32 -> VkFilter -- | type = enum -- -- VkSamplerAddressMode registry at www.khronos.org newtype VkSamplerAddressMode VkSamplerAddressMode :: Int32 -> VkSamplerAddressMode newtype VkSamplerCreateFlagBits VkSamplerCreateFlagBits :: VkFlags -> VkSamplerCreateFlagBits -- | type = enum -- -- VkSamplerMipmapMode registry at www.khronos.org newtype VkSamplerMipmapMode VkSamplerMipmapMode :: Int32 -> VkSamplerMipmapMode -- | Choose nearest mip level -- | Linear filter between mip levels -- | type = enum -- -- VkSamplerReductionModeEXT registry at www.khronos.org newtype VkSamplerReductionModeEXT VkSamplerReductionModeEXT :: Int32 -> VkSamplerReductionModeEXT -- | type = enum -- -- VkSamplerYcbcrModelConversion registry at www.khronos.org newtype VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversion :: Int32 -> VkSamplerYcbcrModelConversion -- | just range expansion -- | aka HD YUV -- | aka SD YUV -- | aka UHD YUV newtype VkSamplerYcbcrModelConversionKHR VkSamplerYcbcrModelConversionKHR :: VkFlags -> VkSamplerYcbcrModelConversionKHR -- | 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) -- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240 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 data VkSamplerCreateInfo VkSamplerCreateInfo# :: Addr# -> ByteArray# -> VkSamplerCreateInfo -- |
--   typedef struct VkSamplerReductionModeCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSamplerReductionModeEXT reductionMode;
--   } VkSamplerReductionModeCreateInfoEXT;
--   
-- -- VkSamplerReductionModeCreateInfoEXT registry at www.khronos.org data VkSamplerReductionModeCreateInfoEXT VkSamplerReductionModeCreateInfoEXT# :: Addr# -> ByteArray# -> VkSamplerReductionModeCreateInfoEXT -- |
--   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 data VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfo# :: Addr# -> ByteArray# -> VkSamplerYcbcrConversionCreateInfo -- | Alias for VkSamplerYcbcrConversionCreateInfo type VkSamplerYcbcrConversionCreateInfoKHR = VkSamplerYcbcrConversionCreateInfo -- |
--   typedef struct VkSamplerYcbcrConversionImageFormatProperties {
--       VkStructureType sType;
--       void*      pNext;
--       uint32_t                         combinedImageSamplerDescriptorCount;
--   } VkSamplerYcbcrConversionImageFormatProperties;
--   
-- -- VkSamplerYcbcrConversionImageFormatProperties registry at -- www.khronos.org data VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatProperties# :: Addr# -> ByteArray# -> VkSamplerYcbcrConversionImageFormatProperties -- | Alias for VkSamplerYcbcrConversionImageFormatProperties type VkSamplerYcbcrConversionImageFormatPropertiesKHR = VkSamplerYcbcrConversionImageFormatProperties -- |
--   typedef struct VkSamplerYcbcrConversionInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSamplerYcbcrConversion      conversion;
--   } VkSamplerYcbcrConversionInfo;
--   
-- -- VkSamplerYcbcrConversionInfo registry at www.khronos.org data VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfo# :: Addr# -> ByteArray# -> VkSamplerYcbcrConversionInfo -- | Alias for VkSamplerYcbcrConversionInfo type VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo type VkCreateDescriptorSetLayout = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateDescriptorSetLayoutSafe :: VkDevice -> Ptr VkDescriptorSetLayoutCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorSetLayout -> IO VkResult type VkDestroyDescriptorSetLayout = "vkDestroyDescriptorSetLayout" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyDescriptorSetLayoutSafe :: VkDevice -> VkDescriptorSetLayout -> Ptr VkAllocationCallbacks -> IO () type VkCreateDescriptorPool = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateDescriptorPoolSafe :: VkDevice -> Ptr VkDescriptorPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorPool -> IO VkResult type VkDestroyDescriptorPool = "vkDestroyDescriptorPool" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyDescriptorPoolSafe :: VkDevice -> VkDescriptorPool -> Ptr VkAllocationCallbacks -> IO () type VkResetDescriptorPool = "vkResetDescriptorPool" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   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. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkResetDescriptorPool :: VkDevice -> VkDescriptorPool -> VkDescriptorPoolResetFlags -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkResetDescriptorPoolSafe :: VkDevice -> VkDescriptorPool -> VkDescriptorPoolResetFlags -> IO VkResult type VkAllocateDescriptorSets = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkAllocateDescriptorSetsSafe :: VkDevice -> Ptr VkDescriptorSetAllocateInfo -> Ptr VkDescriptorSet -> IO VkResult type VkFreeDescriptorSets = "vkFreeDescriptorSets" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   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. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkFreeDescriptorSets :: VkDevice -> VkDescriptorPool -> Word32 -> Ptr VkDescriptorSet -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkFreeDescriptorSetsSafe :: VkDevice -> VkDescriptorPool -> Word32 -> Ptr VkDescriptorSet -> IO VkResult type VkUpdateDescriptorSets = "vkUpdateDescriptorSets" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkUpdateDescriptorSetsSafe :: VkDevice -> Word32 -> Ptr VkWriteDescriptorSet -> Word32 -> Ptr VkCopyDescriptorSet -> IO () newtype VkDescriptorBindingBitmaskEXT (a :: FlagType) VkDescriptorBindingBitmaskEXT :: VkFlags -> VkDescriptorBindingBitmaskEXT type VkDescriptorBindingFlagsEXT = VkDescriptorBindingBitmaskEXT FlagMask type VkDescriptorBindingFlagBitsEXT = VkDescriptorBindingBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit -- | Descriptor sets may be freed individually -- -- bitpos = 0 newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR -- |
--   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 data VkCopyDescriptorSet VkCopyDescriptorSet# :: Addr# -> ByteArray# -> VkCopyDescriptorSet -- |
--   typedef struct VkDescriptorBufferInfo {
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkDescriptorBufferInfo;
--   
-- -- VkDescriptorBufferInfo registry at www.khronos.org data VkDescriptorBufferInfo VkDescriptorBufferInfo# :: Addr# -> ByteArray# -> VkDescriptorBufferInfo -- |
--   typedef struct VkDescriptorImageInfo {
--       VkSampler       sampler;
--       VkImageView     imageView;
--       VkImageLayout   imageLayout;
--   } VkDescriptorImageInfo;
--   
-- -- VkDescriptorImageInfo registry at www.khronos.org data VkDescriptorImageInfo VkDescriptorImageInfo# :: Addr# -> ByteArray# -> 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 data VkDescriptorPoolCreateInfo VkDescriptorPoolCreateInfo# :: Addr# -> ByteArray# -> VkDescriptorPoolCreateInfo -- |
--   typedef struct VkDescriptorPoolSize {
--       VkDescriptorType       type;
--       uint32_t               descriptorCount;
--   } VkDescriptorPoolSize;
--   
-- -- VkDescriptorPoolSize registry at www.khronos.org data VkDescriptorPoolSize VkDescriptorPoolSize# :: Addr# -> ByteArray# -> VkDescriptorPoolSize -- |
--   typedef struct VkDescriptorSetAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPool       descriptorPool;
--       uint32_t               descriptorSetCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--   } VkDescriptorSetAllocateInfo;
--   
-- -- VkDescriptorSetAllocateInfo registry at www.khronos.org data VkDescriptorSetAllocateInfo VkDescriptorSetAllocateInfo# :: Addr# -> ByteArray# -> VkDescriptorSetAllocateInfo -- |
--   typedef struct VkDescriptorSetLayoutBinding {
--       uint32_t               binding;
--       VkDescriptorType       descriptorType;
--       uint32_t descriptorCount;
--       VkShaderStageFlags     stageFlags;
--       const VkSampler*       pImmutableSamplers;
--   } VkDescriptorSetLayoutBinding;
--   
-- -- VkDescriptorSetLayoutBinding registry at www.khronos.org data VkDescriptorSetLayoutBinding VkDescriptorSetLayoutBinding# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutBinding -- |
--   typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               bindingCount;
--       const VkDescriptorBindingFlagsEXT* pBindingFlags;
--   } VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
--   
-- -- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT registry at -- www.khronos.org data VkDescriptorSetLayoutBindingFlagsCreateInfoEXT VkDescriptorSetLayoutBindingFlagsCreateInfoEXT# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -- |
--   typedef struct VkDescriptorSetLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSetLayoutCreateFlags    flags;
--       uint32_t               bindingCount;
--       const VkDescriptorSetLayoutBinding* pBindings;
--   } VkDescriptorSetLayoutCreateInfo;
--   
-- -- VkDescriptorSetLayoutCreateInfo registry at www.khronos.org data VkDescriptorSetLayoutCreateInfo VkDescriptorSetLayoutCreateInfo# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutCreateInfo -- |
--   typedef struct VkDescriptorSetLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       VkBool32         supported;
--   } VkDescriptorSetLayoutSupport;
--   
-- -- VkDescriptorSetLayoutSupport registry at www.khronos.org data VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupport# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutSupport -- | Alias for VkDescriptorSetLayoutSupport type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               descriptorSetCount;
--       const uint32_t* pDescriptorCounts;
--   } VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
--   
-- -- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT registry at -- www.khronos.org data VkDescriptorSetVariableDescriptorCountAllocateInfoEXT VkDescriptorSetVariableDescriptorCountAllocateInfoEXT# :: Addr# -> ByteArray# -> VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {
--       VkStructureType sType;
--       void*            pNext;
--       uint32_t         maxVariableDescriptorCount;
--   } VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
--   
-- -- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT registry at -- www.khronos.org data VkDescriptorSetVariableDescriptorCountLayoutSupportEXT VkDescriptorSetVariableDescriptorCountLayoutSupportEXT# :: Addr# -> ByteArray# -> VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -- |
--   typedef struct VkDescriptorUpdateTemplateCreateInfo {
--       VkStructureType sType;
--       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 data VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntry# :: Addr# -> ByteArray# -> 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 data VkWriteDescriptorSet VkWriteDescriptorSet# :: Addr# -> ByteArray# -> VkWriteDescriptorSet type VkCreateFramebuffer = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateFramebufferSafe :: VkDevice -> Ptr VkFramebufferCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkFramebuffer -> IO VkResult type VkDestroyFramebuffer = "vkDestroyFramebuffer" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyFramebufferSafe :: VkDevice -> VkFramebuffer -> Ptr VkAllocationCallbacks -> IO () type VkCreateRenderPass = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateRenderPassSafe :: VkDevice -> Ptr VkRenderPassCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkRenderPass -> IO VkResult type VkDestroyRenderPass = "vkDestroyRenderPass" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyRenderPassSafe :: VkDevice -> VkRenderPass -> Ptr VkAllocationCallbacks -> IO () type VkGetRenderAreaGranularity = "vkGetRenderAreaGranularity" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetRenderAreaGranularitySafe :: VkDevice -> VkRenderPass -> Ptr VkExtent2D -> IO () newtype VkAccessBitmask (a :: FlagType) VkAccessBitmask :: VkFlags -> VkAccessBitmask type VkAccessFlags = VkAccessBitmask FlagMask type VkAccessFlagBits = VkAccessBitmask FlagBit -- | Controls coherency of indirect command reads -- -- bitpos = 0 -- | Controls coherency of index reads -- -- bitpos = 1 -- | Controls coherency of vertex attribute reads -- -- bitpos = 2 -- | Controls coherency of uniform buffer reads -- -- bitpos = 3 -- | Controls coherency of input attachment reads -- -- bitpos = 4 -- | Controls coherency of shader reads -- -- bitpos = 5 -- | Controls coherency of shader writes -- -- bitpos = 6 -- | Controls coherency of color attachment reads -- -- bitpos = 7 -- | Controls coherency of color attachment writes -- -- bitpos = 8 -- | Controls coherency of depth/stencil attachment reads -- -- bitpos = 9 -- | Controls coherency of depth/stencil attachment writes -- -- bitpos = 10 -- | Controls coherency of transfer reads -- -- bitpos = 11 -- | Controls coherency of transfer writes -- -- bitpos = 12 -- | Controls coherency of host reads -- -- bitpos = 13 -- | Controls coherency of host writes -- -- bitpos = 14 -- | Controls coherency of memory reads -- -- bitpos = 15 -- | Controls coherency of memory writes -- -- bitpos = 16 newtype VkAttachmentDescriptionBitmask (a :: FlagType) VkAttachmentDescriptionBitmask :: VkFlags -> VkAttachmentDescriptionBitmask type VkAttachmentDescriptionFlags = VkAttachmentDescriptionBitmask FlagMask type VkAttachmentDescriptionFlagBits = VkAttachmentDescriptionBitmask FlagBit -- | The attachment may alias physical memory of another attachment in the -- same render pass -- -- bitpos = 0 -- | type = enum -- -- VkAttachmentLoadOp registry at www.khronos.org newtype VkAttachmentLoadOp VkAttachmentLoadOp :: Int32 -> VkAttachmentLoadOp -- | type = enum -- -- VkAttachmentStoreOp registry at www.khronos.org newtype VkAttachmentStoreOp VkAttachmentStoreOp :: Int32 -> VkAttachmentStoreOp newtype VkDependencyBitmask (a :: FlagType) VkDependencyBitmask :: VkFlags -> VkDependencyBitmask type VkDependencyFlags = VkDependencyBitmask FlagMask type VkDependencyFlagBits = VkDependencyBitmask FlagBit -- | Dependency is per pixel region -- -- bitpos = 0 -- | type = enum -- -- VkSubpassContents registry at www.khronos.org newtype VkSubpassContents VkSubpassContents :: Int32 -> VkSubpassContents newtype VkSubpassDescriptionBitmask (a :: FlagType) VkSubpassDescriptionBitmask :: VkFlags -> VkSubpassDescriptionBitmask type VkSubpassDescriptionFlags = VkSubpassDescriptionBitmask FlagMask type VkSubpassDescriptionFlagBits = VkSubpassDescriptionBitmask FlagBit -- |
--   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 data VkAttachmentDescription VkAttachmentDescription# :: Addr# -> ByteArray# -> VkAttachmentDescription -- |
--   typedef struct VkAttachmentReference {
--       uint32_t               attachment;
--       VkImageLayout          layout;
--   } VkAttachmentReference;
--   
-- -- VkAttachmentReference registry at www.khronos.org data VkAttachmentReference VkAttachmentReference# :: Addr# -> ByteArray# -> VkAttachmentReference -- |
--   typedef struct VkAttachmentSampleLocationsEXT {
--       uint32_t                         attachmentIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkAttachmentSampleLocationsEXT;
--   
-- -- VkAttachmentSampleLocationsEXT registry at www.khronos.org data VkAttachmentSampleLocationsEXT VkAttachmentSampleLocationsEXT# :: Addr# -> ByteArray# -> VkAttachmentSampleLocationsEXT -- |
--   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 data VkFramebufferCreateInfo VkFramebufferCreateInfo# :: Addr# -> ByteArray# -> VkFramebufferCreateInfo -- |
--   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 data VkRenderPassBeginInfo VkRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassCreateInfo VkRenderPassCreateInfo# :: Addr# -> ByteArray# -> VkRenderPassCreateInfo -- |
--   typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
--       VkStructureType sType;
--       const void*                     pNext;
--       uint32_t                        aspectReferenceCount;
--       const VkInputAttachmentAspectReference* pAspectReferences;
--   } VkRenderPassInputAttachmentAspectCreateInfo;
--   
-- -- VkRenderPassInputAttachmentAspectCreateInfo registry at -- www.khronos.org data VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassSampleLocationsBeginInfoEXT VkRenderPassSampleLocationsBeginInfoEXT# :: Addr# -> ByteArray# -> VkRenderPassSampleLocationsBeginInfoEXT -- |
--   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 data VkSubpassDependency VkSubpassDependency# :: Addr# -> ByteArray# -> 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 data VkSubpassDescription VkSubpassDescription# :: Addr# -> ByteArray# -> VkSubpassDescription -- |
--   typedef struct VkSubpassSampleLocationsEXT {
--       uint32_t                         subpassIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkSubpassSampleLocationsEXT;
--   
-- -- VkSubpassSampleLocationsEXT registry at www.khronos.org data VkSubpassSampleLocationsEXT VkSubpassSampleLocationsEXT# :: Addr# -> ByteArray# -> VkSubpassSampleLocationsEXT type VkCreateCommandPool = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateCommandPoolSafe :: VkDevice -> Ptr VkCommandPoolCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkCommandPool -> IO VkResult type VkDestroyCommandPool = "vkDestroyCommandPool" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyCommandPoolSafe :: VkDevice -> VkCommandPool -> Ptr VkAllocationCallbacks -> IO () type VkResetCommandPool = "vkResetCommandPool" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- 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_HOST_MEMORY, -- 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkResetCommandPool :: VkDevice -> VkCommandPool -> VkCommandPoolResetFlags -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkResetCommandPoolSafe :: VkDevice -> VkCommandPool -> VkCommandPoolResetFlags -> IO VkResult -- | type = enum -- -- VkCommandBufferLevel registry at www.khronos.org newtype VkCommandBufferLevel VkCommandBufferLevel :: Int32 -> VkCommandBufferLevel newtype VkCommandBufferResetBitmask (a :: FlagType) VkCommandBufferResetBitmask :: VkFlags -> VkCommandBufferResetBitmask type VkCommandBufferResetFlags = VkCommandBufferResetBitmask FlagMask type VkCommandBufferResetFlagBits = VkCommandBufferResetBitmask FlagBit -- | Release resources owned by the buffer -- -- bitpos = 0 newtype VkCommandBufferUsageBitmask (a :: FlagType) VkCommandBufferUsageBitmask :: VkFlags -> VkCommandBufferUsageBitmask type VkCommandBufferUsageFlags = VkCommandBufferUsageBitmask FlagMask type VkCommandBufferUsageFlagBits = VkCommandBufferUsageBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | Command buffer may be submitted/executed more than once simultaneously -- -- bitpos = 2 newtype VkCommandPoolCreateBitmask (a :: FlagType) VkCommandPoolCreateBitmask :: VkFlags -> VkCommandPoolCreateBitmask type VkCommandPoolCreateFlags = VkCommandPoolCreateBitmask FlagMask type VkCommandPoolCreateFlagBits = VkCommandPoolCreateBitmask FlagBit -- | Command buffers have a short lifetime -- -- bitpos = 0 -- | Command buffers may release their memory individually -- -- bitpos = 1 newtype VkCommandPoolResetBitmask (a :: FlagType) VkCommandPoolResetBitmask :: VkFlags -> VkCommandPoolResetBitmask type VkCommandPoolResetFlags = VkCommandPoolResetBitmask FlagMask type VkCommandPoolResetFlagBits = VkCommandPoolResetBitmask FlagBit -- | Release resources owned by the pool -- -- bitpos = 0 -- |
--   typedef struct VkCommandBufferAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkCommandPool          commandPool;
--       VkCommandBufferLevel   level;
--       uint32_t               commandBufferCount;
--   } VkCommandBufferAllocateInfo;
--   
-- -- VkCommandBufferAllocateInfo registry at www.khronos.org data VkCommandBufferAllocateInfo VkCommandBufferAllocateInfo# :: Addr# -> ByteArray# -> VkCommandBufferAllocateInfo -- |
--   typedef struct VkCommandBufferBeginInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkCommandBufferUsageFlags  flags;
--       const VkCommandBufferInheritanceInfo*       pInheritanceInfo;
--   } VkCommandBufferBeginInfo;
--   
-- -- VkCommandBufferBeginInfo registry at www.khronos.org data VkCommandBufferBeginInfo VkCommandBufferBeginInfo# :: Addr# -> ByteArray# -> 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 data VkCommandBufferInheritanceInfo VkCommandBufferInheritanceInfo# :: Addr# -> ByteArray# -> VkCommandBufferInheritanceInfo -- |
--   typedef struct VkCommandPoolCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkCommandPoolCreateFlags   flags;
--       uint32_t               queueFamilyIndex;
--   } VkCommandPoolCreateInfo;
--   
-- -- VkCommandPoolCreateInfo registry at www.khronos.org data VkCommandPoolCreateInfo VkCommandPoolCreateInfo# :: Addr# -> ByteArray# -> VkCommandPoolCreateInfo type VkAllocateCommandBuffers = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkAllocateCommandBuffersSafe :: VkDevice -> Ptr VkCommandBufferAllocateInfo -> Ptr VkCommandBuffer -> IO VkResult type VkFreeCommandBuffers = "vkFreeCommandBuffers" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkFreeCommandBuffersSafe :: VkDevice -> VkCommandPool -> Word32 -> Ptr VkCommandBuffer -> IO () type VkBeginCommandBuffer = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkBeginCommandBufferSafe :: VkCommandBuffer -> Ptr VkCommandBufferBeginInfo -> IO VkResult type VkEndCommandBuffer = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkEndCommandBufferSafe :: VkCommandBuffer -> IO VkResult type VkResetCommandBuffer = "vkResetCommandBuffer" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- 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_HOST_MEMORY, -- 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkResetCommandBuffer :: VkCommandBuffer -> VkCommandBufferResetFlags -> IO VkResult -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkResetCommandBufferSafe :: VkCommandBuffer -> VkCommandBufferResetFlags -> IO VkResult type VkCmdBindPipeline = "vkCmdBindPipeline" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdBindPipelineSafe :: VkCommandBuffer -> VkPipelineBindPoint -> VkPipeline -> IO () type VkCmdSetViewport = "vkCmdSetViewport" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdSetViewportSafe :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkViewport -> IO () type VkCmdSetScissor = "vkCmdSetScissor" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdSetScissorSafe :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkRect2D -> IO () type VkCmdSetLineWidth = "vkCmdSetLineWidth" -- | 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 -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. -- -- 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdSetLineWidth :: 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdSetLineWidthSafe :: VkCommandBuffer -> Float -> IO () type VkCmdSetDepthBias = "vkCmdSetDepthBias" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdSetDepthBiasSafe :: VkCommandBuffer -> Float -> Float -> Float -> IO () type VkCmdSetBlendConstants = "vkCmdSetBlendConstants" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdSetBlendConstantsSafe :: VkCommandBuffer -> Ptr Float -> IO () type VkCmdSetDepthBounds = "vkCmdSetDepthBounds" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdSetDepthBoundsSafe :: VkCommandBuffer -> Float -> Float -> IO () type VkCmdSetStencilCompareMask = "vkCmdSetStencilCompareMask" -- | 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 vkCmdSetStencilCompareMask :: 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdSetStencilCompareMaskSafe :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () type VkCmdSetStencilWriteMask = "vkCmdSetStencilWriteMask" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdSetStencilWriteMaskSafe :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () type VkCmdSetStencilReference = "vkCmdSetStencilReference" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdSetStencilReferenceSafe :: VkCommandBuffer -> VkStencilFaceFlags -> Word32 -> IO () type VkCmdBindDescriptorSets = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdBindDescriptorSetsSafe :: VkCommandBuffer -> VkPipelineBindPoint -> VkPipelineLayout -> Word32 -> Word32 -> Ptr VkDescriptorSet -> Word32 -> Ptr Word32 -> IO () type VkCmdBindIndexBuffer = "vkCmdBindIndexBuffer" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdBindIndexBufferSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkIndexType -> IO () type VkCmdBindVertexBuffers = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdBindVertexBuffersSafe :: VkCommandBuffer -> Word32 -> Word32 -> Ptr VkBuffer -> Ptr VkDeviceSize -> IO () type VkCmdDraw = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdDrawSafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Word32 -> IO () type VkCmdDrawIndexed = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdDrawIndexedSafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Int32 -> Word32 -> IO () type VkCmdDrawIndirect = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdDrawIndirectSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () type VkCmdDrawIndexedIndirect = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdDrawIndexedIndirectSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> Word32 -> Word32 -> IO () type VkCmdDispatch = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdDispatchSafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> IO () type VkCmdDispatchIndirect = "vkCmdDispatchIndirect" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdDispatchIndirectSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> IO () type VkCmdCopyBuffer = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdCopyBufferSafe :: VkCommandBuffer -> VkBuffer -> VkBuffer -> Word32 -> Ptr VkBufferCopy -> IO () type VkCmdCopyImage = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdCopyImageSafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageCopy -> IO () type VkCmdBlitImage = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdBlitImageSafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageBlit -> VkFilter -> IO () type VkCmdCopyBufferToImage = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdCopyBufferToImageSafe :: VkCommandBuffer -> VkBuffer -> VkImage -> VkImageLayout -> Word32 -> Ptr VkBufferImageCopy -> IO () type VkCmdCopyImageToBuffer = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdCopyImageToBufferSafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkBuffer -> Word32 -> Ptr VkBufferImageCopy -> IO () type VkCmdUpdateBuffer = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdUpdateBufferSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> Ptr Void -> IO () type VkCmdFillBuffer = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdFillBufferSafe :: VkCommandBuffer -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> Word32 -> IO () type VkCmdClearColorImage = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdClearColorImageSafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> Ptr VkClearColorValue -> Word32 -> Ptr VkImageSubresourceRange -> IO () type VkCmdClearDepthStencilImage = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdClearDepthStencilImageSafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> Ptr VkClearDepthStencilValue -> Word32 -> Ptr VkImageSubresourceRange -> IO () type VkCmdClearAttachments = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdClearAttachmentsSafe :: VkCommandBuffer -> Word32 -> Ptr VkClearAttachment -> Word32 -> Ptr VkClearRect -> IO () type VkCmdResolveImage = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdResolveImageSafe :: VkCommandBuffer -> VkImage -> VkImageLayout -> VkImage -> VkImageLayout -> Word32 -> Ptr VkImageResolve -> IO () type VkCmdSetEvent = "vkCmdSetEvent" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdSetEventSafe :: VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO () type VkCmdResetEvent = "vkCmdResetEvent" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdResetEventSafe :: VkCommandBuffer -> VkEvent -> VkPipelineStageFlags -> IO () type VkCmdWaitEvents = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdWaitEventsSafe :: VkCommandBuffer -> Word32 -> Ptr VkEvent -> VkPipelineStageFlags -> VkPipelineStageFlags -> Word32 -> Ptr VkMemoryBarrier -> Word32 -> Ptr VkBufferMemoryBarrier -> Word32 -> Ptr VkImageMemoryBarrier -> IO () type VkCmdPipelineBarrier = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdPipelineBarrierSafe :: VkCommandBuffer -> VkPipelineStageFlags -> VkPipelineStageFlags -> VkDependencyFlags -> Word32 -> Ptr VkMemoryBarrier -> Word32 -> Ptr VkBufferMemoryBarrier -> Word32 -> Ptr VkImageMemoryBarrier -> IO () type VkCmdBeginQuery = "vkCmdBeginQuery" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdBeginQuerySafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> VkQueryControlFlags -> IO () type VkCmdEndQuery = "vkCmdEndQuery" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdEndQuerySafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> IO () type VkCmdResetQueryPool = "vkCmdResetQueryPool" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdResetQueryPoolSafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> Word32 -> IO () type VkCmdWriteTimestamp = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdWriteTimestampSafe :: VkCommandBuffer -> VkPipelineStageFlagBits -> VkQueryPool -> Word32 -> IO () type VkCmdCopyQueryPoolResults = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdCopyQueryPoolResultsSafe :: VkCommandBuffer -> VkQueryPool -> Word32 -> Word32 -> VkBuffer -> VkDeviceSize -> VkDeviceSize -> VkQueryResultFlags -> IO () type VkCmdPushConstants = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdPushConstantsSafe :: VkCommandBuffer -> VkPipelineLayout -> VkShaderStageFlags -> Word32 -> Word32 -> Ptr Void -> IO () type VkCmdBeginRenderPass = "vkCmdBeginRenderPass" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdBeginRenderPassSafe :: VkCommandBuffer -> Ptr VkRenderPassBeginInfo -> VkSubpassContents -> IO () type VkCmdNextSubpass = "vkCmdNextSubpass" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdNextSubpassSafe :: VkCommandBuffer -> VkSubpassContents -> IO () type VkCmdEndRenderPass = "vkCmdEndRenderPass" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdEndRenderPassSafe :: VkCommandBuffer -> IO () type VkCmdExecuteCommands = "vkCmdExecuteCommands" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdExecuteCommandsSafe :: VkCommandBuffer -> Word32 -> Ptr VkCommandBuffer -> IO () -- | type = enum -- -- VkIndexType registry at www.khronos.org newtype VkIndexType VkIndexType :: Int32 -> VkIndexType -- |
--   typedef struct VkClearAttachment {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               colorAttachment;
--       VkClearValue           clearValue;
--   } VkClearAttachment;
--   
-- -- VkClearAttachment registry at www.khronos.org data VkClearAttachment VkClearAttachment# :: Addr# -> ByteArray# -> 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 data VkClearColorValue VkClearColorValue# :: Addr# -> ByteArray# -> VkClearColorValue -- |
--   typedef struct VkClearDepthStencilValue {
--       float                  depth;
--       uint32_t               stencil;
--   } VkClearDepthStencilValue;
--   
-- -- VkClearDepthStencilValue registry at www.khronos.org data VkClearDepthStencilValue VkClearDepthStencilValue# :: Addr# -> ByteArray# -> VkClearDepthStencilValue -- |
--   typedef struct VkClearRect {
--       VkRect2D       rect;
--       uint32_t       baseArrayLayer;
--       uint32_t       layerCount;
--   } VkClearRect;
--   
-- -- VkClearRect registry at www.khronos.org data VkClearRect VkClearRect# :: Addr# -> ByteArray# -> 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 data VkClearValue VkClearValue# :: Addr# -> ByteArray# -> VkClearValue -- |
--   typedef struct VkDispatchIndirectCommand {
--       uint32_t               x;
--       uint32_t               y;
--       uint32_t               z;
--   } VkDispatchIndirectCommand;
--   
-- -- VkDispatchIndirectCommand registry at www.khronos.org data VkDispatchIndirectCommand VkDispatchIndirectCommand# :: Addr# -> ByteArray# -> 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 data VkDrawIndexedIndirectCommand VkDrawIndexedIndirectCommand# :: Addr# -> ByteArray# -> VkDrawIndexedIndirectCommand -- |
--   typedef struct VkDrawIndirectCommand {
--       uint32_t               vertexCount;
--       uint32_t               instanceCount;
--       uint32_t               firstVertex;
--       uint32_t               firstInstance;
--   } VkDrawIndirectCommand;
--   
-- -- VkDrawIndirectCommand registry at www.khronos.org data VkDrawIndirectCommand VkDrawIndirectCommand# :: Addr# -> ByteArray# -> VkDrawIndirectCommand -- | type = enum -- -- VkObjectEntryTypeNVX registry at www.khronos.org newtype VkObjectEntryTypeNVX VkObjectEntryTypeNVX :: Int32 -> VkObjectEntryTypeNVX newtype VkObjectEntryUsageBitmaskNVX (a :: FlagType) VkObjectEntryUsageBitmaskNVX :: VkFlags -> VkObjectEntryUsageBitmaskNVX type VkObjectEntryUsageFlagsNVX = VkObjectEntryUsageBitmaskNVX FlagMask type VkObjectEntryUsageFlagBitsNVX = VkObjectEntryUsageBitmaskNVX FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | Enums to track objects of various types -- -- type = enum -- -- VkObjectType registry at www.khronos.org newtype VkObjectType VkObjectType :: Int32 -> VkObjectType -- | VkInstance -- | VkPhysicalDevice -- | VkDevice -- | VkQueue -- | VkSemaphore -- | VkCommandBuffer -- | VkFence -- | VkDeviceMemory -- | VkBuffer -- | VkImage -- | VkEvent -- | VkQueryPool -- | VkBufferView -- | VkImageView -- | VkShaderModule -- | VkPipelineCache -- | VkPipelineLayout -- | VkRenderPass -- | VkPipeline -- | VkDescriptorSetLayout -- | VkSampler -- | VkDescriptorPool -- | VkDescriptorSet -- | VkFramebuffer -- | VkCommandPool instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateInstance" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyInstance" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumeratePhysicalDevices" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceFeatures" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceFormatProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceImageFormatProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceMemoryProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetInstanceProcAddr" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceProcAddr" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDevice" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDevice" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumerateInstanceExtensionProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumerateDeviceExtensionProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumerateInstanceLayerProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumerateDeviceLayerProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceQueue" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueueSubmit" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueueWaitIdle" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDeviceWaitIdle" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkAllocateMemory" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkFreeMemory" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkMapMemory" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkUnmapMemory" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkFlushMappedMemoryRanges" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkInvalidateMappedMemoryRanges" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceMemoryCommitment" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindBufferMemory" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindImageMemory" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetBufferMemoryRequirements" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageMemoryRequirements" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageSparseMemoryRequirements" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSparseImageFormatProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkQueueBindSparse" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateFence" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyFence" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkResetFences" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetFenceStatus" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkWaitForFences" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateSemaphore" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroySemaphore" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateEvent" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyEvent" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetEventStatus" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkSetEvent" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkResetEvent" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateQueryPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyQueryPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetQueryPoolResults" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateBufferView" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyBufferView" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageSubresourceLayout" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateImageView" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyImageView" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateShaderModule" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyShaderModule" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreatePipelineCache" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyPipelineCache" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPipelineCacheData" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkMergePipelineCaches" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateGraphicsPipelines" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateComputePipelines" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyPipeline" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreatePipelineLayout" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyPipelineLayout" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateSampler" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroySampler" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDescriptorSetLayout" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDescriptorSetLayout" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDescriptorPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDescriptorPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkResetDescriptorPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkAllocateDescriptorSets" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkFreeDescriptorSets" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkUpdateDescriptorSets" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateFramebuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyFramebuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateRenderPass" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyRenderPass" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetRenderAreaGranularity" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateCommandPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyCommandPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkResetCommandPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkAllocateCommandBuffers" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkFreeCommandBuffers" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBeginCommandBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEndCommandBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkResetCommandBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBindPipeline" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetViewport" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetScissor" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetLineWidth" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDepthBias" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetBlendConstants" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDepthBounds" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetStencilCompareMask" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetStencilWriteMask" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetStencilReference" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBindDescriptorSets" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBindIndexBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBindVertexBuffers" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDraw" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndexed" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndirect" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDrawIndexedIndirect" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDispatch" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDispatchIndirect" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBlitImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyBufferToImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyImageToBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdUpdateBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdFillBuffer" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdClearColorImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdClearDepthStencilImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdClearAttachments" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdResolveImage" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetEvent" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdResetEvent" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdWaitEvents" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdPipelineBarrier" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBeginQuery" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdEndQuery" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdResetQueryPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdWriteTimestamp" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdCopyQueryPoolResults" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdPushConstants" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdBeginRenderPass" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdNextSubpass" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdEndRenderPass" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdExecuteCommands" module Graphics.Vulkan.Core_1_1 type VkEnumerateInstanceVersion = "vkEnumerateInstanceVersion" -- | Success codes: VK_SUCCESS. -- --
--   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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkEnumerateInstanceVersion :: Ptr Word32 -> IO VkResult -- | Success codes: VK_SUCCESS. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkEnumerateInstanceVersionSafe :: Ptr Word32 -> IO VkResult -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask type VkShaderStageFlags = VkShaderStageBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs newtype VkSubgroupFeatureBitmask (a :: FlagType) VkSubgroupFeatureBitmask :: VkFlags -> VkSubgroupFeatureBitmask type VkSubgroupFeatureFlags = VkSubgroupFeatureBitmask FlagMask type VkSubgroupFeatureFlagBits = VkSubgroupFeatureBitmask FlagBit -- | Basic subgroup operations -- -- bitpos = 0 -- | Vote subgroup operations -- -- bitpos = 1 -- | Arithmetic subgroup operations -- -- bitpos = 2 -- | Ballot subgroup operations -- -- bitpos = 3 -- | Shuffle subgroup operations -- -- bitpos = 4 -- | Shuffle relative subgroup operations -- -- bitpos = 5 -- | Clustered subgroup operations -- -- bitpos = 6 -- | Quad subgroup operations -- -- bitpos = 7 -- |
--   typedef struct VkBindBufferMemoryDeviceGroupInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--   } VkBindBufferMemoryDeviceGroupInfo;
--   
-- -- VkBindBufferMemoryDeviceGroupInfo registry at www.khronos.org data VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfo# :: Addr# -> ByteArray# -> 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 data VkBindBufferMemoryInfo VkBindBufferMemoryInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemoryInfo VkBindImageMemoryInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemorySwapchainInfoKHR VkBindImageMemorySwapchainInfoKHR# :: Addr# -> ByteArray# -> VkBindImageMemorySwapchainInfoKHR -- |
--   typedef struct VkBindImagePlaneMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkBindImagePlaneMemoryInfo;
--   
-- -- VkBindImagePlaneMemoryInfo registry at www.khronos.org data VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfo# :: Addr# -> ByteArray# -> VkBindImagePlaneMemoryInfo -- | Alias for VkBindImagePlaneMemoryInfo type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo -- |
--   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 data VkBindSparseInfo VkBindSparseInfo# :: Addr# -> ByteArray# -> VkBindSparseInfo type VkBindBufferMemory2 = "vkBindBufferMemory2" -- | Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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. -- --
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkBindBufferMemory2Safe :: VkDevice -> Word32 -> Ptr VkBindBufferMemoryInfo -> IO VkResult type VkBindImageMemory2 = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkBindImageMemory2Safe :: VkDevice -> Word32 -> Ptr VkBindImageMemoryInfo -> IO VkResult 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- | bitpos = 10 newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 data VkDeviceCreateInfo VkDeviceCreateInfo# :: Addr# -> ByteArray# -> VkDeviceCreateInfo -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org data VkDeviceEventInfoEXT VkDeviceEventInfoEXT# :: Addr# -> ByteArray# -> VkDeviceEventInfoEXT -- |
--   typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         computeBindingPointSupport;
--   } VkDeviceGeneratedCommandsFeaturesNVX;
--   
-- -- VkDeviceGeneratedCommandsFeaturesNVX registry at -- www.khronos.org data VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsFeaturesNVX -- |
--   typedef struct VkDeviceGeneratedCommandsLimitsNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         maxIndirectCommandsLayoutTokenCount;
--       uint32_t                         maxObjectEntryCounts;
--       uint32_t                         minSequenceCountBufferOffsetAlignment;
--       uint32_t                         minSequenceIndexBufferOffsetAlignment;
--       uint32_t                         minCommandsTokenBufferOffsetAlignment;
--   } VkDeviceGeneratedCommandsLimitsNVX;
--   
-- -- VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org data VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsLimitsNVX -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org data VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo# :: Addr# -> ByteArray# -> VkDeviceGroupSubmitInfo -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org data VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkDeviceGroupSwapchainCreateInfoKHR -- |
--   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 data VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo# :: Addr# -> ByteArray# -> VkDeviceQueueCreateInfo -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org data VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT# :: Addr# -> ByteArray# -> VkDeviceQueueGlobalPriorityCreateInfoEXT -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org data VkDeviceQueueInfo2 VkDeviceQueueInfo2# :: Addr# -> ByteArray# -> VkDeviceQueueInfo2 newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit -- | Present from local memory -- -- bitpos = 0 -- | Present from remote memory -- -- bitpos = 1 -- | Present sum of local and/or remote memory -- -- bitpos = 2 -- | Each physical device presents from local memory -- -- bitpos = 3 newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit -- |
--   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 data VkPhysicalDeviceFeatures VkPhysicalDeviceFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org data VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryAllocateInfo VkMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkMemoryAllocateInfo -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org data VkMemoryBarrier VkMemoryBarrier# :: Addr# -> ByteArray# -> VkMemoryBarrier -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org data VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements# :: Addr# -> ByteArray# -> VkMemoryDedicatedRequirements -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org data VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR# :: Addr# -> ByteArray# -> VkMemoryFdPropertiesKHR -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org data VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR# :: Addr# -> ByteArray# -> VkMemoryGetFdInfoKHR -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org data VkMemoryHeap VkMemoryHeap# :: Addr# -> ByteArray# -> VkMemoryHeap -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org data VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT# :: Addr# -> ByteArray# -> VkMemoryHostPointerPropertiesEXT -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org data VkMemoryRequirements VkMemoryRequirements# :: Addr# -> ByteArray# -> VkMemoryRequirements -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org data VkMemoryRequirements2 VkMemoryRequirements2# :: Addr# -> ByteArray# -> VkMemoryRequirements2 -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org data VkMemoryType VkMemoryType# :: Addr# -> ByteArray# -> VkMemoryType -- |
--   typedef struct VkClearAttachment {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               colorAttachment;
--       VkClearValue           clearValue;
--   } VkClearAttachment;
--   
-- -- VkClearAttachment registry at www.khronos.org data VkClearAttachment VkClearAttachment# :: Addr# -> ByteArray# -> 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 data VkClearColorValue VkClearColorValue# :: Addr# -> ByteArray# -> VkClearColorValue -- |
--   typedef struct VkClearDepthStencilValue {
--       float                  depth;
--       uint32_t               stencil;
--   } VkClearDepthStencilValue;
--   
-- -- VkClearDepthStencilValue registry at www.khronos.org data VkClearDepthStencilValue VkClearDepthStencilValue# :: Addr# -> ByteArray# -> VkClearDepthStencilValue -- |
--   typedef struct VkClearRect {
--       VkRect2D       rect;
--       uint32_t       baseArrayLayer;
--       uint32_t       layerCount;
--   } VkClearRect;
--   
-- -- VkClearRect registry at www.khronos.org data VkClearRect VkClearRect# :: Addr# -> ByteArray# -> 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 data VkClearValue VkClearValue# :: Addr# -> ByteArray# -> VkClearValue -- |
--   typedef struct VkCommandBufferAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkCommandPool          commandPool;
--       VkCommandBufferLevel   level;
--       uint32_t               commandBufferCount;
--   } VkCommandBufferAllocateInfo;
--   
-- -- VkCommandBufferAllocateInfo registry at www.khronos.org data VkCommandBufferAllocateInfo VkCommandBufferAllocateInfo# :: Addr# -> ByteArray# -> VkCommandBufferAllocateInfo -- |
--   typedef struct VkCommandBufferBeginInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkCommandBufferUsageFlags  flags;
--       const VkCommandBufferInheritanceInfo*       pInheritanceInfo;
--   } VkCommandBufferBeginInfo;
--   
-- -- VkCommandBufferBeginInfo registry at www.khronos.org data VkCommandBufferBeginInfo VkCommandBufferBeginInfo# :: Addr# -> ByteArray# -> 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 data VkCommandBufferInheritanceInfo VkCommandBufferInheritanceInfo# :: Addr# -> ByteArray# -> VkCommandBufferInheritanceInfo -- |
--   typedef struct VkCommandPoolCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkCommandPoolCreateFlags   flags;
--       uint32_t               queueFamilyIndex;
--   } VkCommandPoolCreateInfo;
--   
-- -- VkCommandPoolCreateInfo registry at www.khronos.org data VkCommandPoolCreateInfo VkCommandPoolCreateInfo# :: Addr# -> ByteArray# -> VkCommandPoolCreateInfo -- | type = enum -- -- VkCommandBufferLevel registry at www.khronos.org newtype VkCommandBufferLevel VkCommandBufferLevel :: Int32 -> VkCommandBufferLevel newtype VkCommandBufferResetBitmask (a :: FlagType) VkCommandBufferResetBitmask :: VkFlags -> VkCommandBufferResetBitmask type VkCommandBufferResetFlags = VkCommandBufferResetBitmask FlagMask type VkCommandBufferResetFlagBits = VkCommandBufferResetBitmask FlagBit -- | Release resources owned by the buffer -- -- bitpos = 0 newtype VkCommandBufferUsageBitmask (a :: FlagType) VkCommandBufferUsageBitmask :: VkFlags -> VkCommandBufferUsageBitmask type VkCommandBufferUsageFlags = VkCommandBufferUsageBitmask FlagMask type VkCommandBufferUsageFlagBits = VkCommandBufferUsageBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | Command buffer may be submitted/executed more than once simultaneously -- -- bitpos = 2 newtype VkCommandPoolCreateBitmask (a :: FlagType) VkCommandPoolCreateBitmask :: VkFlags -> VkCommandPoolCreateBitmask type VkCommandPoolCreateFlags = VkCommandPoolCreateBitmask FlagMask type VkCommandPoolCreateFlagBits = VkCommandPoolCreateBitmask FlagBit -- | Command buffers have a short lifetime -- -- bitpos = 0 -- | Command buffers may release their memory individually -- -- bitpos = 1 newtype VkCommandPoolResetBitmask (a :: FlagType) VkCommandPoolResetBitmask :: VkFlags -> VkCommandPoolResetBitmask type VkCommandPoolResetFlags = VkCommandPoolResetBitmask FlagMask type VkCommandPoolResetFlagBits = VkCommandPoolResetBitmask FlagBit -- | Release resources owned by the pool -- -- bitpos = 0 -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> VkImageViewUsageCreateInfo -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo newtype VkMemoryAllocateFlagBitsKHR VkMemoryAllocateFlagBitsKHR :: VkFlags -> VkMemoryAllocateFlagBitsKHR newtype VkMemoryAllocateBitmask (a :: FlagType) VkMemoryAllocateBitmask :: VkFlags -> VkMemoryAllocateBitmask type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask type VkMemoryAllocateFlagBits = VkMemoryAllocateBitmask FlagBit -- | Force allocation on specific devices -- -- bitpos = 0 newtype VkMemoryHeapBitmask (a :: FlagType) VkMemoryHeapBitmask :: VkFlags -> VkMemoryHeapBitmask type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask type VkMemoryHeapFlagBits = VkMemoryHeapBitmask FlagBit -- | If set, heap represents device memory -- -- bitpos = 0 newtype VkMemoryPropertyBitmask (a :: FlagType) VkMemoryPropertyBitmask :: VkFlags -> VkMemoryPropertyBitmask type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask type VkMemoryPropertyFlagBits = VkMemoryPropertyBitmask FlagBit -- | If otherwise stated, then allocate memory on device -- -- bitpos = 0 -- | Memory is mappable by host -- -- bitpos = 1 -- | Memory will have io coherency. If not set, application may need to -- use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to -- flushinvalidate host cache -- -- bitpos = 2 -- | Memory will be cached by the host -- -- bitpos = 3 -- | Memory may be allocated by the driver when it is required -- -- bitpos = 4 -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org data VkOffset2D VkOffset2D# :: Addr# -> ByteArray# -> VkOffset2D -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org data VkOffset3D VkOffset3D# :: Addr# -> ByteArray# -> VkOffset3D newtype VkPeerMemoryFeatureFlagBitsKHR VkPeerMemoryFeatureFlagBitsKHR :: VkFlags -> VkPeerMemoryFeatureFlagBitsKHR newtype VkPeerMemoryFeatureBitmask (a :: FlagType) VkPeerMemoryFeatureBitmask :: VkFlags -> VkPeerMemoryFeatureBitmask type VkPeerMemoryFeatureFlags = VkPeerMemoryFeatureBitmask FlagMask type VkPeerMemoryFeatureFlagBits = VkPeerMemoryFeatureBitmask FlagBit -- | Can read with vkCmdCopy commands -- -- bitpos = 0 -- | Can write with vkCmdCopy commands -- -- bitpos = 1 -- | Can read with any access type/command -- -- bitpos = 2 -- | Can write with and access type/command -- -- bitpos = 3 -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint newtype VkPipelineCacheCreateFlagBits VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateFlagBits -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion newtype VkPipelineColorBlendStateCreateFlagBits VkPipelineColorBlendStateCreateFlagBits :: VkFlags -> VkPipelineColorBlendStateCreateFlagBits newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkPipelineDepthStencilStateCreateFlagBits VkPipelineDepthStencilStateCreateFlagBits :: VkFlags -> VkPipelineDepthStencilStateCreateFlagBits newtype VkPipelineDynamicStateCreateFlagBits VkPipelineDynamicStateCreateFlagBits :: VkFlags -> VkPipelineDynamicStateCreateFlagBits newtype VkPipelineInputAssemblyStateCreateFlagBits VkPipelineInputAssemblyStateCreateFlagBits :: VkFlags -> VkPipelineInputAssemblyStateCreateFlagBits newtype VkPipelineLayoutCreateFlagBits VkPipelineLayoutCreateFlagBits :: VkFlags -> VkPipelineLayoutCreateFlagBits newtype VkPipelineMultisampleStateCreateFlagBits VkPipelineMultisampleStateCreateFlagBits :: VkFlags -> VkPipelineMultisampleStateCreateFlagBits newtype VkPipelineRasterizationStateCreateFlagBits VkPipelineRasterizationStateCreateFlagBits :: VkFlags -> VkPipelineRasterizationStateCreateFlagBits newtype VkPipelineShaderStageCreateFlagBits VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateFlagBits newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit -- | Before subsequent commands are processed -- -- bitpos = 0 -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 -- | Vertex/index fetch -- -- bitpos = 2 -- | Vertex shading -- -- bitpos = 3 -- | Tessellation control shading -- -- bitpos = 4 -- | Tessellation evaluation shading -- -- bitpos = 5 -- | Geometry shading -- -- bitpos = 6 -- | Fragment shading -- -- bitpos = 7 -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 -- | Color attachment writes -- -- bitpos = 10 -- | Compute shading -- -- bitpos = 11 -- | Transfer/copy operations -- -- bitpos = 12 -- | After previous commands have completed -- -- bitpos = 13 -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 -- | All stages of the graphics pipeline -- -- bitpos = 15 -- | All stages supported on the queue -- -- bitpos = 16 newtype VkPipelineTessellationStateCreateFlagBits VkPipelineTessellationStateCreateFlagBits :: VkFlags -> VkPipelineTessellationStateCreateFlagBits newtype VkPipelineVertexInputStateCreateFlagBits VkPipelineVertexInputStateCreateFlagBits :: VkFlags -> VkPipelineVertexInputStateCreateFlagBits newtype VkPipelineViewportStateCreateFlagBits VkPipelineViewportStateCreateFlagBits :: VkFlags -> VkPipelineViewportStateCreateFlagBits newtype VkQueryControlBitmask (a :: FlagType) VkQueryControlBitmask :: VkFlags -> VkQueryControlBitmask type VkQueryControlFlags = VkQueryControlBitmask FlagMask type VkQueryControlFlagBits = VkQueryControlBitmask FlagBit -- | Require precise results to be collected by the query -- -- bitpos = 0 newtype VkQueryPipelineStatisticBitmask (a :: FlagType) VkQueryPipelineStatisticBitmask :: VkFlags -> VkQueryPipelineStatisticBitmask type VkQueryPipelineStatisticFlags = VkQueryPipelineStatisticBitmask FlagMask type VkQueryPipelineStatisticFlagBits = VkQueryPipelineStatisticBitmask FlagBit -- | Optional -- -- bitpos = 0 -- | Optional -- -- bitpos = 1 -- | Optional -- -- bitpos = 2 -- | Optional -- -- bitpos = 3 -- | Optional -- -- bitpos = 4 -- | Optional -- -- bitpos = 5 -- | Optional -- -- bitpos = 6 -- | Optional -- -- bitpos = 7 -- | Optional -- -- bitpos = 8 -- | Optional -- -- bitpos = 9 -- | Optional -- -- bitpos = 10 newtype VkQueryPoolCreateFlagBits VkQueryPoolCreateFlagBits :: VkFlags -> VkQueryPoolCreateFlagBits newtype VkQueryResultBitmask (a :: FlagType) VkQueryResultBitmask :: VkFlags -> VkQueryResultBitmask type VkQueryResultFlags = VkQueryResultBitmask FlagMask type VkQueryResultFlagBits = VkQueryResultBitmask FlagBit -- | Results of the queries are written to the destination buffer as 64-bit -- values -- -- bitpos = 0 -- | Results of the queries are waited on before proceeding with the result -- copy -- -- bitpos = 1 -- | Besides the results of the query, the availability of the results is -- also written -- -- bitpos = 2 -- | Copy the partial results of the query even if the final results are -- not available -- -- bitpos = 3 -- | type = enum -- -- VkQueryType registry at www.khronos.org newtype VkQueryType VkQueryType :: Int32 -> VkQueryType -- | Optional -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org data VkRect2D VkRect2D# :: Addr# -> ByteArray# -> VkRect2D -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D                       extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org data VkRectLayerKHR VkRectLayerKHR# :: Addr# -> ByteArray# -> VkRectLayerKHR -- |
--   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 data VkRenderPassBeginInfo VkRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassCreateInfo VkRenderPassCreateInfo# :: Addr# -> ByteArray# -> VkRenderPassCreateInfo -- |
--   typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
--       VkStructureType sType;
--       const void*                     pNext;
--       uint32_t                        aspectReferenceCount;
--       const VkInputAttachmentAspectReference* pAspectReferences;
--   } VkRenderPassInputAttachmentAspectCreateInfo;
--   
-- -- VkRenderPassInputAttachmentAspectCreateInfo registry at -- www.khronos.org data VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassSampleLocationsBeginInfoEXT VkRenderPassSampleLocationsBeginInfoEXT# :: Addr# -> ByteArray# -> VkRenderPassSampleLocationsBeginInfoEXT -- |
--   typedef struct VkSparseBufferMemoryBindInfo {
--       VkBuffer buffer;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseBufferMemoryBindInfo;
--   
-- -- VkSparseBufferMemoryBindInfo registry at www.khronos.org data VkSparseBufferMemoryBindInfo VkSparseBufferMemoryBindInfo# :: Addr# -> ByteArray# -> VkSparseBufferMemoryBindInfo -- |
--   typedef struct VkSparseImageFormatProperties {
--       VkImageAspectFlags     aspectMask;
--       VkExtent3D             imageGranularity;
--       VkSparseImageFormatFlags flags;
--   } VkSparseImageFormatProperties;
--   
-- -- VkSparseImageFormatProperties registry at www.khronos.org data VkSparseImageFormatProperties VkSparseImageFormatProperties# :: Addr# -> ByteArray# -> VkSparseImageFormatProperties -- |
--   typedef struct VkSparseImageFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSparseImageFormatProperties    properties;
--   } VkSparseImageFormatProperties2;
--   
-- -- VkSparseImageFormatProperties2 registry at www.khronos.org data VkSparseImageFormatProperties2 VkSparseImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkSparseImageMemoryBind VkSparseImageMemoryBind# :: Addr# -> ByteArray# -> VkSparseImageMemoryBind -- |
--   typedef struct VkSparseImageMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseImageMemoryBind* pBinds;
--   } VkSparseImageMemoryBindInfo;
--   
-- -- VkSparseImageMemoryBindInfo registry at www.khronos.org data VkSparseImageMemoryBindInfo VkSparseImageMemoryBindInfo# :: Addr# -> ByteArray# -> VkSparseImageMemoryBindInfo -- |
--   typedef struct VkSparseImageMemoryRequirements {
--       VkSparseImageFormatProperties formatProperties;
--       uint32_t               imageMipTailFirstLod;
--       VkDeviceSize           imageMipTailSize;
--       VkDeviceSize           imageMipTailOffset;
--       VkDeviceSize           imageMipTailStride;
--   } VkSparseImageMemoryRequirements;
--   
-- -- VkSparseImageMemoryRequirements registry at www.khronos.org data VkSparseImageMemoryRequirements VkSparseImageMemoryRequirements# :: Addr# -> ByteArray# -> VkSparseImageMemoryRequirements -- |
--   typedef struct VkSparseImageMemoryRequirements2 {
--       VkStructureType sType;
--       void*                                       pNext;
--       VkSparseImageMemoryRequirements                                      memoryRequirements;
--   } VkSparseImageMemoryRequirements2;
--   
-- -- VkSparseImageMemoryRequirements2 registry at www.khronos.org data VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2# :: Addr# -> ByteArray# -> 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 data VkSparseImageOpaqueMemoryBindInfo VkSparseImageOpaqueMemoryBindInfo# :: Addr# -> ByteArray# -> VkSparseImageOpaqueMemoryBindInfo -- |
--   typedef struct VkSparseMemoryBind {
--       VkDeviceSize           resourceOffset;
--       VkDeviceSize           size;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseMemoryBind;
--   
-- -- VkSparseMemoryBind registry at www.khronos.org data VkSparseMemoryBind VkSparseMemoryBind# :: Addr# -> ByteArray# -> VkSparseMemoryBind newtype VkSparseImageFormatBitmask (a :: FlagType) VkSparseImageFormatBitmask :: VkFlags -> VkSparseImageFormatBitmask type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask type VkSparseImageFormatFlagBits = VkSparseImageFormatBitmask FlagBit -- | Image uses a single mip tail region for all array layers -- -- bitpos = 0 -- | Image requires mip level dimensions to be an integer multiple of the -- sparse image block dimensions for non-tail mip levels. -- -- bitpos = 1 -- | Image uses a non-standard sparse image block dimensions -- -- bitpos = 2 newtype VkSparseMemoryBindBitmask (a :: FlagType) VkSparseMemoryBindBitmask :: VkFlags -> VkSparseMemoryBindBitmask type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask type VkSparseMemoryBindFlagBits = VkSparseMemoryBindBitmask FlagBit -- | Operation binds resource metadata to memory -- -- bitpos = 0 -- |
--   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 data VkSubmitInfo VkSubmitInfo# :: Addr# -> ByteArray# -> VkSubmitInfo type VkGetDeviceGroupPeerMemoryFeatures = "vkGetDeviceGroupPeerMemoryFeatures" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetDeviceGroupPeerMemoryFeaturesSafe :: VkDevice -> Word32 -> Word32 -> Word32 -> Ptr VkPeerMemoryFeatureFlags -> IO () type VkCmdSetDeviceMask = "vkCmdSetDeviceMask" -- | 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdSetDeviceMaskSafe :: VkCommandBuffer -> Word32 -> IO () type VkCmdDispatchBase = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCmdDispatchBaseSafe :: VkCommandBuffer -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> IO () -- | bitpos = 3 -- | bitpos = 4 -- | Dependency is across devices -- -- bitpos = 2 -- | Allows using -- VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions when -- binding memory to the image -- -- bitpos = 6 type VkEnumeratePhysicalDeviceGroups = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkEnumeratePhysicalDeviceGroupsSafe :: VkInstance -> Ptr Word32 -> Ptr VkPhysicalDeviceGroupProperties -> IO VkResult -- | If set, heap allocations allocate multiple instances by default -- -- bitpos = 1 -- |
--   typedef struct VkBufferCopy {
--       VkDeviceSize           srcOffset;
--       VkDeviceSize           dstOffset;
--       VkDeviceSize           size;
--   } VkBufferCopy;
--   
-- -- VkBufferCopy registry at www.khronos.org data VkBufferCopy VkBufferCopy# :: Addr# -> ByteArray# -> 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 data VkBufferCreateInfo VkBufferCreateInfo# :: Addr# -> ByteArray# -> VkBufferCreateInfo -- |
--   typedef struct VkBufferImageCopy {
--       VkDeviceSize           bufferOffset;
--       uint32_t               bufferRowLength;
--       uint32_t               bufferImageHeight;
--       VkImageSubresourceLayers imageSubresource;
--       VkOffset3D             imageOffset;
--       VkExtent3D             imageExtent;
--   } VkBufferImageCopy;
--   
-- -- VkBufferImageCopy registry at www.khronos.org data VkBufferImageCopy VkBufferImageCopy# :: Addr# -> ByteArray# -> 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 data VkBufferMemoryBarrier VkBufferMemoryBarrier# :: Addr# -> ByteArray# -> VkBufferMemoryBarrier -- |
--   typedef struct VkBufferMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkBuffer                                                             buffer;
--   } VkBufferMemoryRequirementsInfo2;
--   
-- -- VkBufferMemoryRequirementsInfo2 registry at www.khronos.org data VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkBufferMemoryRequirementsInfo2 -- | Alias for VkBufferMemoryRequirementsInfo2 type VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2 -- |
--   typedef struct VkBufferViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferViewCreateFlagsflags;
--       VkBuffer               buffer;
--       VkFormat               format;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkBufferViewCreateInfo;
--   
-- -- VkBufferViewCreateInfo registry at www.khronos.org data VkBufferViewCreateInfo VkBufferViewCreateInfo# :: Addr# -> ByteArray# -> VkBufferViewCreateInfo type VkGetImageMemoryRequirements2 = "vkGetImageMemoryRequirements2" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetImageMemoryRequirements2Safe :: VkDevice -> Ptr VkImageMemoryRequirementsInfo2 -> Ptr VkMemoryRequirements2 -> IO () type VkGetBufferMemoryRequirements2 = "vkGetBufferMemoryRequirements2" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetBufferMemoryRequirements2Safe :: VkDevice -> Ptr VkBufferMemoryRequirementsInfo2 -> Ptr VkMemoryRequirements2 -> IO () type VkGetImageSparseMemoryRequirements2 = "vkGetImageSparseMemoryRequirements2" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetImageSparseMemoryRequirements2Safe :: VkDevice -> Ptr VkImageSparseMemoryRequirementsInfo2 -> Ptr Word32 -> Ptr VkSparseImageMemoryRequirements2 -> IO () -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 -- |
--   typedef struct VkFormatProperties {
--       VkFormatFeatureFlags   linearTilingFeatures;
--       VkFormatFeatureFlags   optimalTilingFeatures;
--       VkFormatFeatureFlags   bufferFeatures;
--   } VkFormatProperties;
--   
-- -- VkFormatProperties registry at www.khronos.org data VkFormatProperties VkFormatProperties# :: Addr# -> ByteArray# -> VkFormatProperties -- |
--   typedef struct VkFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkFormatProperties               formatProperties;
--   } VkFormatProperties2;
--   
-- -- VkFormatProperties2 registry at www.khronos.org data VkFormatProperties2 VkFormatProperties2# :: Addr# -> ByteArray# -> VkFormatProperties2 -- | Alias for VkFormatProperties2 type VkFormatProperties2KHR = VkFormatProperties2 -- |
--   typedef struct VkQueueFamilyProperties {
--       VkQueueFlags           queueFlags;
--       uint32_t               queueCount;
--       uint32_t               timestampValidBits;
--       VkExtent3D             minImageTransferGranularity;
--   } VkQueueFamilyProperties;
--   
-- -- VkQueueFamilyProperties registry at www.khronos.org data VkQueueFamilyProperties VkQueueFamilyProperties# :: Addr# -> ByteArray# -> VkQueueFamilyProperties -- |
--   typedef struct VkQueueFamilyProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkQueueFamilyProperties          queueFamilyProperties;
--   } VkQueueFamilyProperties2;
--   
-- -- VkQueueFamilyProperties2 registry at www.khronos.org data VkQueueFamilyProperties2 VkQueueFamilyProperties2# :: Addr# -> ByteArray# -> VkQueueFamilyProperties2 -- | Alias for VkQueueFamilyProperties2 type VkQueueFamilyProperties2KHR = VkQueueFamilyProperties2 newtype VkQueueBitmask (a :: FlagType) VkQueueBitmask :: VkFlags -> VkQueueBitmask type VkQueueFlags = VkQueueBitmask FlagMask type VkQueueFlagBits = VkQueueBitmask FlagBit -- | Queue supports graphics operations -- -- bitpos = 0 -- | Queue supports compute operations -- -- bitpos = 1 -- | Queue supports transfer operations -- -- bitpos = 2 -- | Queue supports sparse resource memory management operations -- -- bitpos = 3 -- | type = enum -- -- VkQueueGlobalPriorityEXT registry at www.khronos.org newtype VkQueueGlobalPriorityEXT VkQueueGlobalPriorityEXT :: Int32 -> VkQueueGlobalPriorityEXT type VkGetPhysicalDeviceFeatures2 = "vkGetPhysicalDeviceFeatures2" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceFeatures2Safe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceFeatures2 -> IO () type VkGetPhysicalDeviceProperties2 = "vkGetPhysicalDeviceProperties2" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceProperties2Safe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceProperties2 -> IO () type VkGetPhysicalDeviceFormatProperties2 = "vkGetPhysicalDeviceFormatProperties2" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceFormatProperties2Safe :: VkPhysicalDevice -> VkFormat -> Ptr VkFormatProperties2 -> IO () type VkGetPhysicalDeviceImageFormatProperties2 = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceImageFormatProperties2Safe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceImageFormatInfo2 -> Ptr VkImageFormatProperties2 -> IO VkResult type VkGetPhysicalDeviceQueueFamilyProperties2 = "vkGetPhysicalDeviceQueueFamilyProperties2" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceQueueFamilyProperties2Safe :: VkPhysicalDevice -> Ptr Word32 -> Ptr VkQueueFamilyProperties2 -> IO () type VkGetPhysicalDeviceMemoryProperties2 = "vkGetPhysicalDeviceMemoryProperties2" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceMemoryProperties2Safe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceMemoryProperties2 -> IO () type VkGetPhysicalDeviceSparseImageFormatProperties2 = "vkGetPhysicalDeviceSparseImageFormatProperties2" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceSparseImageFormatProperties2Safe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceSparseImageFormatInfo2 -> Ptr Word32 -> Ptr VkSparseImageFormatProperties2 -> IO () type VkTrimCommandPool = "vkTrimCommandPool" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkTrimCommandPoolSafe :: VkDevice -> VkCommandPool -> VkCommandPoolTrimFlags -> IO () -- | Format can be used as the source image of image transfer commands -- -- bitpos = 14 -- | Format can be used as the destination image of image transfer commands -- -- bitpos = 15 -- | The 3D image can be viewed as a 2D or 2D array image -- -- bitpos = 5 newtype VkAccessBitmask (a :: FlagType) VkAccessBitmask :: VkFlags -> VkAccessBitmask type VkAccessFlags = VkAccessBitmask FlagMask type VkAccessFlagBits = VkAccessBitmask FlagBit -- | Controls coherency of indirect command reads -- -- bitpos = 0 -- | Controls coherency of index reads -- -- bitpos = 1 -- | Controls coherency of vertex attribute reads -- -- bitpos = 2 -- | Controls coherency of uniform buffer reads -- -- bitpos = 3 -- | Controls coherency of input attachment reads -- -- bitpos = 4 -- | Controls coherency of shader reads -- -- bitpos = 5 -- | Controls coherency of shader writes -- -- bitpos = 6 -- | Controls coherency of color attachment reads -- -- bitpos = 7 -- | Controls coherency of color attachment writes -- -- bitpos = 8 -- | Controls coherency of depth/stencil attachment reads -- -- bitpos = 9 -- | Controls coherency of depth/stencil attachment writes -- -- bitpos = 10 -- | Controls coherency of transfer reads -- -- bitpos = 11 -- | Controls coherency of transfer writes -- -- bitpos = 12 -- | Controls coherency of host reads -- -- bitpos = 13 -- | Controls coherency of host writes -- -- bitpos = 14 -- | Controls coherency of memory reads -- -- bitpos = 15 -- | Controls coherency of memory writes -- -- bitpos = 16 -- |
--   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 data VkAttachmentDescription VkAttachmentDescription# :: Addr# -> ByteArray# -> VkAttachmentDescription -- |
--   typedef struct VkAttachmentReference {
--       uint32_t               attachment;
--       VkImageLayout          layout;
--   } VkAttachmentReference;
--   
-- -- VkAttachmentReference registry at www.khronos.org data VkAttachmentReference VkAttachmentReference# :: Addr# -> ByteArray# -> VkAttachmentReference -- |
--   typedef struct VkAttachmentSampleLocationsEXT {
--       uint32_t                         attachmentIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkAttachmentSampleLocationsEXT;
--   
-- -- VkAttachmentSampleLocationsEXT registry at www.khronos.org data VkAttachmentSampleLocationsEXT VkAttachmentSampleLocationsEXT# :: Addr# -> ByteArray# -> VkAttachmentSampleLocationsEXT newtype VkAttachmentDescriptionBitmask (a :: FlagType) VkAttachmentDescriptionBitmask :: VkFlags -> VkAttachmentDescriptionBitmask type VkAttachmentDescriptionFlags = VkAttachmentDescriptionBitmask FlagMask type VkAttachmentDescriptionFlagBits = VkAttachmentDescriptionBitmask FlagBit -- | The attachment may alias physical memory of another attachment in the -- same render pass -- -- bitpos = 0 -- | type = enum -- -- VkAttachmentLoadOp registry at www.khronos.org newtype VkAttachmentLoadOp VkAttachmentLoadOp :: Int32 -> VkAttachmentLoadOp -- | type = enum -- -- VkAttachmentStoreOp registry at www.khronos.org newtype VkAttachmentStoreOp VkAttachmentStoreOp :: Int32 -> VkAttachmentStoreOp -- |
--   typedef struct VkComponentMapping {
--       VkComponentSwizzle r;
--       VkComponentSwizzle g;
--       VkComponentSwizzle b;
--       VkComponentSwizzle a;
--   } VkComponentMapping;
--   
-- -- VkComponentMapping registry at www.khronos.org data VkComponentMapping VkComponentMapping# :: Addr# -> ByteArray# -> VkComponentMapping -- | type = enum -- -- VkComponentSwizzle registry at www.khronos.org newtype VkComponentSwizzle VkComponentSwizzle :: Int32 -> VkComponentSwizzle newtype VkDependencyBitmask (a :: FlagType) VkDependencyBitmask :: VkFlags -> VkDependencyBitmask type VkDependencyFlags = VkDependencyBitmask FlagMask type VkDependencyFlagBits = VkDependencyBitmask FlagBit -- | Dependency is per pixel region -- -- bitpos = 0 -- |
--   typedef struct VkInputAttachmentAspectReference {
--       uint32_t                        subpass;
--       uint32_t                        inputAttachmentIndex;
--       VkImageAspectFlags              aspectMask;
--   } VkInputAttachmentAspectReference;
--   
-- -- VkInputAttachmentAspectReference registry at www.khronos.org data VkInputAttachmentAspectReference VkInputAttachmentAspectReference# :: Addr# -> ByteArray# -> VkInputAttachmentAspectReference -- | Alias for VkInputAttachmentAspectReference type VkInputAttachmentAspectReferenceKHR = VkInputAttachmentAspectReference -- |
--   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 data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo# :: Addr# -> ByteArray# -> VkGraphicsPipelineCreateInfo -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo# :: Addr# -> ByteArray# -> VkPipelineCacheCreateInfo -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineColorBlendStateCreateInfo -- |
--   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 data VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageModulationStateCreateInfoNV -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org data VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageToColorStateCreateInfoNV -- |
--   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 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT# :: Addr# -> ByteArray# -> VkPipelineDiscardRectangleStateCreateInfoEXT -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineDynamicStateCreateInfo -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineMultisampleStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org data VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateRasterizationOrderAMD -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo# :: Addr# -> ByteArray# -> VkPipelineShaderStageCreateInfo -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org data VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineTessellationStateCreateInfo -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV -- | type = enum -- -- VkPointClippingBehavior registry at www.khronos.org newtype VkPointClippingBehavior VkPointClippingBehavior :: Int32 -> VkPointClippingBehavior newtype VkPointClippingBehaviorKHR VkPointClippingBehaviorKHR :: VkFlags -> VkPointClippingBehaviorKHR -- |
--   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 data VkSubpassDependency VkSubpassDependency# :: Addr# -> ByteArray# -> 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 data VkSubpassDescription VkSubpassDescription# :: Addr# -> ByteArray# -> VkSubpassDescription -- |
--   typedef struct VkSubpassSampleLocationsEXT {
--       uint32_t                         subpassIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkSubpassSampleLocationsEXT;
--   
-- -- VkSubpassSampleLocationsEXT registry at www.khronos.org data VkSubpassSampleLocationsEXT VkSubpassSampleLocationsEXT# :: Addr# -> ByteArray# -> VkSubpassSampleLocationsEXT -- | type = enum -- -- VkSubpassContents registry at www.khronos.org newtype VkSubpassContents VkSubpassContents :: Int32 -> VkSubpassContents newtype VkSubpassDescriptionBitmask (a :: FlagType) VkSubpassDescriptionBitmask :: VkFlags -> VkSubpassDescriptionBitmask type VkSubpassDescriptionFlags = VkSubpassDescriptionBitmask FlagMask type VkSubpassDescriptionFlagBits = VkSubpassDescriptionBitmask FlagBit -- | type = enum -- -- VkTessellationDomainOrigin registry at www.khronos.org newtype VkTessellationDomainOrigin VkTessellationDomainOrigin :: Int32 -> VkTessellationDomainOrigin newtype VkTessellationDomainOriginKHR VkTessellationDomainOriginKHR :: VkFlags -> VkTessellationDomainOriginKHR -- | bitpos = 7 -- | bitpos = 8 -- | bitpos = 1 -- |
--   typedef struct VkProtectedSubmitInfo {
--       VkStructureType sType;
--       const void*                     pNext;
--       VkBool32                        protectedSubmit;
--   } VkProtectedSubmitInfo;
--   
-- -- VkProtectedSubmitInfo registry at www.khronos.org data VkProtectedSubmitInfo VkProtectedSubmitInfo# :: Addr# -> ByteArray# -> VkProtectedSubmitInfo type VkGetDeviceQueue2 = "vkGetDeviceQueue2" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetDeviceQueue2Safe :: VkDevice -> Ptr VkDeviceQueueInfo2 -> Ptr VkQueue -> IO () -- | Queues may support protected operations -- -- bitpos = 4 -- | Queue is a protected-capable device queue -- -- bitpos = 0 -- | Memory is protected -- -- bitpos = 5 -- | Buffer requires protected memory -- -- bitpos = 3 -- | Image requires protected memory -- -- bitpos = 11 -- | Command buffers allocated from pool are protected command buffers -- -- bitpos = 2 -- | type = enum -- -- VkBorderColor registry at www.khronos.org newtype VkBorderColor VkBorderColor :: Int32 -> VkBorderColor -- | type = enum -- -- VkChromaLocation registry at www.khronos.org newtype VkChromaLocation VkChromaLocation :: Int32 -> VkChromaLocation newtype VkChromaLocationKHR VkChromaLocationKHR :: VkFlags -> VkChromaLocationKHR -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp -- | type = enum -- -- VkFilter registry at www.khronos.org newtype VkFilter VkFilter :: Int32 -> VkFilter -- | type = enum -- -- VkSamplerAddressMode registry at www.khronos.org newtype VkSamplerAddressMode VkSamplerAddressMode :: Int32 -> VkSamplerAddressMode newtype VkSamplerCreateFlagBits VkSamplerCreateFlagBits :: VkFlags -> VkSamplerCreateFlagBits -- | type = enum -- -- VkSamplerMipmapMode registry at www.khronos.org newtype VkSamplerMipmapMode VkSamplerMipmapMode :: Int32 -> VkSamplerMipmapMode -- | Choose nearest mip level -- | Linear filter between mip levels -- | type = enum -- -- VkSamplerReductionModeEXT registry at www.khronos.org newtype VkSamplerReductionModeEXT VkSamplerReductionModeEXT :: Int32 -> VkSamplerReductionModeEXT -- | type = enum -- -- VkSamplerYcbcrModelConversion registry at www.khronos.org newtype VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversion :: Int32 -> VkSamplerYcbcrModelConversion -- | just range expansion -- | aka HD YUV -- | aka SD YUV -- | aka UHD YUV newtype VkSamplerYcbcrModelConversionKHR VkSamplerYcbcrModelConversionKHR :: VkFlags -> VkSamplerYcbcrModelConversionKHR -- | 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) -- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240 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 data VkSamplerCreateInfo VkSamplerCreateInfo# :: Addr# -> ByteArray# -> VkSamplerCreateInfo -- |
--   typedef struct VkSamplerReductionModeCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSamplerReductionModeEXT reductionMode;
--   } VkSamplerReductionModeCreateInfoEXT;
--   
-- -- VkSamplerReductionModeCreateInfoEXT registry at www.khronos.org data VkSamplerReductionModeCreateInfoEXT VkSamplerReductionModeCreateInfoEXT# :: Addr# -> ByteArray# -> VkSamplerReductionModeCreateInfoEXT -- |
--   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 data VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfo# :: Addr# -> ByteArray# -> VkSamplerYcbcrConversionCreateInfo -- | Alias for VkSamplerYcbcrConversionCreateInfo type VkSamplerYcbcrConversionCreateInfoKHR = VkSamplerYcbcrConversionCreateInfo -- |
--   typedef struct VkSamplerYcbcrConversionImageFormatProperties {
--       VkStructureType sType;
--       void*      pNext;
--       uint32_t                         combinedImageSamplerDescriptorCount;
--   } VkSamplerYcbcrConversionImageFormatProperties;
--   
-- -- VkSamplerYcbcrConversionImageFormatProperties registry at -- www.khronos.org data VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatProperties# :: Addr# -> ByteArray# -> VkSamplerYcbcrConversionImageFormatProperties -- | Alias for VkSamplerYcbcrConversionImageFormatProperties type VkSamplerYcbcrConversionImageFormatPropertiesKHR = VkSamplerYcbcrConversionImageFormatProperties -- |
--   typedef struct VkSamplerYcbcrConversionInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSamplerYcbcrConversion      conversion;
--   } VkSamplerYcbcrConversionInfo;
--   
-- -- VkSamplerYcbcrConversionInfo registry at www.khronos.org data VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfo# :: Addr# -> ByteArray# -> VkSamplerYcbcrConversionInfo -- | Alias for VkSamplerYcbcrConversionInfo type VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo type VkCreateSamplerYcbcrConversion = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateSamplerYcbcrConversionSafe :: VkDevice -> Ptr VkSamplerYcbcrConversionCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkSamplerYcbcrConversion -> IO VkResult type VkDestroySamplerYcbcrConversion = "vkDestroySamplerYcbcrConversion" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroySamplerYcbcrConversionSafe :: VkDevice -> VkSamplerYcbcrConversion -> Ptr VkAllocationCallbacks -> IO () -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope -- |
--   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                  messageType,
--       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 -- |
--   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 data VkAllocationCallbacks VkAllocationCallbacks# :: Addr# -> ByteArray# -> VkAllocationCallbacks -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 -- | bitpos = 9 -- | Format can have midpoint rather than cosited chroma samples -- -- bitpos = 17 -- | Format can be used with linear filtering whilst color conversion is -- enabled -- -- bitpos = 18 -- | Format can have different chroma, min and mag filters -- -- bitpos = 19 -- | bitpos = 20 -- | bitpos = 21 -- | Format supports disjoint planes -- -- bitpos = 22 -- | Format can have cosited rather than midpoint chroma samples -- -- bitpos = 23 newtype VkDescriptorBindingBitmaskEXT (a :: FlagType) VkDescriptorBindingBitmaskEXT :: VkFlags -> VkDescriptorBindingBitmaskEXT type VkDescriptorBindingFlagsEXT = VkDescriptorBindingBitmaskEXT FlagMask type VkDescriptorBindingFlagBitsEXT = VkDescriptorBindingBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit -- | Descriptor sets may be freed individually -- -- bitpos = 0 newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR -- |
--   typedef struct VkDescriptorBufferInfo {
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkDescriptorBufferInfo;
--   
-- -- VkDescriptorBufferInfo registry at www.khronos.org data VkDescriptorBufferInfo VkDescriptorBufferInfo# :: Addr# -> ByteArray# -> VkDescriptorBufferInfo -- |
--   typedef struct VkDescriptorImageInfo {
--       VkSampler       sampler;
--       VkImageView     imageView;
--       VkImageLayout   imageLayout;
--   } VkDescriptorImageInfo;
--   
-- -- VkDescriptorImageInfo registry at www.khronos.org data VkDescriptorImageInfo VkDescriptorImageInfo# :: Addr# -> ByteArray# -> 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 data VkDescriptorPoolCreateInfo VkDescriptorPoolCreateInfo# :: Addr# -> ByteArray# -> VkDescriptorPoolCreateInfo -- |
--   typedef struct VkDescriptorPoolSize {
--       VkDescriptorType       type;
--       uint32_t               descriptorCount;
--   } VkDescriptorPoolSize;
--   
-- -- VkDescriptorPoolSize registry at www.khronos.org data VkDescriptorPoolSize VkDescriptorPoolSize# :: Addr# -> ByteArray# -> VkDescriptorPoolSize -- |
--   typedef struct VkDescriptorSetAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPool       descriptorPool;
--       uint32_t               descriptorSetCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--   } VkDescriptorSetAllocateInfo;
--   
-- -- VkDescriptorSetAllocateInfo registry at www.khronos.org data VkDescriptorSetAllocateInfo VkDescriptorSetAllocateInfo# :: Addr# -> ByteArray# -> VkDescriptorSetAllocateInfo -- |
--   typedef struct VkDescriptorSetLayoutBinding {
--       uint32_t               binding;
--       VkDescriptorType       descriptorType;
--       uint32_t descriptorCount;
--       VkShaderStageFlags     stageFlags;
--       const VkSampler*       pImmutableSamplers;
--   } VkDescriptorSetLayoutBinding;
--   
-- -- VkDescriptorSetLayoutBinding registry at www.khronos.org data VkDescriptorSetLayoutBinding VkDescriptorSetLayoutBinding# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutBinding -- |
--   typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               bindingCount;
--       const VkDescriptorBindingFlagsEXT* pBindingFlags;
--   } VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
--   
-- -- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT registry at -- www.khronos.org data VkDescriptorSetLayoutBindingFlagsCreateInfoEXT VkDescriptorSetLayoutBindingFlagsCreateInfoEXT# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -- |
--   typedef struct VkDescriptorSetLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSetLayoutCreateFlags    flags;
--       uint32_t               bindingCount;
--       const VkDescriptorSetLayoutBinding* pBindings;
--   } VkDescriptorSetLayoutCreateInfo;
--   
-- -- VkDescriptorSetLayoutCreateInfo registry at www.khronos.org data VkDescriptorSetLayoutCreateInfo VkDescriptorSetLayoutCreateInfo# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutCreateInfo -- |
--   typedef struct VkDescriptorSetLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       VkBool32         supported;
--   } VkDescriptorSetLayoutSupport;
--   
-- -- VkDescriptorSetLayoutSupport registry at www.khronos.org data VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupport# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutSupport -- | Alias for VkDescriptorSetLayoutSupport type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               descriptorSetCount;
--       const uint32_t* pDescriptorCounts;
--   } VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
--   
-- -- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT registry at -- www.khronos.org data VkDescriptorSetVariableDescriptorCountAllocateInfoEXT VkDescriptorSetVariableDescriptorCountAllocateInfoEXT# :: Addr# -> ByteArray# -> VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {
--       VkStructureType sType;
--       void*            pNext;
--       uint32_t         maxVariableDescriptorCount;
--   } VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
--   
-- -- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT registry at -- www.khronos.org data VkDescriptorSetVariableDescriptorCountLayoutSupportEXT VkDescriptorSetVariableDescriptorCountLayoutSupportEXT# :: Addr# -> ByteArray# -> VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -- |
--   typedef struct VkDescriptorUpdateTemplateCreateInfo {
--       VkStructureType sType;
--       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 data VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntry# :: Addr# -> ByteArray# -> VkDescriptorUpdateTemplateEntry -- | Alias for VkDescriptorUpdateTemplateEntry type VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry type VkCreateDescriptorUpdateTemplate = "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 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkCreateDescriptorUpdateTemplateSafe :: VkDevice -> Ptr VkDescriptorUpdateTemplateCreateInfo -> Ptr VkAllocationCallbacks -> Ptr VkDescriptorUpdateTemplate -> IO VkResult type VkDestroyDescriptorUpdateTemplate = "vkDestroyDescriptorUpdateTemplate" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkDestroyDescriptorUpdateTemplateSafe :: VkDevice -> VkDescriptorUpdateTemplate -> Ptr VkAllocationCallbacks -> IO () type VkUpdateDescriptorSetWithTemplate = "vkUpdateDescriptorSetWithTemplate" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkUpdateDescriptorSetWithTemplateSafe :: VkDevice -> VkDescriptorSet -> VkDescriptorUpdateTemplate -> Ptr Void -> IO () newtype VkBufferCreateBitmask (a :: FlagType) VkBufferCreateBitmask :: VkFlags -> VkBufferCreateBitmask type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask type VkBufferCreateFlagBits = VkBufferCreateBitmask FlagBit -- | Buffer should support sparse backing -- -- bitpos = 0 -- | Buffer should support sparse backing with partial residency -- -- bitpos = 1 -- | Buffer should support constent data access to physical memory ranges -- mapped into multiple locations of sparse buffers -- -- bitpos = 2 newtype VkBufferUsageBitmask (a :: FlagType) VkBufferUsageBitmask :: VkFlags -> VkBufferUsageBitmask type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask type VkBufferUsageFlagBits = VkBufferUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be used as TBO -- -- bitpos = 2 -- | Can be used as IBO -- -- bitpos = 3 -- | Can be used as UBO -- -- bitpos = 4 -- | Can be used as SSBO -- -- bitpos = 5 -- | Can be used as source of fixed-function index fetch (index buffer) -- -- bitpos = 6 -- | Can be used as source of fixed-function vertex fetch (VBO) -- -- bitpos = 7 -- | Can be the source of indirect parameters (e.g. indirect buffer, -- parameter buffer) -- -- bitpos = 8 newtype VkBufferViewCreateFlagBits VkBufferViewCreateFlagBits :: VkFlags -> VkBufferViewCreateFlagBits -- |
--   typedef struct VkExternalBufferProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties    externalMemoryProperties;
--   } VkExternalBufferProperties;
--   
-- -- VkExternalBufferProperties registry at www.khronos.org data VkExternalBufferProperties VkExternalBufferProperties# :: Addr# -> ByteArray# -> 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 data VkExternalFenceProperties VkExternalFenceProperties# :: Addr# -> ByteArray# -> VkExternalFenceProperties -- | Alias for VkExternalFenceProperties type VkExternalFencePropertiesKHR = VkExternalFenceProperties -- |
--   typedef struct VkExternalImageFormatProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties externalMemoryProperties;
--   } VkExternalImageFormatProperties;
--   
-- -- VkExternalImageFormatProperties registry at www.khronos.org data VkExternalImageFormatProperties VkExternalImageFormatProperties# :: Addr# -> ByteArray# -> 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 data VkExternalImageFormatPropertiesNV VkExternalImageFormatPropertiesNV# :: Addr# -> ByteArray# -> VkExternalImageFormatPropertiesNV -- |
--   typedef struct VkExternalMemoryBufferCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryBufferCreateInfo;
--   
-- -- VkExternalMemoryBufferCreateInfo registry at www.khronos.org data VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryBufferCreateInfo -- | Alias for VkExternalMemoryBufferCreateInfo type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryImageCreateInfo;
--   
-- -- VkExternalMemoryImageCreateInfo registry at www.khronos.org data VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfo -- | Alias for VkExternalMemoryImageCreateInfo type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExternalMemoryImageCreateInfoNV;
--   
-- -- VkExternalMemoryImageCreateInfoNV registry at www.khronos.org data VkExternalMemoryImageCreateInfoNV VkExternalMemoryImageCreateInfoNV# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfoNV -- |
--   typedef struct VkExternalMemoryProperties {
--       VkExternalMemoryFeatureFlags  externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
--   } VkExternalMemoryProperties;
--   
-- -- VkExternalMemoryProperties registry at www.khronos.org data VkExternalMemoryProperties VkExternalMemoryProperties# :: Addr# -> ByteArray# -> 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 data VkExternalSemaphoreProperties VkExternalSemaphoreProperties# :: Addr# -> ByteArray# -> VkExternalSemaphoreProperties -- | Alias for VkExternalSemaphoreProperties type VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 type VkGetPhysicalDeviceExternalBufferProperties = "vkGetPhysicalDeviceExternalBufferProperties" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceExternalBufferPropertiesSafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalBufferInfo -> Ptr VkExternalBufferProperties -> IO () -- |
--   typedef struct VkExportFenceCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlags handleTypes;
--   } VkExportFenceCreateInfo;
--   
-- -- VkExportFenceCreateInfo registry at www.khronos.org data VkExportFenceCreateInfo VkExportFenceCreateInfo# :: Addr# -> ByteArray# -> VkExportFenceCreateInfo -- | Alias for VkExportFenceCreateInfo type VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo -- |
--   typedef struct VkExportMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExportMemoryAllocateInfo;
--   
-- -- VkExportMemoryAllocateInfo registry at www.khronos.org data VkExportMemoryAllocateInfo VkExportMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkExportMemoryAllocateInfo -- | Alias for VkExportMemoryAllocateInfo type VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo -- |
--   typedef struct VkExportMemoryAllocateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExportMemoryAllocateInfoNV;
--   
-- -- VkExportMemoryAllocateInfoNV registry at www.khronos.org data VkExportMemoryAllocateInfoNV VkExportMemoryAllocateInfoNV# :: Addr# -> ByteArray# -> VkExportMemoryAllocateInfoNV -- |
--   typedef struct VkExportSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlags handleTypes;
--   } VkExportSemaphoreCreateInfo;
--   
-- -- VkExportSemaphoreCreateInfo registry at www.khronos.org data VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfo# :: Addr# -> ByteArray# -> VkExportSemaphoreCreateInfo -- | Alias for VkExportSemaphoreCreateInfo type VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode type VkGetPhysicalDeviceExternalFenceProperties = "vkGetPhysicalDeviceExternalFenceProperties" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceExternalFencePropertiesSafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalFenceInfo -> Ptr VkExternalFenceProperties -> IO () newtype VkFenceCreateBitmask (a :: FlagType) VkFenceCreateBitmask :: VkFlags -> VkFenceCreateBitmask type VkFenceCreateFlags = VkFenceCreateBitmask FlagMask type VkFenceCreateFlagBits = VkFenceCreateBitmask FlagBit -- | bitpos = 0 newtype VkFenceImportFlagBitsKHR VkFenceImportFlagBitsKHR :: VkFlags -> VkFenceImportFlagBitsKHR newtype VkFenceImportBitmask (a :: FlagType) VkFenceImportBitmask :: VkFlags -> VkFenceImportBitmask type VkFenceImportFlags = VkFenceImportBitmask FlagMask type VkFenceImportFlagBits = VkFenceImportBitmask FlagBit -- | bitpos = 0 -- |
--   typedef struct VkFenceCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkFenceCreateFlags     flags;
--   } VkFenceCreateInfo;
--   
-- -- VkFenceCreateInfo registry at www.khronos.org data VkFenceCreateInfo VkFenceCreateInfo# :: Addr# -> ByteArray# -> VkFenceCreateInfo -- |
--   typedef struct VkFenceGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkFence                                fence;
--       VkExternalFenceHandleTypeFlagBits   handleType;
--   } VkFenceGetFdInfoKHR;
--   
-- -- VkFenceGetFdInfoKHR registry at www.khronos.org data VkFenceGetFdInfoKHR VkFenceGetFdInfoKHR# :: Addr# -> ByteArray# -> VkFenceGetFdInfoKHR -- |
--   typedef struct VkSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSemaphoreCreateFlags flags;
--   } VkSemaphoreCreateInfo;
--   
-- -- VkSemaphoreCreateInfo registry at www.khronos.org data VkSemaphoreCreateInfo VkSemaphoreCreateInfo# :: Addr# -> ByteArray# -> VkSemaphoreCreateInfo -- |
--   typedef struct VkSemaphoreGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSemaphore                      semaphore;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkSemaphoreGetFdInfoKHR;
--   
-- -- VkSemaphoreGetFdInfoKHR registry at www.khronos.org data VkSemaphoreGetFdInfoKHR VkSemaphoreGetFdInfoKHR# :: Addr# -> ByteArray# -> VkSemaphoreGetFdInfoKHR newtype VkSemaphoreImportFlagBitsKHR VkSemaphoreImportFlagBitsKHR :: VkFlags -> VkSemaphoreImportFlagBitsKHR newtype VkSemaphoreImportBitmask (a :: FlagType) VkSemaphoreImportBitmask :: VkFlags -> VkSemaphoreImportBitmask type VkSemaphoreImportFlags = VkSemaphoreImportBitmask FlagMask type VkSemaphoreImportFlagBits = VkSemaphoreImportBitmask FlagBit -- | bitpos = 0 type VkGetPhysicalDeviceExternalSemaphoreProperties = "vkGetPhysicalDeviceExternalSemaphoreProperties" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetPhysicalDeviceExternalSemaphorePropertiesSafe :: VkPhysicalDevice -> Ptr VkPhysicalDeviceExternalSemaphoreInfo -> Ptr VkExternalSemaphoreProperties -> IO () type VkGetDescriptorSetLayoutSupport = "vkGetDescriptorSetLayoutSupport" -- |
--   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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. 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: vkXxx and vkXxxSafe versions of the -- call refer to using unsafe of safe FFI respectively. vkGetDescriptorSetLayoutSupportSafe :: VkDevice -> Ptr VkDescriptorSetLayoutCreateInfo -> Ptr VkDescriptorSetLayoutSupport -> IO () instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumerateInstanceVersion" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindBufferMemory2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindImageMemory2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceGroupPeerMemoryFeatures" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDeviceMask" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDispatchBase" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumeratePhysicalDeviceGroups" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageMemoryRequirements2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetBufferMemoryRequirements2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageSparseMemoryRequirements2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceFeatures2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceProperties2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceFormatProperties2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceImageFormatProperties2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceMemoryProperties2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSparseImageFormatProperties2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkTrimCommandPool" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceQueue2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateSamplerYcbcrConversion" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroySamplerYcbcrConversion" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDescriptorUpdateTemplate" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDescriptorUpdateTemplate" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkUpdateDescriptorSetWithTemplate" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalBufferProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalFenceProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalSemaphoreProperties" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDescriptorSetLayoutSupport" module Graphics.Vulkan.Ext.VK_KHR_bind_memory2 -- |
--   typedef struct VkBindBufferMemoryDeviceGroupInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--   } VkBindBufferMemoryDeviceGroupInfo;
--   
-- -- VkBindBufferMemoryDeviceGroupInfo registry at www.khronos.org data VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfo# :: Addr# -> ByteArray# -> 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 data VkBindBufferMemoryInfo VkBindBufferMemoryInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemoryInfo VkBindImageMemoryInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemorySwapchainInfoKHR VkBindImageMemorySwapchainInfoKHR# :: Addr# -> ByteArray# -> VkBindImageMemorySwapchainInfoKHR -- |
--   typedef struct VkBindImagePlaneMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkBindImagePlaneMemoryInfo;
--   
-- -- VkBindImagePlaneMemoryInfo registry at www.khronos.org data VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfo# :: Addr# -> ByteArray# -> VkBindImagePlaneMemoryInfo -- | Alias for VkBindImagePlaneMemoryInfo type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo -- |
--   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 data VkBindSparseInfo VkBindSparseInfo# :: Addr# -> ByteArray# -> VkBindSparseInfo type VkBindBufferMemory2KHR = "vkBindBufferMemory2KHR" -- | This is an alias for vkBindBufferMemory2. -- -- Success codes: VK_SUCCESS. -- -- Error codes: VK_ERROR_OUT_OF_HOST_MEMORY, -- VK_ERROR_OUT_OF_DEVICE_MEMORY. -- --
--   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" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_KHR_BIND_MEMORY_2_SPEC_VERSION = 1 type VK_KHR_BIND_MEMORY_2_EXTENSION_NAME = "VK_KHR_bind_memory2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindBufferMemory2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkBindImageMemory2KHR" module Graphics.Vulkan.Ext.VK_KHR_dedicated_allocation -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org data VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryAllocateInfo VkMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkMemoryAllocateInfo -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org data VkMemoryBarrier VkMemoryBarrier# :: Addr# -> ByteArray# -> VkMemoryBarrier -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org data VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements# :: Addr# -> ByteArray# -> VkMemoryDedicatedRequirements -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org data VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR# :: Addr# -> ByteArray# -> VkMemoryFdPropertiesKHR -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org data VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR# :: Addr# -> ByteArray# -> VkMemoryGetFdInfoKHR -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org data VkMemoryHeap VkMemoryHeap# :: Addr# -> ByteArray# -> VkMemoryHeap -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org data VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT# :: Addr# -> ByteArray# -> VkMemoryHostPointerPropertiesEXT -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org data VkMemoryRequirements VkMemoryRequirements# :: Addr# -> ByteArray# -> VkMemoryRequirements -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org data VkMemoryRequirements2 VkMemoryRequirements2# :: Addr# -> ByteArray# -> VkMemoryRequirements2 -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org data VkMemoryType VkMemoryType# :: Addr# -> ByteArray# -> VkMemoryType type VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION = 3 type VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME = "VK_KHR_dedicated_allocation" module Graphics.Vulkan.Ext.VK_KHR_device_group -- |
--   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 data VkDeviceCreateInfo VkDeviceCreateInfo# :: Addr# -> ByteArray# -> VkDeviceCreateInfo -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org data VkDeviceEventInfoEXT VkDeviceEventInfoEXT# :: Addr# -> ByteArray# -> VkDeviceEventInfoEXT -- |
--   typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         computeBindingPointSupport;
--   } VkDeviceGeneratedCommandsFeaturesNVX;
--   
-- -- VkDeviceGeneratedCommandsFeaturesNVX registry at -- www.khronos.org data VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsFeaturesNVX -- |
--   typedef struct VkDeviceGeneratedCommandsLimitsNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         maxIndirectCommandsLayoutTokenCount;
--       uint32_t                         maxObjectEntryCounts;
--       uint32_t                         minSequenceCountBufferOffsetAlignment;
--       uint32_t                         minSequenceIndexBufferOffsetAlignment;
--       uint32_t                         minCommandsTokenBufferOffsetAlignment;
--   } VkDeviceGeneratedCommandsLimitsNVX;
--   
-- -- VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org data VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsLimitsNVX -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org data VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo# :: Addr# -> ByteArray# -> VkDeviceGroupSubmitInfo -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org data VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkDeviceGroupSwapchainCreateInfoKHR -- |
--   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 data VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo# :: Addr# -> ByteArray# -> VkDeviceQueueCreateInfo -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org data VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT# :: Addr# -> ByteArray# -> VkDeviceQueueGlobalPriorityCreateInfoEXT -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org data VkDeviceQueueInfo2 VkDeviceQueueInfo2# :: Addr# -> ByteArray# -> VkDeviceQueueInfo2 newtype VkMemoryAllocateFlagBitsKHR VkMemoryAllocateFlagBitsKHR :: VkFlags -> VkMemoryAllocateFlagBitsKHR newtype VkMemoryAllocateBitmask (a :: FlagType) VkMemoryAllocateBitmask :: VkFlags -> VkMemoryAllocateBitmask type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask type VkMemoryAllocateFlagBits = VkMemoryAllocateBitmask FlagBit -- | Force allocation on specific devices -- -- bitpos = 0 newtype VkMemoryHeapBitmask (a :: FlagType) VkMemoryHeapBitmask :: VkFlags -> VkMemoryHeapBitmask type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask type VkMemoryHeapFlagBits = VkMemoryHeapBitmask FlagBit -- | If set, heap represents device memory -- -- bitpos = 0 newtype VkMemoryPropertyBitmask (a :: FlagType) VkMemoryPropertyBitmask :: VkFlags -> VkMemoryPropertyBitmask type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask type VkMemoryPropertyFlagBits = VkMemoryPropertyBitmask FlagBit -- | If otherwise stated, then allocate memory on device -- -- bitpos = 0 -- | Memory is mappable by host -- -- bitpos = 1 -- | Memory will have io coherency. If not set, application may need to -- use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to -- flushinvalidate host cache -- -- bitpos = 2 -- | Memory will be cached by the host -- -- bitpos = 3 -- | Memory may be allocated by the driver when it is required -- -- bitpos = 4 -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org data VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryAllocateInfo VkMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkMemoryAllocateInfo -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org data VkMemoryBarrier VkMemoryBarrier# :: Addr# -> ByteArray# -> VkMemoryBarrier -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org data VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements# :: Addr# -> ByteArray# -> VkMemoryDedicatedRequirements -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org data VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR# :: Addr# -> ByteArray# -> VkMemoryFdPropertiesKHR -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org data VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR# :: Addr# -> ByteArray# -> VkMemoryGetFdInfoKHR -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org data VkMemoryHeap VkMemoryHeap# :: Addr# -> ByteArray# -> VkMemoryHeap -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org data VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT# :: Addr# -> ByteArray# -> VkMemoryHostPointerPropertiesEXT -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org data VkMemoryRequirements VkMemoryRequirements# :: Addr# -> ByteArray# -> VkMemoryRequirements -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org data VkMemoryRequirements2 VkMemoryRequirements2# :: Addr# -> ByteArray# -> VkMemoryRequirements2 -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org data VkMemoryType VkMemoryType# :: Addr# -> ByteArray# -> VkMemoryType newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 VkPeerMemoryFeatureFlagBitsKHR VkPeerMemoryFeatureFlagBitsKHR :: VkFlags -> VkPeerMemoryFeatureFlagBitsKHR newtype VkPeerMemoryFeatureBitmask (a :: FlagType) VkPeerMemoryFeatureBitmask :: VkFlags -> VkPeerMemoryFeatureBitmask type VkPeerMemoryFeatureFlags = VkPeerMemoryFeatureBitmask FlagMask type VkPeerMemoryFeatureFlagBits = VkPeerMemoryFeatureBitmask FlagBit -- | Can read with vkCmdCopy commands -- -- bitpos = 0 -- | Can write with vkCmdCopy commands -- -- bitpos = 1 -- | Can read with any access type/command -- -- bitpos = 2 -- | Can write with and access type/command -- -- bitpos = 3 type VkGetDeviceGroupPeerMemoryFeaturesKHR = "vkGetDeviceGroupPeerMemoryFeaturesKHR" -- | 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" -- | 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" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_KHR_DEVICE_GROUP_SPEC_VERSION = 3 type VK_KHR_DEVICE_GROUP_EXTENSION_NAME = "VK_KHR_device_group" -- |
--   typedef struct VkBindBufferMemoryDeviceGroupInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--   } VkBindBufferMemoryDeviceGroupInfo;
--   
-- -- VkBindBufferMemoryDeviceGroupInfo registry at www.khronos.org data VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfo# :: Addr# -> ByteArray# -> 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 data VkBindBufferMemoryInfo VkBindBufferMemoryInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemoryInfo VkBindImageMemoryInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemorySwapchainInfoKHR VkBindImageMemorySwapchainInfoKHR# :: Addr# -> ByteArray# -> VkBindImageMemorySwapchainInfoKHR -- |
--   typedef struct VkBindImagePlaneMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkBindImagePlaneMemoryInfo;
--   
-- -- VkBindImagePlaneMemoryInfo registry at www.khronos.org data VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfo# :: Addr# -> ByteArray# -> VkBindImagePlaneMemoryInfo -- | Alias for VkBindImagePlaneMemoryInfo type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo -- |
--   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 data VkBindSparseInfo VkBindSparseInfo# :: Addr# -> ByteArray# -> VkBindSparseInfo newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit -- | Present from local memory -- -- bitpos = 0 -- | Present from remote memory -- -- bitpos = 1 -- | Present sum of local and/or remote memory -- -- bitpos = 2 -- | Each physical device presents from local memory -- -- bitpos = 3 newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- | 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, -- 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, 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 -- |
--   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 data VkAcquireNextImageInfoKHR VkAcquireNextImageInfoKHR# :: Addr# -> ByteArray# -> VkAcquireNextImageInfoKHR newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask type VkColorComponentFlags = VkColorComponentBitmask FlagMask type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> VkImageViewUsageCreateInfo -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo -- |
--   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 data VkPresentInfoKHR VkPresentInfoKHR# :: Addr# -> ByteArray# -> VkPresentInfoKHR -- |
--   typedef struct VkPresentRegionKHR {
--       uint32_t         rectangleCount;
--       const VkRectLayerKHR*   pRectangles;
--   } VkPresentRegionKHR;
--   
-- -- VkPresentRegionKHR registry at www.khronos.org data VkPresentRegionKHR VkPresentRegionKHR# :: Addr# -> ByteArray# -> VkPresentRegionKHR -- |
--   typedef struct VkPresentRegionsKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentRegionKHR*   pRegions;
--   } VkPresentRegionsKHR;
--   
-- -- VkPresentRegionsKHR registry at www.khronos.org data VkPresentRegionsKHR VkPresentRegionsKHR# :: Addr# -> ByteArray# -> VkPresentRegionsKHR -- |
--   typedef struct VkPresentTimeGOOGLE {
--       uint32_t                         presentID;
--       uint64_t                         desiredPresentTime;
--   } VkPresentTimeGOOGLE;
--   
-- -- VkPresentTimeGOOGLE registry at www.khronos.org data VkPresentTimeGOOGLE VkPresentTimeGOOGLE# :: Addr# -> ByteArray# -> VkPresentTimeGOOGLE -- |
--   typedef struct VkPresentTimesInfoGOOGLE {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         swapchainCount;
--       const VkPresentTimeGOOGLE*   pTimes;
--   } VkPresentTimesInfoGOOGLE;
--   
-- -- VkPresentTimesInfoGOOGLE registry at www.khronos.org data VkPresentTimesInfoGOOGLE VkPresentTimesInfoGOOGLE# :: Addr# -> ByteArray# -> VkPresentTimesInfoGOOGLE -- | type = enum -- -- VkPresentModeKHR registry at www.khronos.org newtype VkPresentModeKHR VkPresentModeKHR :: Int32 -> VkPresentModeKHR -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | type = enum -- -- VkSharingMode registry at www.khronos.org newtype VkSharingMode VkSharingMode :: Int32 -> VkSharingMode newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit -- | bitpos = 0 newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 -- | bitpos = 7 -- | bitpos = 8 newtype VkSwapchainCreateBitmaskKHR (a :: FlagType) VkSwapchainCreateBitmaskKHR :: VkFlags -> VkSwapchainCreateBitmaskKHR type VkSwapchainCreateFlagsKHR = VkSwapchainCreateBitmaskKHR FlagMask type VkSwapchainCreateFlagBitsKHR = VkSwapchainCreateBitmaskKHR FlagBit -- |
--   typedef struct VkSwapchainCounterCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSurfaceCounterFlagsEXT         surfaceCounters;
--   } VkSwapchainCounterCreateInfoEXT;
--   
-- -- VkSwapchainCounterCreateInfoEXT registry at www.khronos.org data VkSwapchainCounterCreateInfoEXT VkSwapchainCounterCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkSwapchainCreateInfoKHR VkSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkSwapchainCreateInfoKHR -- | 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. -- --
--   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 -- | Allow images with VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT -- -- bitpos = 0 instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDeviceGroupPeerMemoryFeaturesKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDeviceMaskKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdDispatchBaseKHR" module Graphics.Vulkan.Ext.VK_KHR_external_fence -- |
--   typedef struct VkExportFenceCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlags handleTypes;
--   } VkExportFenceCreateInfo;
--   
-- -- VkExportFenceCreateInfo registry at www.khronos.org data VkExportFenceCreateInfo VkExportFenceCreateInfo# :: Addr# -> ByteArray# -> VkExportFenceCreateInfo -- | Alias for VkExportFenceCreateInfo type VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo -- |
--   typedef struct VkExportMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExportMemoryAllocateInfo;
--   
-- -- VkExportMemoryAllocateInfo registry at www.khronos.org data VkExportMemoryAllocateInfo VkExportMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkExportMemoryAllocateInfo -- | Alias for VkExportMemoryAllocateInfo type VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo -- |
--   typedef struct VkExportMemoryAllocateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExportMemoryAllocateInfoNV;
--   
-- -- VkExportMemoryAllocateInfoNV registry at www.khronos.org data VkExportMemoryAllocateInfoNV VkExportMemoryAllocateInfoNV# :: Addr# -> ByteArray# -> VkExportMemoryAllocateInfoNV -- |
--   typedef struct VkExportSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlags handleTypes;
--   } VkExportSemaphoreCreateInfo;
--   
-- -- VkExportSemaphoreCreateInfo registry at www.khronos.org data VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfo# :: Addr# -> ByteArray# -> VkExportSemaphoreCreateInfo -- | Alias for VkExportSemaphoreCreateInfo type VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo newtype VkFenceCreateBitmask (a :: FlagType) VkFenceCreateBitmask :: VkFlags -> VkFenceCreateBitmask type VkFenceCreateFlags = VkFenceCreateBitmask FlagMask type VkFenceCreateFlagBits = VkFenceCreateBitmask FlagBit -- | bitpos = 0 newtype VkFenceImportFlagBitsKHR VkFenceImportFlagBitsKHR :: VkFlags -> VkFenceImportFlagBitsKHR newtype VkFenceImportBitmask (a :: FlagType) VkFenceImportBitmask :: VkFlags -> VkFenceImportBitmask type VkFenceImportFlags = VkFenceImportBitmask FlagMask type VkFenceImportFlagBits = VkFenceImportBitmask FlagBit -- | bitpos = 0 newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 type VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME = "VK_KHR_external_fence" module Graphics.Vulkan.Ext.VK_KHR_external_memory -- |
--   typedef struct VkExportFenceCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlags handleTypes;
--   } VkExportFenceCreateInfo;
--   
-- -- VkExportFenceCreateInfo registry at www.khronos.org data VkExportFenceCreateInfo VkExportFenceCreateInfo# :: Addr# -> ByteArray# -> VkExportFenceCreateInfo -- | Alias for VkExportFenceCreateInfo type VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo -- |
--   typedef struct VkExportMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExportMemoryAllocateInfo;
--   
-- -- VkExportMemoryAllocateInfo registry at www.khronos.org data VkExportMemoryAllocateInfo VkExportMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkExportMemoryAllocateInfo -- | Alias for VkExportMemoryAllocateInfo type VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo -- |
--   typedef struct VkExportMemoryAllocateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExportMemoryAllocateInfoNV;
--   
-- -- VkExportMemoryAllocateInfoNV registry at www.khronos.org data VkExportMemoryAllocateInfoNV VkExportMemoryAllocateInfoNV# :: Addr# -> ByteArray# -> VkExportMemoryAllocateInfoNV -- |
--   typedef struct VkExportSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlags handleTypes;
--   } VkExportSemaphoreCreateInfo;
--   
-- -- VkExportSemaphoreCreateInfo registry at www.khronos.org data VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfo# :: Addr# -> ByteArray# -> VkExportSemaphoreCreateInfo -- | Alias for VkExportSemaphoreCreateInfo type VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo -- |
--   typedef struct VkExternalBufferProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties    externalMemoryProperties;
--   } VkExternalBufferProperties;
--   
-- -- VkExternalBufferProperties registry at www.khronos.org data VkExternalBufferProperties VkExternalBufferProperties# :: Addr# -> ByteArray# -> 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 data VkExternalFenceProperties VkExternalFenceProperties# :: Addr# -> ByteArray# -> VkExternalFenceProperties -- | Alias for VkExternalFenceProperties type VkExternalFencePropertiesKHR = VkExternalFenceProperties -- |
--   typedef struct VkExternalImageFormatProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties externalMemoryProperties;
--   } VkExternalImageFormatProperties;
--   
-- -- VkExternalImageFormatProperties registry at www.khronos.org data VkExternalImageFormatProperties VkExternalImageFormatProperties# :: Addr# -> ByteArray# -> 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 data VkExternalImageFormatPropertiesNV VkExternalImageFormatPropertiesNV# :: Addr# -> ByteArray# -> VkExternalImageFormatPropertiesNV -- |
--   typedef struct VkExternalMemoryBufferCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryBufferCreateInfo;
--   
-- -- VkExternalMemoryBufferCreateInfo registry at www.khronos.org data VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryBufferCreateInfo -- | Alias for VkExternalMemoryBufferCreateInfo type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryImageCreateInfo;
--   
-- -- VkExternalMemoryImageCreateInfo registry at www.khronos.org data VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfo -- | Alias for VkExternalMemoryImageCreateInfo type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExternalMemoryImageCreateInfoNV;
--   
-- -- VkExternalMemoryImageCreateInfoNV registry at www.khronos.org data VkExternalMemoryImageCreateInfoNV VkExternalMemoryImageCreateInfoNV# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfoNV -- |
--   typedef struct VkExternalMemoryProperties {
--       VkExternalMemoryFeatureFlags  externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
--   } VkExternalMemoryProperties;
--   
-- -- VkExternalMemoryProperties registry at www.khronos.org data VkExternalMemoryProperties VkExternalMemoryProperties# :: Addr# -> ByteArray# -> 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 data VkExternalSemaphoreProperties VkExternalSemaphoreProperties# :: Addr# -> ByteArray# -> VkExternalSemaphoreProperties -- | Alias for VkExternalSemaphoreProperties type VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties type VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION = 1 type VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME = "VK_KHR_external_memory" module Graphics.Vulkan.Ext.VK_KHR_external_semaphore -- |
--   typedef struct VkExportFenceCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlags handleTypes;
--   } VkExportFenceCreateInfo;
--   
-- -- VkExportFenceCreateInfo registry at www.khronos.org data VkExportFenceCreateInfo VkExportFenceCreateInfo# :: Addr# -> ByteArray# -> VkExportFenceCreateInfo -- | Alias for VkExportFenceCreateInfo type VkExportFenceCreateInfoKHR = VkExportFenceCreateInfo -- |
--   typedef struct VkExportMemoryAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExportMemoryAllocateInfo;
--   
-- -- VkExportMemoryAllocateInfo registry at www.khronos.org data VkExportMemoryAllocateInfo VkExportMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkExportMemoryAllocateInfo -- | Alias for VkExportMemoryAllocateInfo type VkExportMemoryAllocateInfoKHR = VkExportMemoryAllocateInfo -- |
--   typedef struct VkExportMemoryAllocateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExportMemoryAllocateInfoNV;
--   
-- -- VkExportMemoryAllocateInfoNV registry at www.khronos.org data VkExportMemoryAllocateInfoNV VkExportMemoryAllocateInfoNV# :: Addr# -> ByteArray# -> VkExportMemoryAllocateInfoNV -- |
--   typedef struct VkExportSemaphoreCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlags handleTypes;
--   } VkExportSemaphoreCreateInfo;
--   
-- -- VkExportSemaphoreCreateInfo registry at www.khronos.org data VkExportSemaphoreCreateInfo VkExportSemaphoreCreateInfo# :: Addr# -> ByteArray# -> VkExportSemaphoreCreateInfo -- | Alias for VkExportSemaphoreCreateInfo type VkExportSemaphoreCreateInfoKHR = VkExportSemaphoreCreateInfo newtype VkSemaphoreImportFlagBitsKHR VkSemaphoreImportFlagBitsKHR :: VkFlags -> VkSemaphoreImportFlagBitsKHR newtype VkSemaphoreImportBitmask (a :: FlagType) VkSemaphoreImportBitmask :: VkFlags -> VkSemaphoreImportBitmask type VkSemaphoreImportFlags = VkSemaphoreImportBitmask FlagMask type VkSemaphoreImportFlagBits = VkSemaphoreImportBitmask FlagBit -- | bitpos = 0 newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 type VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME = "VK_KHR_external_semaphore" module Graphics.Vulkan.Ext.VK_KHR_get_memory_requirements2 -- |
--   typedef struct VkBufferCopy {
--       VkDeviceSize           srcOffset;
--       VkDeviceSize           dstOffset;
--       VkDeviceSize           size;
--   } VkBufferCopy;
--   
-- -- VkBufferCopy registry at www.khronos.org data VkBufferCopy VkBufferCopy# :: Addr# -> ByteArray# -> 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 data VkBufferCreateInfo VkBufferCreateInfo# :: Addr# -> ByteArray# -> VkBufferCreateInfo -- |
--   typedef struct VkBufferImageCopy {
--       VkDeviceSize           bufferOffset;
--       uint32_t               bufferRowLength;
--       uint32_t               bufferImageHeight;
--       VkImageSubresourceLayers imageSubresource;
--       VkOffset3D             imageOffset;
--       VkExtent3D             imageExtent;
--   } VkBufferImageCopy;
--   
-- -- VkBufferImageCopy registry at www.khronos.org data VkBufferImageCopy VkBufferImageCopy# :: Addr# -> ByteArray# -> 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 data VkBufferMemoryBarrier VkBufferMemoryBarrier# :: Addr# -> ByteArray# -> VkBufferMemoryBarrier -- |
--   typedef struct VkBufferMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkBuffer                                                             buffer;
--   } VkBufferMemoryRequirementsInfo2;
--   
-- -- VkBufferMemoryRequirementsInfo2 registry at www.khronos.org data VkBufferMemoryRequirementsInfo2 VkBufferMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkBufferMemoryRequirementsInfo2 -- | Alias for VkBufferMemoryRequirementsInfo2 type VkBufferMemoryRequirementsInfo2KHR = VkBufferMemoryRequirementsInfo2 -- |
--   typedef struct VkBufferViewCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBufferViewCreateFlagsflags;
--       VkBuffer               buffer;
--       VkFormat               format;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkBufferViewCreateInfo;
--   
-- -- VkBufferViewCreateInfo registry at www.khronos.org data VkBufferViewCreateInfo VkBufferViewCreateInfo# :: Addr# -> ByteArray# -> VkBufferViewCreateInfo -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryAllocateInfo VkMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkMemoryAllocateInfo -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org data VkMemoryBarrier VkMemoryBarrier# :: Addr# -> ByteArray# -> VkMemoryBarrier -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org data VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements# :: Addr# -> ByteArray# -> VkMemoryDedicatedRequirements -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org data VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR# :: Addr# -> ByteArray# -> VkMemoryFdPropertiesKHR -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org data VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR# :: Addr# -> ByteArray# -> VkMemoryGetFdInfoKHR -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org data VkMemoryHeap VkMemoryHeap# :: Addr# -> ByteArray# -> VkMemoryHeap -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org data VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT# :: Addr# -> ByteArray# -> VkMemoryHostPointerPropertiesEXT -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org data VkMemoryRequirements VkMemoryRequirements# :: Addr# -> ByteArray# -> VkMemoryRequirements -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org data VkMemoryRequirements2 VkMemoryRequirements2# :: Addr# -> ByteArray# -> VkMemoryRequirements2 -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org data VkMemoryType VkMemoryType# :: Addr# -> ByteArray# -> VkMemoryType -- |
--   typedef struct VkSparseBufferMemoryBindInfo {
--       VkBuffer buffer;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseBufferMemoryBindInfo;
--   
-- -- VkSparseBufferMemoryBindInfo registry at www.khronos.org data VkSparseBufferMemoryBindInfo VkSparseBufferMemoryBindInfo# :: Addr# -> ByteArray# -> VkSparseBufferMemoryBindInfo -- |
--   typedef struct VkSparseImageFormatProperties {
--       VkImageAspectFlags     aspectMask;
--       VkExtent3D             imageGranularity;
--       VkSparseImageFormatFlags flags;
--   } VkSparseImageFormatProperties;
--   
-- -- VkSparseImageFormatProperties registry at www.khronos.org data VkSparseImageFormatProperties VkSparseImageFormatProperties# :: Addr# -> ByteArray# -> VkSparseImageFormatProperties -- |
--   typedef struct VkSparseImageFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSparseImageFormatProperties    properties;
--   } VkSparseImageFormatProperties2;
--   
-- -- VkSparseImageFormatProperties2 registry at www.khronos.org data VkSparseImageFormatProperties2 VkSparseImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkSparseImageMemoryBind VkSparseImageMemoryBind# :: Addr# -> ByteArray# -> VkSparseImageMemoryBind -- |
--   typedef struct VkSparseImageMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseImageMemoryBind* pBinds;
--   } VkSparseImageMemoryBindInfo;
--   
-- -- VkSparseImageMemoryBindInfo registry at www.khronos.org data VkSparseImageMemoryBindInfo VkSparseImageMemoryBindInfo# :: Addr# -> ByteArray# -> VkSparseImageMemoryBindInfo -- |
--   typedef struct VkSparseImageMemoryRequirements {
--       VkSparseImageFormatProperties formatProperties;
--       uint32_t               imageMipTailFirstLod;
--       VkDeviceSize           imageMipTailSize;
--       VkDeviceSize           imageMipTailOffset;
--       VkDeviceSize           imageMipTailStride;
--   } VkSparseImageMemoryRequirements;
--   
-- -- VkSparseImageMemoryRequirements registry at www.khronos.org data VkSparseImageMemoryRequirements VkSparseImageMemoryRequirements# :: Addr# -> ByteArray# -> VkSparseImageMemoryRequirements -- |
--   typedef struct VkSparseImageMemoryRequirements2 {
--       VkStructureType sType;
--       void*                                       pNext;
--       VkSparseImageMemoryRequirements                                      memoryRequirements;
--   } VkSparseImageMemoryRequirements2;
--   
-- -- VkSparseImageMemoryRequirements2 registry at www.khronos.org data VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2# :: Addr# -> ByteArray# -> 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 data VkSparseImageOpaqueMemoryBindInfo VkSparseImageOpaqueMemoryBindInfo# :: Addr# -> ByteArray# -> VkSparseImageOpaqueMemoryBindInfo -- |
--   typedef struct VkSparseMemoryBind {
--       VkDeviceSize           resourceOffset;
--       VkDeviceSize           size;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseMemoryBind;
--   
-- -- VkSparseMemoryBind registry at www.khronos.org data VkSparseMemoryBind VkSparseMemoryBind# :: Addr# -> ByteArray# -> VkSparseMemoryBind type VkGetImageMemoryRequirements2KHR = "vkGetImageMemoryRequirements2KHR" -- | 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" -- | 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" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType newtype VkSparseImageFormatBitmask (a :: FlagType) VkSparseImageFormatBitmask :: VkFlags -> VkSparseImageFormatBitmask type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask type VkSparseImageFormatFlagBits = VkSparseImageFormatBitmask FlagBit -- | Image uses a single mip tail region for all array layers -- -- bitpos = 0 -- | Image requires mip level dimensions to be an integer multiple of the -- sparse image block dimensions for non-tail mip levels. -- -- bitpos = 1 -- | Image uses a non-standard sparse image block dimensions -- -- bitpos = 2 newtype VkSparseMemoryBindBitmask (a :: FlagType) VkSparseMemoryBindBitmask :: VkFlags -> VkSparseMemoryBindBitmask type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask type VkSparseMemoryBindFlagBits = VkSparseMemoryBindBitmask FlagBit -- | Operation binds resource metadata to memory -- -- bitpos = 0 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D type VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION = 1 type VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME = "VK_KHR_get_memory_requirements2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageMemoryRequirements2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetBufferMemoryRequirements2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetImageSparseMemoryRequirements2KHR" module Graphics.Vulkan.Ext.VK_KHR_maintenance1 newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_KHR_MAINTENANCE1_SPEC_VERSION = 2 type VK_KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkTrimCommandPoolKHR" module Graphics.Vulkan.Ext.VK_AMD_shader_core_properties newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION = 1 type VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME = "VK_AMD_shader_core_properties" module Graphics.Vulkan.Ext.VK_EXT_blend_operation_advanced -- | type = enum -- -- VkBlendFactor registry at www.khronos.org newtype VkBlendFactor VkBlendFactor :: Int32 -> VkBlendFactor -- | type = enum -- -- VkBlendOp registry at www.khronos.org newtype VkBlendOp VkBlendOp :: Int32 -> VkBlendOp -- | type = enum -- -- VkBlendOverlapEXT registry at www.khronos.org newtype VkBlendOverlapEXT VkBlendOverlapEXT :: Int32 -> VkBlendOverlapEXT newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask type VkColorComponentFlags = VkColorComponentBitmask FlagMask type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 data VkDeviceCreateInfo VkDeviceCreateInfo# :: Addr# -> ByteArray# -> VkDeviceCreateInfo -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org data VkDeviceEventInfoEXT VkDeviceEventInfoEXT# :: Addr# -> ByteArray# -> VkDeviceEventInfoEXT -- |
--   typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         computeBindingPointSupport;
--   } VkDeviceGeneratedCommandsFeaturesNVX;
--   
-- -- VkDeviceGeneratedCommandsFeaturesNVX registry at -- www.khronos.org data VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsFeaturesNVX -- |
--   typedef struct VkDeviceGeneratedCommandsLimitsNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         maxIndirectCommandsLayoutTokenCount;
--       uint32_t                         maxObjectEntryCounts;
--       uint32_t                         minSequenceCountBufferOffsetAlignment;
--       uint32_t                         minSequenceIndexBufferOffsetAlignment;
--       uint32_t                         minCommandsTokenBufferOffsetAlignment;
--   } VkDeviceGeneratedCommandsLimitsNVX;
--   
-- -- VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org data VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsLimitsNVX -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org data VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo# :: Addr# -> ByteArray# -> VkDeviceGroupSubmitInfo -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org data VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkDeviceGroupSwapchainCreateInfoKHR -- |
--   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 data VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo# :: Addr# -> ByteArray# -> VkDeviceQueueCreateInfo -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org data VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT# :: Addr# -> ByteArray# -> VkDeviceQueueGlobalPriorityCreateInfoEXT -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org data VkDeviceQueueInfo2 VkDeviceQueueInfo2# :: Addr# -> ByteArray# -> VkDeviceQueueInfo2 newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit -- | Present from local memory -- -- bitpos = 0 -- | Present from remote memory -- -- bitpos = 1 -- | Present sum of local and/or remote memory -- -- bitpos = 2 -- | Each physical device presents from local memory -- -- bitpos = 3 newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit -- | type = enum -- -- VkLogicOp registry at www.khronos.org newtype VkLogicOp VkLogicOp :: Int32 -> VkLogicOp -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- |
--   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 data VkPhysicalDeviceFeatures VkPhysicalDeviceFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType -- |
--   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 data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo# :: Addr# -> ByteArray# -> VkGraphicsPipelineCreateInfo -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo# :: Addr# -> ByteArray# -> VkPipelineCacheCreateInfo -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineColorBlendStateCreateInfo -- |
--   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 data VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageModulationStateCreateInfoNV -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org data VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageToColorStateCreateInfoNV -- |
--   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 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT# :: Addr# -> ByteArray# -> VkPipelineDiscardRectangleStateCreateInfoEXT -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineDynamicStateCreateInfo -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineMultisampleStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org data VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateRasterizationOrderAMD -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo# :: Addr# -> ByteArray# -> VkPipelineShaderStageCreateInfo -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org data VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineTessellationStateCreateInfo -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION = 2 type VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME = "VK_EXT_blend_operation_advanced" -- | bitpos = 19 module Graphics.Vulkan.Ext.VK_EXT_conservative_rasterization newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask type VkCullModeFlags = VkCullModeBitmask FlagMask type VkCullModeFlagBits = VkCullModeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> VkFrontFace -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 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 data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo# :: Addr# -> ByteArray# -> VkGraphicsPipelineCreateInfo -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo# :: Addr# -> ByteArray# -> VkPipelineCacheCreateInfo -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineColorBlendStateCreateInfo -- |
--   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 data VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageModulationStateCreateInfoNV -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org data VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageToColorStateCreateInfoNV -- |
--   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 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT# :: Addr# -> ByteArray# -> VkPipelineDiscardRectangleStateCreateInfoEXT -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineDynamicStateCreateInfo -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineMultisampleStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org data VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateRasterizationOrderAMD -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo# :: Addr# -> ByteArray# -> VkPipelineShaderStageCreateInfo -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org data VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineTessellationStateCreateInfo -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION = 1 type VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME = "VK_EXT_conservative_rasterization" module Graphics.Vulkan.Ext.VK_EXT_descriptor_indexing newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkDescriptorBindingBitmaskEXT (a :: FlagType) VkDescriptorBindingBitmaskEXT :: VkFlags -> VkDescriptorBindingBitmaskEXT type VkDescriptorBindingFlagsEXT = VkDescriptorBindingBitmaskEXT FlagMask type VkDescriptorBindingFlagBitsEXT = VkDescriptorBindingBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit -- | Descriptor sets may be freed individually -- -- bitpos = 0 newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR -- |
--   typedef struct VkDescriptorBufferInfo {
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkDescriptorBufferInfo;
--   
-- -- VkDescriptorBufferInfo registry at www.khronos.org data VkDescriptorBufferInfo VkDescriptorBufferInfo# :: Addr# -> ByteArray# -> VkDescriptorBufferInfo -- |
--   typedef struct VkDescriptorImageInfo {
--       VkSampler       sampler;
--       VkImageView     imageView;
--       VkImageLayout   imageLayout;
--   } VkDescriptorImageInfo;
--   
-- -- VkDescriptorImageInfo registry at www.khronos.org data VkDescriptorImageInfo VkDescriptorImageInfo# :: Addr# -> ByteArray# -> 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 data VkDescriptorPoolCreateInfo VkDescriptorPoolCreateInfo# :: Addr# -> ByteArray# -> VkDescriptorPoolCreateInfo -- |
--   typedef struct VkDescriptorPoolSize {
--       VkDescriptorType       type;
--       uint32_t               descriptorCount;
--   } VkDescriptorPoolSize;
--   
-- -- VkDescriptorPoolSize registry at www.khronos.org data VkDescriptorPoolSize VkDescriptorPoolSize# :: Addr# -> ByteArray# -> VkDescriptorPoolSize -- |
--   typedef struct VkDescriptorSetAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPool       descriptorPool;
--       uint32_t               descriptorSetCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--   } VkDescriptorSetAllocateInfo;
--   
-- -- VkDescriptorSetAllocateInfo registry at www.khronos.org data VkDescriptorSetAllocateInfo VkDescriptorSetAllocateInfo# :: Addr# -> ByteArray# -> VkDescriptorSetAllocateInfo -- |
--   typedef struct VkDescriptorSetLayoutBinding {
--       uint32_t               binding;
--       VkDescriptorType       descriptorType;
--       uint32_t descriptorCount;
--       VkShaderStageFlags     stageFlags;
--       const VkSampler*       pImmutableSamplers;
--   } VkDescriptorSetLayoutBinding;
--   
-- -- VkDescriptorSetLayoutBinding registry at www.khronos.org data VkDescriptorSetLayoutBinding VkDescriptorSetLayoutBinding# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutBinding -- |
--   typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               bindingCount;
--       const VkDescriptorBindingFlagsEXT* pBindingFlags;
--   } VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
--   
-- -- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT registry at -- www.khronos.org data VkDescriptorSetLayoutBindingFlagsCreateInfoEXT VkDescriptorSetLayoutBindingFlagsCreateInfoEXT# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -- |
--   typedef struct VkDescriptorSetLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSetLayoutCreateFlags    flags;
--       uint32_t               bindingCount;
--       const VkDescriptorSetLayoutBinding* pBindings;
--   } VkDescriptorSetLayoutCreateInfo;
--   
-- -- VkDescriptorSetLayoutCreateInfo registry at www.khronos.org data VkDescriptorSetLayoutCreateInfo VkDescriptorSetLayoutCreateInfo# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutCreateInfo -- |
--   typedef struct VkDescriptorSetLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       VkBool32         supported;
--   } VkDescriptorSetLayoutSupport;
--   
-- -- VkDescriptorSetLayoutSupport registry at www.khronos.org data VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupport# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutSupport -- | Alias for VkDescriptorSetLayoutSupport type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               descriptorSetCount;
--       const uint32_t* pDescriptorCounts;
--   } VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
--   
-- -- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT registry at -- www.khronos.org data VkDescriptorSetVariableDescriptorCountAllocateInfoEXT VkDescriptorSetVariableDescriptorCountAllocateInfoEXT# :: Addr# -> ByteArray# -> VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {
--       VkStructureType sType;
--       void*            pNext;
--       uint32_t         maxVariableDescriptorCount;
--   } VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
--   
-- -- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT registry at -- www.khronos.org data VkDescriptorSetVariableDescriptorCountLayoutSupportEXT VkDescriptorSetVariableDescriptorCountLayoutSupportEXT# :: Addr# -> ByteArray# -> VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -- |
--   typedef struct VkDescriptorUpdateTemplateCreateInfo {
--       VkStructureType sType;
--       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 data VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntry# :: Addr# -> ByteArray# -> VkDescriptorUpdateTemplateEntry -- | Alias for VkDescriptorUpdateTemplateEntry type VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 data VkDeviceCreateInfo VkDeviceCreateInfo# :: Addr# -> ByteArray# -> VkDeviceCreateInfo -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org data VkDeviceEventInfoEXT VkDeviceEventInfoEXT# :: Addr# -> ByteArray# -> VkDeviceEventInfoEXT -- |
--   typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         computeBindingPointSupport;
--   } VkDeviceGeneratedCommandsFeaturesNVX;
--   
-- -- VkDeviceGeneratedCommandsFeaturesNVX registry at -- www.khronos.org data VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsFeaturesNVX -- |
--   typedef struct VkDeviceGeneratedCommandsLimitsNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         maxIndirectCommandsLayoutTokenCount;
--       uint32_t                         maxObjectEntryCounts;
--       uint32_t                         minSequenceCountBufferOffsetAlignment;
--       uint32_t                         minSequenceIndexBufferOffsetAlignment;
--       uint32_t                         minCommandsTokenBufferOffsetAlignment;
--   } VkDeviceGeneratedCommandsLimitsNVX;
--   
-- -- VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org data VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsLimitsNVX -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org data VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo# :: Addr# -> ByteArray# -> VkDeviceGroupSubmitInfo -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org data VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkDeviceGroupSwapchainCreateInfoKHR -- |
--   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 data VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo# :: Addr# -> ByteArray# -> VkDeviceQueueCreateInfo -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org data VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT# :: Addr# -> ByteArray# -> VkDeviceQueueGlobalPriorityCreateInfoEXT -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org data VkDeviceQueueInfo2 VkDeviceQueueInfo2# :: Addr# -> ByteArray# -> VkDeviceQueueInfo2 newtype VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit -- | Present from local memory -- -- bitpos = 0 -- | Present from remote memory -- -- bitpos = 1 -- | Present sum of local and/or remote memory -- -- bitpos = 2 -- | Each physical device presents from local memory -- -- bitpos = 3 newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- |
--   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 data VkPhysicalDeviceFeatures VkPhysicalDeviceFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask type VkShaderStageFlags = VkShaderStageBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION = 2 type VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME = "VK_EXT_descriptor_indexing" -- | bitpos = 1 -- | bitpos = 1 module Graphics.Vulkan.Ext.VK_EXT_discard_rectangles -- | type = enum -- -- VkBlendFactor registry at www.khronos.org newtype VkBlendFactor VkBlendFactor :: Int32 -> VkBlendFactor -- | type = enum -- -- VkBlendOp registry at www.khronos.org newtype VkBlendOp VkBlendOp :: Int32 -> VkBlendOp -- | type = enum -- -- VkBlendOverlapEXT registry at www.khronos.org newtype VkBlendOverlapEXT VkBlendOverlapEXT :: Int32 -> VkBlendOverlapEXT newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask type VkColorComponentFlags = VkColorComponentBitmask FlagMask type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp newtype VkCullModeBitmask (a :: FlagType) VkCullModeBitmask :: VkFlags -> VkCullModeBitmask type VkCullModeFlags = VkCullModeBitmask FlagMask type VkCullModeFlagBits = VkCullModeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | type = enum -- -- VkDiscardRectangleModeEXT registry at www.khronos.org newtype VkDiscardRectangleModeEXT VkDiscardRectangleModeEXT :: Int32 -> VkDiscardRectangleModeEXT -- | type = enum -- -- VkDynamicState registry at www.khronos.org newtype VkDynamicState VkDynamicState :: Int32 -> VkDynamicState -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 -- | type = enum -- -- VkFrontFace registry at www.khronos.org newtype VkFrontFace VkFrontFace :: Int32 -> 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 data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo# :: Addr# -> ByteArray# -> VkGraphicsPipelineCreateInfo -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo# :: Addr# -> ByteArray# -> VkPipelineCacheCreateInfo -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineColorBlendStateCreateInfo -- |
--   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 data VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageModulationStateCreateInfoNV -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org data VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageToColorStateCreateInfoNV -- |
--   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 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT# :: Addr# -> ByteArray# -> VkPipelineDiscardRectangleStateCreateInfoEXT -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineDynamicStateCreateInfo -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineMultisampleStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org data VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateRasterizationOrderAMD -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo# :: Addr# -> ByteArray# -> VkPipelineShaderStageCreateInfo -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org data VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineTessellationStateCreateInfo -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV -- | type = enum -- -- VkLogicOp registry at www.khronos.org newtype VkLogicOp VkLogicOp :: Int32 -> VkLogicOp -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org data VkOffset2D VkOffset2D# :: Addr# -> ByteArray# -> VkOffset2D -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org data VkOffset3D VkOffset3D# :: Addr# -> ByteArray# -> VkOffset3D -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint newtype VkPipelineCacheCreateFlagBits VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateFlagBits -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion newtype VkPipelineColorBlendStateCreateFlagBits VkPipelineColorBlendStateCreateFlagBits :: VkFlags -> VkPipelineColorBlendStateCreateFlagBits newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkPipelineDepthStencilStateCreateFlagBits VkPipelineDepthStencilStateCreateFlagBits :: VkFlags -> VkPipelineDepthStencilStateCreateFlagBits newtype VkPipelineDynamicStateCreateFlagBits VkPipelineDynamicStateCreateFlagBits :: VkFlags -> VkPipelineDynamicStateCreateFlagBits newtype VkPipelineInputAssemblyStateCreateFlagBits VkPipelineInputAssemblyStateCreateFlagBits :: VkFlags -> VkPipelineInputAssemblyStateCreateFlagBits newtype VkPipelineLayoutCreateFlagBits VkPipelineLayoutCreateFlagBits :: VkFlags -> VkPipelineLayoutCreateFlagBits newtype VkPipelineMultisampleStateCreateFlagBits VkPipelineMultisampleStateCreateFlagBits :: VkFlags -> VkPipelineMultisampleStateCreateFlagBits newtype VkPipelineRasterizationStateCreateFlagBits VkPipelineRasterizationStateCreateFlagBits :: VkFlags -> VkPipelineRasterizationStateCreateFlagBits newtype VkPipelineShaderStageCreateFlagBits VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateFlagBits newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit -- | Before subsequent commands are processed -- -- bitpos = 0 -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 -- | Vertex/index fetch -- -- bitpos = 2 -- | Vertex shading -- -- bitpos = 3 -- | Tessellation control shading -- -- bitpos = 4 -- | Tessellation evaluation shading -- -- bitpos = 5 -- | Geometry shading -- -- bitpos = 6 -- | Fragment shading -- -- bitpos = 7 -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 -- | Color attachment writes -- -- bitpos = 10 -- | Compute shading -- -- bitpos = 11 -- | Transfer/copy operations -- -- bitpos = 12 -- | After previous commands have completed -- -- bitpos = 13 -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 -- | All stages of the graphics pipeline -- -- bitpos = 15 -- | All stages supported on the queue -- -- bitpos = 16 newtype VkPipelineTessellationStateCreateFlagBits VkPipelineTessellationStateCreateFlagBits :: VkFlags -> VkPipelineTessellationStateCreateFlagBits newtype VkPipelineVertexInputStateCreateFlagBits VkPipelineVertexInputStateCreateFlagBits :: VkFlags -> VkPipelineVertexInputStateCreateFlagBits newtype VkPipelineViewportStateCreateFlagBits VkPipelineViewportStateCreateFlagBits :: VkFlags -> VkPipelineViewportStateCreateFlagBits -- | type = enum -- -- VkPolygonMode registry at www.khronos.org newtype VkPolygonMode VkPolygonMode :: Int32 -> VkPolygonMode -- | type = enum -- -- VkPrimitiveTopology registry at www.khronos.org newtype VkPrimitiveTopology VkPrimitiveTopology :: Int32 -> VkPrimitiveTopology -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org data VkRect2D VkRect2D# :: Addr# -> ByteArray# -> VkRect2D -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D                       extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org data VkRectLayerKHR VkRectLayerKHR# :: Addr# -> ByteArray# -> VkRectLayerKHR newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask type VkShaderStageFlags = VkShaderStageBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- |
--   typedef struct VkSpecializationInfo {
--       uint32_t               mapEntryCount;
--       const VkSpecializationMapEntry* pMapEntries;
--       size_t                 dataSize;
--       const void*            pData;
--   } VkSpecializationInfo;
--   
-- -- VkSpecializationInfo registry at www.khronos.org data VkSpecializationInfo VkSpecializationInfo# :: Addr# -> ByteArray# -> VkSpecializationInfo -- |
--   typedef struct VkSpecializationMapEntry {
--       uint32_t               constantID;
--       uint32_t               offset;
--       size_t                 size;
--   } VkSpecializationMapEntry;
--   
-- -- VkSpecializationMapEntry registry at www.khronos.org data VkSpecializationMapEntry VkSpecializationMapEntry# :: Addr# -> ByteArray# -> VkSpecializationMapEntry newtype VkStencilFaceBitmask (a :: FlagType) VkStencilFaceBitmask :: VkFlags -> VkStencilFaceBitmask type VkStencilFaceFlags = VkStencilFaceBitmask FlagMask type VkStencilFaceFlagBits = VkStencilFaceBitmask FlagBit -- | Front face -- -- bitpos = 0 -- | Back face -- -- bitpos = 1 -- | Front and back faces -- | type = enum -- -- VkStencilOp registry at www.khronos.org newtype VkStencilOp VkStencilOp :: Int32 -> VkStencilOp -- |
--   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 data VkStencilOpState VkStencilOpState# :: Addr# -> ByteArray# -> VkStencilOpState -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- |
--   typedef struct VkVertexInputAttributeDescription {
--       uint32_t               location;
--       uint32_t               binding;
--       VkFormat               format;
--       uint32_t               offset;
--   } VkVertexInputAttributeDescription;
--   
-- -- VkVertexInputAttributeDescription registry at www.khronos.org data VkVertexInputAttributeDescription VkVertexInputAttributeDescription# :: Addr# -> ByteArray# -> VkVertexInputAttributeDescription -- |
--   typedef struct VkVertexInputBindingDescription {
--       uint32_t               binding;
--       uint32_t               stride;
--       VkVertexInputRate      inputRate;
--   } VkVertexInputBindingDescription;
--   
-- -- VkVertexInputBindingDescription registry at www.khronos.org data VkVertexInputBindingDescription VkVertexInputBindingDescription# :: Addr# -> ByteArray# -> VkVertexInputBindingDescription -- |
--   typedef struct VkVertexInputBindingDivisorDescriptionEXT {
--       uint32_t          binding;
--       uint32_t          divisor;
--   } VkVertexInputBindingDivisorDescriptionEXT;
--   
-- -- VkVertexInputBindingDivisorDescriptionEXT registry at -- www.khronos.org data VkVertexInputBindingDivisorDescriptionEXT VkVertexInputBindingDivisorDescriptionEXT# :: Addr# -> ByteArray# -> VkVertexInputBindingDivisorDescriptionEXT -- | type = enum -- -- VkVertexInputRate registry at www.khronos.org newtype VkVertexInputRate VkVertexInputRate :: Int32 -> VkVertexInputRate -- |
--   typedef struct VkViewport {
--       float          x;
--       float          y;
--       float          width;
--       float          height;
--       float          minDepth;
--       float          maxDepth;
--   } VkViewport;
--   
-- -- VkViewport registry at www.khronos.org data VkViewport VkViewport# :: Addr# -> ByteArray# -> VkViewport -- |
--   typedef struct VkViewportSwizzleNV {
--       VkViewportCoordinateSwizzleNV          x;
--       VkViewportCoordinateSwizzleNV          y;
--       VkViewportCoordinateSwizzleNV          z;
--       VkViewportCoordinateSwizzleNV          w;
--   } VkViewportSwizzleNV;
--   
-- -- VkViewportSwizzleNV registry at www.khronos.org data VkViewportSwizzleNV VkViewportSwizzleNV# :: Addr# -> ByteArray# -> VkViewportSwizzleNV -- |
--   typedef struct VkViewportWScalingNV {
--       float          xcoeff;
--       float          ycoeff;
--   } VkViewportWScalingNV;
--   
-- -- VkViewportWScalingNV registry at www.khronos.org data VkViewportWScalingNV VkViewportWScalingNV# :: Addr# -> ByteArray# -> VkViewportWScalingNV type VkCmdSetDiscardRectangleEXT = "vkCmdSetDiscardRectangleEXT" -- | 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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION = 1 type VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME = "VK_EXT_discard_rectangles" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetDiscardRectangleEXT" module Graphics.Vulkan.Ext.VK_EXT_external_memory_host newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 VkImportFenceFdInfoKHR {
--       VkStructureType sType;
--       const void*                            pNext;
--       VkFence              fence;
--       VkFenceImportFlags  flags;
--       VkExternalFenceHandleTypeFlagBits   handleType;
--       int                                    fd;
--   } VkImportFenceFdInfoKHR;
--   
-- -- VkImportFenceFdInfoKHR registry at www.khronos.org data VkImportFenceFdInfoKHR VkImportFenceFdInfoKHR# :: Addr# -> ByteArray# -> VkImportFenceFdInfoKHR -- |
--   typedef struct VkImportMemoryFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       int                              fd;
--   } VkImportMemoryFdInfoKHR;
--   
-- -- VkImportMemoryFdInfoKHR registry at www.khronos.org data VkImportMemoryFdInfoKHR VkImportMemoryFdInfoKHR# :: Addr# -> ByteArray# -> VkImportMemoryFdInfoKHR -- |
--   typedef struct VkImportMemoryHostPointerInfoEXT {
--       VkStructureType sType;
--       const void* pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--       void* pHostPointer;
--   } VkImportMemoryHostPointerInfoEXT;
--   
-- -- VkImportMemoryHostPointerInfoEXT registry at www.khronos.org data VkImportMemoryHostPointerInfoEXT VkImportMemoryHostPointerInfoEXT# :: Addr# -> ByteArray# -> VkImportMemoryHostPointerInfoEXT -- |
--   typedef struct VkImportSemaphoreFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSemaphore    semaphore;
--       VkSemaphoreImportFlags flags;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--       int                              fd;
--   } VkImportSemaphoreFdInfoKHR;
--   
-- -- VkImportSemaphoreFdInfoKHR registry at www.khronos.org data VkImportSemaphoreFdInfoKHR VkImportSemaphoreFdInfoKHR# :: Addr# -> ByteArray# -> VkImportSemaphoreFdInfoKHR -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org data VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryAllocateInfo VkMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkMemoryAllocateInfo -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org data VkMemoryBarrier VkMemoryBarrier# :: Addr# -> ByteArray# -> VkMemoryBarrier -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org data VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements# :: Addr# -> ByteArray# -> VkMemoryDedicatedRequirements -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org data VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR# :: Addr# -> ByteArray# -> VkMemoryFdPropertiesKHR -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org data VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR# :: Addr# -> ByteArray# -> VkMemoryGetFdInfoKHR -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org data VkMemoryHeap VkMemoryHeap# :: Addr# -> ByteArray# -> VkMemoryHeap -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org data VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT# :: Addr# -> ByteArray# -> VkMemoryHostPointerPropertiesEXT -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org data VkMemoryRequirements VkMemoryRequirements# :: Addr# -> ByteArray# -> VkMemoryRequirements -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org data VkMemoryRequirements2 VkMemoryRequirements2# :: Addr# -> ByteArray# -> VkMemoryRequirements2 -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org data VkMemoryType VkMemoryType# :: Addr# -> ByteArray# -> VkMemoryType -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VkGetMemoryHostPointerPropertiesEXT = "vkGetMemoryHostPointerPropertiesEXT" -- | Success codes: VK_SUCCESS. -- -- Error codes: 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 -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION = 1 type VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME = "VK_EXT_external_memory_host" -- | bitpos = 7 -- | bitpos = 8 instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetMemoryHostPointerPropertiesEXT" module Graphics.Vulkan.Ext.VK_EXT_sample_locations newtype VkAccessBitmask (a :: FlagType) VkAccessBitmask :: VkFlags -> VkAccessBitmask type VkAccessFlags = VkAccessBitmask FlagMask type VkAccessFlagBits = VkAccessBitmask FlagBit -- | Controls coherency of indirect command reads -- -- bitpos = 0 -- | Controls coherency of index reads -- -- bitpos = 1 -- | Controls coherency of vertex attribute reads -- -- bitpos = 2 -- | Controls coherency of uniform buffer reads -- -- bitpos = 3 -- | Controls coherency of input attachment reads -- -- bitpos = 4 -- | Controls coherency of shader reads -- -- bitpos = 5 -- | Controls coherency of shader writes -- -- bitpos = 6 -- | Controls coherency of color attachment reads -- -- bitpos = 7 -- | Controls coherency of color attachment writes -- -- bitpos = 8 -- | Controls coherency of depth/stencil attachment reads -- -- bitpos = 9 -- | Controls coherency of depth/stencil attachment writes -- -- bitpos = 10 -- | Controls coherency of transfer reads -- -- bitpos = 11 -- | Controls coherency of transfer writes -- -- bitpos = 12 -- | Controls coherency of host reads -- -- bitpos = 13 -- | Controls coherency of host writes -- -- bitpos = 14 -- | Controls coherency of memory reads -- -- bitpos = 15 -- | Controls coherency of memory writes -- -- bitpos = 16 -- |
--   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 data VkAttachmentDescription VkAttachmentDescription# :: Addr# -> ByteArray# -> VkAttachmentDescription -- |
--   typedef struct VkAttachmentReference {
--       uint32_t               attachment;
--       VkImageLayout          layout;
--   } VkAttachmentReference;
--   
-- -- VkAttachmentReference registry at www.khronos.org data VkAttachmentReference VkAttachmentReference# :: Addr# -> ByteArray# -> VkAttachmentReference -- |
--   typedef struct VkAttachmentSampleLocationsEXT {
--       uint32_t                         attachmentIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkAttachmentSampleLocationsEXT;
--   
-- -- VkAttachmentSampleLocationsEXT registry at www.khronos.org data VkAttachmentSampleLocationsEXT VkAttachmentSampleLocationsEXT# :: Addr# -> ByteArray# -> VkAttachmentSampleLocationsEXT newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkClearAttachment {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               colorAttachment;
--       VkClearValue           clearValue;
--   } VkClearAttachment;
--   
-- -- VkClearAttachment registry at www.khronos.org data VkClearAttachment VkClearAttachment# :: Addr# -> ByteArray# -> 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 data VkClearColorValue VkClearColorValue# :: Addr# -> ByteArray# -> VkClearColorValue -- |
--   typedef struct VkClearDepthStencilValue {
--       float                  depth;
--       uint32_t               stencil;
--   } VkClearDepthStencilValue;
--   
-- -- VkClearDepthStencilValue registry at www.khronos.org data VkClearDepthStencilValue VkClearDepthStencilValue# :: Addr# -> ByteArray# -> VkClearDepthStencilValue -- |
--   typedef struct VkClearRect {
--       VkRect2D       rect;
--       uint32_t       baseArrayLayer;
--       uint32_t       layerCount;
--   } VkClearRect;
--   
-- -- VkClearRect registry at www.khronos.org data VkClearRect VkClearRect# :: Addr# -> ByteArray# -> 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 data VkClearValue VkClearValue# :: Addr# -> ByteArray# -> VkClearValue -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> VkImageViewUsageCreateInfo -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo -- |
--   typedef struct VkMultisamplePropertiesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExtent2D                       maxSampleLocationGridSize;
--   } VkMultisamplePropertiesEXT;
--   
-- -- VkMultisamplePropertiesEXT registry at www.khronos.org data VkMultisamplePropertiesEXT VkMultisamplePropertiesEXT# :: Addr# -> ByteArray# -> VkMultisamplePropertiesEXT -- |
--   typedef struct VkOffset2D {
--       int32_t        x;
--       int32_t        y;
--   } VkOffset2D;
--   
-- -- VkOffset2D registry at www.khronos.org data VkOffset2D VkOffset2D# :: Addr# -> ByteArray# -> VkOffset2D -- |
--   typedef struct VkOffset3D {
--       int32_t        x;
--       int32_t        y;
--       int32_t        z;
--   } VkOffset3D;
--   
-- -- VkOffset3D registry at www.khronos.org data VkOffset3D VkOffset3D# :: Addr# -> ByteArray# -> VkOffset3D -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 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 data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo# :: Addr# -> ByteArray# -> VkGraphicsPipelineCreateInfo -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo# :: Addr# -> ByteArray# -> VkPipelineCacheCreateInfo -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineColorBlendStateCreateInfo -- |
--   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 data VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageModulationStateCreateInfoNV -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org data VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageToColorStateCreateInfoNV -- |
--   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 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT# :: Addr# -> ByteArray# -> VkPipelineDiscardRectangleStateCreateInfoEXT -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineDynamicStateCreateInfo -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineMultisampleStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org data VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateRasterizationOrderAMD -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo# :: Addr# -> ByteArray# -> VkPipelineShaderStageCreateInfo -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org data VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineTessellationStateCreateInfo -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV -- |
--   typedef struct VkRect2D {
--       VkOffset2D     offset;
--       VkExtent2D     extent;
--   } VkRect2D;
--   
-- -- VkRect2D registry at www.khronos.org data VkRect2D VkRect2D# :: Addr# -> ByteArray# -> VkRect2D -- |
--   typedef struct VkRectLayerKHR {
--       VkOffset2D                       offset;
--       VkExtent2D                       extent;
--       uint32_t                         layer;
--   } VkRectLayerKHR;
--   
-- -- VkRectLayerKHR registry at www.khronos.org data VkRectLayerKHR VkRectLayerKHR# :: Addr# -> ByteArray# -> VkRectLayerKHR -- |
--   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 data VkRenderPassBeginInfo VkRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassCreateInfo VkRenderPassCreateInfo# :: Addr# -> ByteArray# -> VkRenderPassCreateInfo -- |
--   typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
--       VkStructureType sType;
--       const void*                     pNext;
--       uint32_t                        aspectReferenceCount;
--       const VkInputAttachmentAspectReference* pAspectReferences;
--   } VkRenderPassInputAttachmentAspectCreateInfo;
--   
-- -- VkRenderPassInputAttachmentAspectCreateInfo registry at -- www.khronos.org data VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassSampleLocationsBeginInfoEXT VkRenderPassSampleLocationsBeginInfoEXT# :: Addr# -> ByteArray# -> VkRenderPassSampleLocationsBeginInfoEXT newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- |
--   typedef struct VkSampleLocationEXT {
--       float                            x;
--       float                            y;
--   } VkSampleLocationEXT;
--   
-- -- VkSampleLocationEXT registry at www.khronos.org data VkSampleLocationEXT VkSampleLocationEXT# :: Addr# -> ByteArray# -> 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 data VkSampleLocationsInfoEXT VkSampleLocationsInfoEXT# :: Addr# -> ByteArray# -> VkSampleLocationsInfoEXT -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- |
--   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 data VkSubpassDependency VkSubpassDependency# :: Addr# -> ByteArray# -> 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 data VkSubpassDescription VkSubpassDescription# :: Addr# -> ByteArray# -> VkSubpassDescription -- |
--   typedef struct VkSubpassSampleLocationsEXT {
--       uint32_t                         subpassIndex;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkSubpassSampleLocationsEXT;
--   
-- -- VkSubpassSampleLocationsEXT registry at www.khronos.org data VkSubpassSampleLocationsEXT VkSubpassSampleLocationsEXT# :: Addr# -> ByteArray# -> VkSubpassSampleLocationsEXT type VkCmdSetSampleLocationsEXT = "vkCmdSetSampleLocationsEXT" -- | 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" -- |
--   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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION = 1 type VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME = "VK_EXT_sample_locations" -- | bitpos = 12 instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdSetSampleLocationsEXT" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceMultisamplePropertiesEXT" module Graphics.Vulkan.Ext.VK_EXT_sampler_filter_minmax newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 -- | type = enum -- -- VkCompareOp registry at www.khronos.org newtype VkCompareOp VkCompareOp :: Int32 -> VkCompareOp -- | type = enum -- -- VkFilter registry at www.khronos.org newtype VkFilter VkFilter :: Int32 -> VkFilter -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | type = enum -- -- VkSamplerAddressMode registry at www.khronos.org newtype VkSamplerAddressMode VkSamplerAddressMode :: Int32 -> VkSamplerAddressMode newtype VkSamplerCreateFlagBits VkSamplerCreateFlagBits :: VkFlags -> VkSamplerCreateFlagBits -- | type = enum -- -- VkSamplerMipmapMode registry at www.khronos.org newtype VkSamplerMipmapMode VkSamplerMipmapMode :: Int32 -> VkSamplerMipmapMode -- | Choose nearest mip level -- | Linear filter between mip levels -- | type = enum -- -- VkSamplerReductionModeEXT registry at www.khronos.org newtype VkSamplerReductionModeEXT VkSamplerReductionModeEXT :: Int32 -> VkSamplerReductionModeEXT -- | type = enum -- -- VkSamplerYcbcrModelConversion registry at www.khronos.org newtype VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversion :: Int32 -> VkSamplerYcbcrModelConversion -- | just range expansion -- | aka HD YUV -- | aka SD YUV -- | aka UHD YUV newtype VkSamplerYcbcrModelConversionKHR VkSamplerYcbcrModelConversionKHR :: VkFlags -> VkSamplerYcbcrModelConversionKHR -- | 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) -- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240 newtype VkSamplerYcbcrRangeKHR VkSamplerYcbcrRangeKHR :: VkFlags -> VkSamplerYcbcrRangeKHR newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 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 data VkSamplerCreateInfo VkSamplerCreateInfo# :: Addr# -> ByteArray# -> VkSamplerCreateInfo -- |
--   typedef struct VkSamplerReductionModeCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSamplerReductionModeEXT reductionMode;
--   } VkSamplerReductionModeCreateInfoEXT;
--   
-- -- VkSamplerReductionModeCreateInfoEXT registry at www.khronos.org data VkSamplerReductionModeCreateInfoEXT VkSamplerReductionModeCreateInfoEXT# :: Addr# -> ByteArray# -> VkSamplerReductionModeCreateInfoEXT -- |
--   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 data VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfo# :: Addr# -> ByteArray# -> VkSamplerYcbcrConversionCreateInfo -- | Alias for VkSamplerYcbcrConversionCreateInfo type VkSamplerYcbcrConversionCreateInfoKHR = VkSamplerYcbcrConversionCreateInfo -- |
--   typedef struct VkSamplerYcbcrConversionImageFormatProperties {
--       VkStructureType sType;
--       void*      pNext;
--       uint32_t                         combinedImageSamplerDescriptorCount;
--   } VkSamplerYcbcrConversionImageFormatProperties;
--   
-- -- VkSamplerYcbcrConversionImageFormatProperties registry at -- www.khronos.org data VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatProperties# :: Addr# -> ByteArray# -> VkSamplerYcbcrConversionImageFormatProperties -- | Alias for VkSamplerYcbcrConversionImageFormatProperties type VkSamplerYcbcrConversionImageFormatPropertiesKHR = VkSamplerYcbcrConversionImageFormatProperties -- |
--   typedef struct VkSamplerYcbcrConversionInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSamplerYcbcrConversion      conversion;
--   } VkSamplerYcbcrConversionInfo;
--   
-- -- VkSamplerYcbcrConversionInfo registry at www.khronos.org data VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfo# :: Addr# -> ByteArray# -> VkSamplerYcbcrConversionInfo -- | Alias for VkSamplerYcbcrConversionInfo type VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION = 1 type VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME = "VK_EXT_sampler_filter_minmax" -- | Format can be used with min/max reduction filtering -- -- bitpos = 16 module Graphics.Vulkan.Ext.VK_EXT_vertex_attribute_divisor newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType -- |
--   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 data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo# :: Addr# -> ByteArray# -> VkGraphicsPipelineCreateInfo -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo# :: Addr# -> ByteArray# -> VkPipelineCacheCreateInfo -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineColorBlendStateCreateInfo -- |
--   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 data VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageModulationStateCreateInfoNV -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org data VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageToColorStateCreateInfoNV -- |
--   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 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT# :: Addr# -> ByteArray# -> VkPipelineDiscardRectangleStateCreateInfoEXT -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineDynamicStateCreateInfo -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineMultisampleStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org data VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateRasterizationOrderAMD -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo# :: Addr# -> ByteArray# -> VkPipelineShaderStageCreateInfo -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org data VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineTessellationStateCreateInfo -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- |
--   typedef struct VkVertexInputAttributeDescription {
--       uint32_t               location;
--       uint32_t               binding;
--       VkFormat               format;
--       uint32_t               offset;
--   } VkVertexInputAttributeDescription;
--   
-- -- VkVertexInputAttributeDescription registry at www.khronos.org data VkVertexInputAttributeDescription VkVertexInputAttributeDescription# :: Addr# -> ByteArray# -> VkVertexInputAttributeDescription -- |
--   typedef struct VkVertexInputBindingDescription {
--       uint32_t               binding;
--       uint32_t               stride;
--       VkVertexInputRate      inputRate;
--   } VkVertexInputBindingDescription;
--   
-- -- VkVertexInputBindingDescription registry at www.khronos.org data VkVertexInputBindingDescription VkVertexInputBindingDescription# :: Addr# -> ByteArray# -> VkVertexInputBindingDescription -- |
--   typedef struct VkVertexInputBindingDivisorDescriptionEXT {
--       uint32_t          binding;
--       uint32_t          divisor;
--   } VkVertexInputBindingDivisorDescriptionEXT;
--   
-- -- VkVertexInputBindingDivisorDescriptionEXT registry at -- www.khronos.org data VkVertexInputBindingDivisorDescriptionEXT VkVertexInputBindingDivisorDescriptionEXT# :: Addr# -> ByteArray# -> VkVertexInputBindingDivisorDescriptionEXT -- | type = enum -- -- VkVertexInputRate registry at www.khronos.org newtype VkVertexInputRate VkVertexInputRate :: Int32 -> VkVertexInputRate type VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION = 1 type VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME = "VK_EXT_vertex_attribute_divisor" module Graphics.Vulkan.Ext.VK_KHR_16bit_storage -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT type VK_KHR_16BIT_STORAGE_SPEC_VERSION = 1 type VK_KHR_16BIT_STORAGE_EXTENSION_NAME = "VK_KHR_16bit_storage" module Graphics.Vulkan.Ext.VK_KHR_device_group_creation -- |
--   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 data VkDeviceCreateInfo VkDeviceCreateInfo# :: Addr# -> ByteArray# -> VkDeviceCreateInfo -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org data VkDeviceEventInfoEXT VkDeviceEventInfoEXT# :: Addr# -> ByteArray# -> VkDeviceEventInfoEXT -- |
--   typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         computeBindingPointSupport;
--   } VkDeviceGeneratedCommandsFeaturesNVX;
--   
-- -- VkDeviceGeneratedCommandsFeaturesNVX registry at -- www.khronos.org data VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsFeaturesNVX -- |
--   typedef struct VkDeviceGeneratedCommandsLimitsNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         maxIndirectCommandsLayoutTokenCount;
--       uint32_t                         maxObjectEntryCounts;
--       uint32_t                         minSequenceCountBufferOffsetAlignment;
--       uint32_t                         minSequenceIndexBufferOffsetAlignment;
--       uint32_t                         minCommandsTokenBufferOffsetAlignment;
--   } VkDeviceGeneratedCommandsLimitsNVX;
--   
-- -- VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org data VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsLimitsNVX -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org data VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo# :: Addr# -> ByteArray# -> VkDeviceGroupSubmitInfo -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org data VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkDeviceGroupSwapchainCreateInfoKHR -- |
--   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 data VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo# :: Addr# -> ByteArray# -> VkDeviceQueueCreateInfo -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org data VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT# :: Addr# -> ByteArray# -> VkDeviceQueueGlobalPriorityCreateInfoEXT -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org data VkDeviceQueueInfo2 VkDeviceQueueInfo2# :: Addr# -> ByteArray# -> VkDeviceQueueInfo2 -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT type VkEnumeratePhysicalDeviceGroupsKHR = "vkEnumeratePhysicalDeviceGroupsKHR" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION = 1 type VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME = "VK_KHR_device_group_creation" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkEnumeratePhysicalDeviceGroupsKHR" module Graphics.Vulkan.Ext.VK_KHR_external_fence_capabilities newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 VkExternalBufferProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties    externalMemoryProperties;
--   } VkExternalBufferProperties;
--   
-- -- VkExternalBufferProperties registry at www.khronos.org data VkExternalBufferProperties VkExternalBufferProperties# :: Addr# -> ByteArray# -> 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 data VkExternalFenceProperties VkExternalFenceProperties# :: Addr# -> ByteArray# -> VkExternalFenceProperties -- | Alias for VkExternalFenceProperties type VkExternalFencePropertiesKHR = VkExternalFenceProperties -- |
--   typedef struct VkExternalImageFormatProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties externalMemoryProperties;
--   } VkExternalImageFormatProperties;
--   
-- -- VkExternalImageFormatProperties registry at www.khronos.org data VkExternalImageFormatProperties VkExternalImageFormatProperties# :: Addr# -> ByteArray# -> 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 data VkExternalImageFormatPropertiesNV VkExternalImageFormatPropertiesNV# :: Addr# -> ByteArray# -> VkExternalImageFormatPropertiesNV -- |
--   typedef struct VkExternalMemoryBufferCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryBufferCreateInfo;
--   
-- -- VkExternalMemoryBufferCreateInfo registry at www.khronos.org data VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryBufferCreateInfo -- | Alias for VkExternalMemoryBufferCreateInfo type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryImageCreateInfo;
--   
-- -- VkExternalMemoryImageCreateInfo registry at www.khronos.org data VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfo -- | Alias for VkExternalMemoryImageCreateInfo type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExternalMemoryImageCreateInfoNV;
--   
-- -- VkExternalMemoryImageCreateInfoNV registry at www.khronos.org data VkExternalMemoryImageCreateInfoNV VkExternalMemoryImageCreateInfoNV# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfoNV -- |
--   typedef struct VkExternalMemoryProperties {
--       VkExternalMemoryFeatureFlags  externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
--   } VkExternalMemoryProperties;
--   
-- -- VkExternalMemoryProperties registry at www.khronos.org data VkExternalMemoryProperties VkExternalMemoryProperties# :: Addr# -> ByteArray# -> 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 data VkExternalSemaphoreProperties VkExternalSemaphoreProperties# :: Addr# -> ByteArray# -> 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 data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT type VkGetPhysicalDeviceExternalFencePropertiesKHR = "vkGetPhysicalDeviceExternalFencePropertiesKHR" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION = 1 type VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_fence_capabilities" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalFencePropertiesKHR" module Graphics.Vulkan.Ext.VK_KHR_external_memory_capabilities -- |
--   typedef struct VkExternalBufferProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties    externalMemoryProperties;
--   } VkExternalBufferProperties;
--   
-- -- VkExternalBufferProperties registry at www.khronos.org data VkExternalBufferProperties VkExternalBufferProperties# :: Addr# -> ByteArray# -> 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 data VkExternalFenceProperties VkExternalFenceProperties# :: Addr# -> ByteArray# -> VkExternalFenceProperties -- | Alias for VkExternalFenceProperties type VkExternalFencePropertiesKHR = VkExternalFenceProperties -- |
--   typedef struct VkExternalImageFormatProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties externalMemoryProperties;
--   } VkExternalImageFormatProperties;
--   
-- -- VkExternalImageFormatProperties registry at www.khronos.org data VkExternalImageFormatProperties VkExternalImageFormatProperties# :: Addr# -> ByteArray# -> 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 data VkExternalImageFormatPropertiesNV VkExternalImageFormatPropertiesNV# :: Addr# -> ByteArray# -> VkExternalImageFormatPropertiesNV -- |
--   typedef struct VkExternalMemoryBufferCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryBufferCreateInfo;
--   
-- -- VkExternalMemoryBufferCreateInfo registry at www.khronos.org data VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryBufferCreateInfo -- | Alias for VkExternalMemoryBufferCreateInfo type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryImageCreateInfo;
--   
-- -- VkExternalMemoryImageCreateInfo registry at www.khronos.org data VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfo -- | Alias for VkExternalMemoryImageCreateInfo type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExternalMemoryImageCreateInfoNV;
--   
-- -- VkExternalMemoryImageCreateInfoNV registry at www.khronos.org data VkExternalMemoryImageCreateInfoNV VkExternalMemoryImageCreateInfoNV# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfoNV -- |
--   typedef struct VkExternalMemoryProperties {
--       VkExternalMemoryFeatureFlags  externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
--   } VkExternalMemoryProperties;
--   
-- -- VkExternalMemoryProperties registry at www.khronos.org data VkExternalMemoryProperties VkExternalMemoryProperties# :: Addr# -> ByteArray# -> 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 data VkExternalSemaphoreProperties VkExternalSemaphoreProperties# :: Addr# -> ByteArray# -> VkExternalSemaphoreProperties -- | Alias for VkExternalSemaphoreProperties type VkExternalSemaphorePropertiesKHR = VkExternalSemaphoreProperties newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT type VkGetPhysicalDeviceExternalBufferPropertiesKHR = "vkGetPhysicalDeviceExternalBufferPropertiesKHR" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkBufferCreateBitmask (a :: FlagType) VkBufferCreateBitmask :: VkFlags -> VkBufferCreateBitmask type VkBufferCreateFlags = VkBufferCreateBitmask FlagMask type VkBufferCreateFlagBits = VkBufferCreateBitmask FlagBit -- | Buffer should support sparse backing -- -- bitpos = 0 -- | Buffer should support sparse backing with partial residency -- -- bitpos = 1 -- | Buffer should support constent data access to physical memory ranges -- mapped into multiple locations of sparse buffers -- -- bitpos = 2 newtype VkBufferUsageBitmask (a :: FlagType) VkBufferUsageBitmask :: VkFlags -> VkBufferUsageBitmask type VkBufferUsageFlags = VkBufferUsageBitmask FlagMask type VkBufferUsageFlagBits = VkBufferUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be used as TBO -- -- bitpos = 2 -- | Can be used as IBO -- -- bitpos = 3 -- | Can be used as UBO -- -- bitpos = 4 -- | Can be used as SSBO -- -- bitpos = 5 -- | Can be used as source of fixed-function index fetch (index buffer) -- -- bitpos = 6 -- | Can be used as source of fixed-function vertex fetch (VBO) -- -- bitpos = 7 -- | Can be the source of indirect parameters (e.g. indirect buffer, -- parameter buffer) -- -- bitpos = 8 newtype VkBufferViewCreateFlagBits VkBufferViewCreateFlagBits :: VkFlags -> VkBufferViewCreateFlagBits -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION = 1 type VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_memory_capabilities" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalBufferPropertiesKHR" module Graphics.Vulkan.Ext.VK_KHR_external_semaphore_capabilities newtype VkExternalFenceFeatureFlagBitsKHR VkExternalFenceFeatureFlagBitsKHR :: VkFlags -> VkExternalFenceFeatureFlagBitsKHR newtype VkExternalFenceFeatureBitmask (a :: FlagType) VkExternalFenceFeatureBitmask :: VkFlags -> VkExternalFenceFeatureBitmask type VkExternalFenceFeatureFlags = VkExternalFenceFeatureBitmask FlagMask type VkExternalFenceFeatureFlagBits = VkExternalFenceFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalFenceHandleTypeFlagBitsKHR VkExternalFenceHandleTypeFlagBitsKHR :: VkFlags -> VkExternalFenceHandleTypeFlagBitsKHR newtype VkExternalFenceHandleTypeBitmask (a :: FlagType) VkExternalFenceHandleTypeBitmask :: VkFlags -> VkExternalFenceHandleTypeBitmask type VkExternalFenceHandleTypeFlags = VkExternalFenceHandleTypeBitmask FlagMask type VkExternalFenceHandleTypeFlagBits = VkExternalFenceHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalMemoryFeatureFlagBitsKHR VkExternalMemoryFeatureFlagBitsKHR :: VkFlags -> VkExternalMemoryFeatureFlagBitsKHR newtype VkExternalMemoryFeatureBitmask (a :: FlagType) VkExternalMemoryFeatureBitmask :: VkFlags -> VkExternalMemoryFeatureBitmask type VkExternalMemoryFeatureFlags = VkExternalMemoryFeatureBitmask FlagMask type VkExternalMemoryFeatureFlagBits = VkExternalMemoryFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryFeatureBitmaskNV (a :: FlagType) VkExternalMemoryFeatureBitmaskNV :: VkFlags -> VkExternalMemoryFeatureBitmaskNV type VkExternalMemoryFeatureFlagsNV = VkExternalMemoryFeatureBitmaskNV FlagMask type VkExternalMemoryFeatureFlagBitsNV = VkExternalMemoryFeatureBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkExternalMemoryHandleTypeFlagBitsKHR VkExternalMemoryHandleTypeFlagBitsKHR :: VkFlags -> VkExternalMemoryHandleTypeFlagBitsKHR newtype VkExternalMemoryHandleTypeBitmask (a :: FlagType) VkExternalMemoryHandleTypeBitmask :: VkFlags -> VkExternalMemoryHandleTypeBitmask type VkExternalMemoryHandleTypeFlags = VkExternalMemoryHandleTypeBitmask FlagMask type VkExternalMemoryHandleTypeFlagBits = VkExternalMemoryHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 newtype VkExternalMemoryHandleTypeBitmaskNV (a :: FlagType) VkExternalMemoryHandleTypeBitmaskNV :: VkFlags -> VkExternalMemoryHandleTypeBitmaskNV type VkExternalMemoryHandleTypeFlagsNV = VkExternalMemoryHandleTypeBitmaskNV FlagMask type VkExternalMemoryHandleTypeFlagBitsNV = VkExternalMemoryHandleTypeBitmaskNV FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkExternalSemaphoreFeatureFlagBitsKHR VkExternalSemaphoreFeatureFlagBitsKHR :: VkFlags -> VkExternalSemaphoreFeatureFlagBitsKHR newtype VkExternalSemaphoreFeatureBitmask (a :: FlagType) VkExternalSemaphoreFeatureBitmask :: VkFlags -> VkExternalSemaphoreFeatureBitmask type VkExternalSemaphoreFeatureFlags = VkExternalSemaphoreFeatureBitmask FlagMask type VkExternalSemaphoreFeatureFlagBits = VkExternalSemaphoreFeatureBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 newtype VkExternalSemaphoreHandleTypeFlagBitsKHR VkExternalSemaphoreHandleTypeFlagBitsKHR :: VkFlags -> VkExternalSemaphoreHandleTypeFlagBitsKHR newtype VkExternalSemaphoreHandleTypeBitmask (a :: FlagType) VkExternalSemaphoreHandleTypeBitmask :: VkFlags -> VkExternalSemaphoreHandleTypeBitmask type VkExternalSemaphoreHandleTypeFlags = VkExternalSemaphoreHandleTypeBitmask FlagMask type VkExternalSemaphoreHandleTypeFlagBits = VkExternalSemaphoreHandleTypeBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 VkExternalBufferProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties    externalMemoryProperties;
--   } VkExternalBufferProperties;
--   
-- -- VkExternalBufferProperties registry at www.khronos.org data VkExternalBufferProperties VkExternalBufferProperties# :: Addr# -> ByteArray# -> 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 data VkExternalFenceProperties VkExternalFenceProperties# :: Addr# -> ByteArray# -> VkExternalFenceProperties -- | Alias for VkExternalFenceProperties type VkExternalFencePropertiesKHR = VkExternalFenceProperties -- |
--   typedef struct VkExternalImageFormatProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkExternalMemoryProperties externalMemoryProperties;
--   } VkExternalImageFormatProperties;
--   
-- -- VkExternalImageFormatProperties registry at www.khronos.org data VkExternalImageFormatProperties VkExternalImageFormatProperties# :: Addr# -> ByteArray# -> 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 data VkExternalImageFormatPropertiesNV VkExternalImageFormatPropertiesNV# :: Addr# -> ByteArray# -> VkExternalImageFormatPropertiesNV -- |
--   typedef struct VkExternalMemoryBufferCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryBufferCreateInfo;
--   
-- -- VkExternalMemoryBufferCreateInfo registry at www.khronos.org data VkExternalMemoryBufferCreateInfo VkExternalMemoryBufferCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryBufferCreateInfo -- | Alias for VkExternalMemoryBufferCreateInfo type VkExternalMemoryBufferCreateInfoKHR = VkExternalMemoryBufferCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlags handleTypes;
--   } VkExternalMemoryImageCreateInfo;
--   
-- -- VkExternalMemoryImageCreateInfo registry at www.khronos.org data VkExternalMemoryImageCreateInfo VkExternalMemoryImageCreateInfo# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfo -- | Alias for VkExternalMemoryImageCreateInfo type VkExternalMemoryImageCreateInfoKHR = VkExternalMemoryImageCreateInfo -- |
--   typedef struct VkExternalMemoryImageCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagsNV handleTypes;
--   } VkExternalMemoryImageCreateInfoNV;
--   
-- -- VkExternalMemoryImageCreateInfoNV registry at www.khronos.org data VkExternalMemoryImageCreateInfoNV VkExternalMemoryImageCreateInfoNV# :: Addr# -> ByteArray# -> VkExternalMemoryImageCreateInfoNV -- |
--   typedef struct VkExternalMemoryProperties {
--       VkExternalMemoryFeatureFlags  externalMemoryFeatures;
--       VkExternalMemoryHandleTypeFlags exportFromImportedHandleTypes;
--       VkExternalMemoryHandleTypeFlags compatibleHandleTypes;
--   } VkExternalMemoryProperties;
--   
-- -- VkExternalMemoryProperties registry at www.khronos.org data VkExternalMemoryProperties VkExternalMemoryProperties# :: Addr# -> ByteArray# -> 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 data VkExternalSemaphoreProperties VkExternalSemaphoreProperties# :: Addr# -> ByteArray# -> 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 data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT type VkGetPhysicalDeviceExternalSemaphorePropertiesKHR = "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION = 1 type VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME = "VK_KHR_external_semaphore_capabilities" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" module Graphics.Vulkan.Ext.VK_KHR_get_physical_device_properties2 -- |
--   typedef struct VkFormatProperties {
--       VkFormatFeatureFlags   linearTilingFeatures;
--       VkFormatFeatureFlags   optimalTilingFeatures;
--       VkFormatFeatureFlags   bufferFeatures;
--   } VkFormatProperties;
--   
-- -- VkFormatProperties registry at www.khronos.org data VkFormatProperties VkFormatProperties# :: Addr# -> ByteArray# -> VkFormatProperties -- |
--   typedef struct VkFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkFormatProperties               formatProperties;
--   } VkFormatProperties2;
--   
-- -- VkFormatProperties2 registry at www.khronos.org data VkFormatProperties2 VkFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> VkImageViewUsageCreateInfo -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- |
--   typedef struct VkQueueFamilyProperties {
--       VkQueueFlags           queueFlags;
--       uint32_t               queueCount;
--       uint32_t               timestampValidBits;
--       VkExtent3D             minImageTransferGranularity;
--   } VkQueueFamilyProperties;
--   
-- -- VkQueueFamilyProperties registry at www.khronos.org data VkQueueFamilyProperties VkQueueFamilyProperties# :: Addr# -> ByteArray# -> VkQueueFamilyProperties -- |
--   typedef struct VkQueueFamilyProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkQueueFamilyProperties          queueFamilyProperties;
--   } VkQueueFamilyProperties2;
--   
-- -- VkQueueFamilyProperties2 registry at www.khronos.org data VkQueueFamilyProperties2 VkQueueFamilyProperties2# :: Addr# -> ByteArray# -> VkQueueFamilyProperties2 -- | Alias for VkQueueFamilyProperties2 type VkQueueFamilyProperties2KHR = VkQueueFamilyProperties2 -- |
--   typedef struct VkSparseBufferMemoryBindInfo {
--       VkBuffer buffer;
--       uint32_t               bindCount;
--       const VkSparseMemoryBind* pBinds;
--   } VkSparseBufferMemoryBindInfo;
--   
-- -- VkSparseBufferMemoryBindInfo registry at www.khronos.org data VkSparseBufferMemoryBindInfo VkSparseBufferMemoryBindInfo# :: Addr# -> ByteArray# -> VkSparseBufferMemoryBindInfo -- |
--   typedef struct VkSparseImageFormatProperties {
--       VkImageAspectFlags     aspectMask;
--       VkExtent3D             imageGranularity;
--       VkSparseImageFormatFlags flags;
--   } VkSparseImageFormatProperties;
--   
-- -- VkSparseImageFormatProperties registry at www.khronos.org data VkSparseImageFormatProperties VkSparseImageFormatProperties# :: Addr# -> ByteArray# -> VkSparseImageFormatProperties -- |
--   typedef struct VkSparseImageFormatProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkSparseImageFormatProperties    properties;
--   } VkSparseImageFormatProperties2;
--   
-- -- VkSparseImageFormatProperties2 registry at www.khronos.org data VkSparseImageFormatProperties2 VkSparseImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkSparseImageMemoryBind VkSparseImageMemoryBind# :: Addr# -> ByteArray# -> VkSparseImageMemoryBind -- |
--   typedef struct VkSparseImageMemoryBindInfo {
--       VkImage image;
--       uint32_t               bindCount;
--       const VkSparseImageMemoryBind* pBinds;
--   } VkSparseImageMemoryBindInfo;
--   
-- -- VkSparseImageMemoryBindInfo registry at www.khronos.org data VkSparseImageMemoryBindInfo VkSparseImageMemoryBindInfo# :: Addr# -> ByteArray# -> VkSparseImageMemoryBindInfo -- |
--   typedef struct VkSparseImageMemoryRequirements {
--       VkSparseImageFormatProperties formatProperties;
--       uint32_t               imageMipTailFirstLod;
--       VkDeviceSize           imageMipTailSize;
--       VkDeviceSize           imageMipTailOffset;
--       VkDeviceSize           imageMipTailStride;
--   } VkSparseImageMemoryRequirements;
--   
-- -- VkSparseImageMemoryRequirements registry at www.khronos.org data VkSparseImageMemoryRequirements VkSparseImageMemoryRequirements# :: Addr# -> ByteArray# -> VkSparseImageMemoryRequirements -- |
--   typedef struct VkSparseImageMemoryRequirements2 {
--       VkStructureType sType;
--       void*                                       pNext;
--       VkSparseImageMemoryRequirements                                      memoryRequirements;
--   } VkSparseImageMemoryRequirements2;
--   
-- -- VkSparseImageMemoryRequirements2 registry at www.khronos.org data VkSparseImageMemoryRequirements2 VkSparseImageMemoryRequirements2# :: Addr# -> ByteArray# -> 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 data VkSparseImageOpaqueMemoryBindInfo VkSparseImageOpaqueMemoryBindInfo# :: Addr# -> ByteArray# -> VkSparseImageOpaqueMemoryBindInfo -- |
--   typedef struct VkSparseMemoryBind {
--       VkDeviceSize           resourceOffset;
--       VkDeviceSize           size;
--       VkDeviceMemory         memory;
--       VkDeviceSize           memoryOffset;
--       VkSparseMemoryBindFlagsflags;
--   } VkSparseMemoryBind;
--   
-- -- VkSparseMemoryBind registry at www.khronos.org data VkSparseMemoryBind VkSparseMemoryBind# :: Addr# -> ByteArray# -> VkSparseMemoryBind type VkGetPhysicalDeviceFeatures2KHR = "vkGetPhysicalDeviceFeatures2KHR" -- | 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" -- | 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" -- | 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" -- | 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" -- | 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" -- | 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" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 VkDeviceCreateFlagBits VkDeviceCreateFlagBits :: VkFlags -> VkDeviceCreateFlagBits -- | type = enum -- -- VkDeviceEventTypeEXT registry at www.khronos.org newtype VkDeviceEventTypeEXT VkDeviceEventTypeEXT :: Int32 -> VkDeviceEventTypeEXT newtype VkDeviceGroupPresentModeBitmaskKHR (a :: FlagType) VkDeviceGroupPresentModeBitmaskKHR :: VkFlags -> VkDeviceGroupPresentModeBitmaskKHR type VkDeviceGroupPresentModeFlagsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagMask type VkDeviceGroupPresentModeFlagBitsKHR = VkDeviceGroupPresentModeBitmaskKHR FlagBit -- | Present from local memory -- -- bitpos = 0 -- | Present from remote memory -- -- bitpos = 1 -- | Present sum of local and/or remote memory -- -- bitpos = 2 -- | Each physical device presents from local memory -- -- bitpos = 3 newtype VkDeviceQueueCreateBitmask (a :: FlagType) VkDeviceQueueCreateBitmask :: VkFlags -> VkDeviceQueueCreateBitmask type VkDeviceQueueCreateFlags = VkDeviceQueueCreateBitmask FlagMask type VkDeviceQueueCreateFlagBits = VkDeviceQueueCreateBitmask FlagBit -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType newtype VkMemoryAllocateFlagBitsKHR VkMemoryAllocateFlagBitsKHR :: VkFlags -> VkMemoryAllocateFlagBitsKHR newtype VkMemoryAllocateBitmask (a :: FlagType) VkMemoryAllocateBitmask :: VkFlags -> VkMemoryAllocateBitmask type VkMemoryAllocateFlags = VkMemoryAllocateBitmask FlagMask type VkMemoryAllocateFlagBits = VkMemoryAllocateBitmask FlagBit -- | Force allocation on specific devices -- -- bitpos = 0 newtype VkMemoryHeapBitmask (a :: FlagType) VkMemoryHeapBitmask :: VkFlags -> VkMemoryHeapBitmask type VkMemoryHeapFlags = VkMemoryHeapBitmask FlagMask type VkMemoryHeapFlagBits = VkMemoryHeapBitmask FlagBit -- | If set, heap represents device memory -- -- bitpos = 0 newtype VkMemoryPropertyBitmask (a :: FlagType) VkMemoryPropertyBitmask :: VkFlags -> VkMemoryPropertyBitmask type VkMemoryPropertyFlags = VkMemoryPropertyBitmask FlagMask type VkMemoryPropertyFlagBits = VkMemoryPropertyBitmask FlagBit -- | If otherwise stated, then allocate memory on device -- -- bitpos = 0 -- | Memory is mappable by host -- -- bitpos = 1 -- | Memory will have io coherency. If not set, application may need to -- use vkFlushMappedMemoryRanges and vkInvalidateMappedMemoryRanges to -- flushinvalidate host cache -- -- bitpos = 2 -- | Memory will be cached by the host -- -- bitpos = 3 -- | Memory may be allocated by the driver when it is required -- -- bitpos = 4 -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType newtype VkQueueBitmask (a :: FlagType) VkQueueBitmask :: VkFlags -> VkQueueBitmask type VkQueueFlags = VkQueueBitmask FlagMask type VkQueueFlagBits = VkQueueBitmask FlagBit -- | Queue supports graphics operations -- -- bitpos = 0 -- | Queue supports compute operations -- -- bitpos = 1 -- | Queue supports transfer operations -- -- bitpos = 2 -- | Queue supports sparse resource memory management operations -- -- bitpos = 3 -- | type = enum -- -- VkQueueGlobalPriorityEXT registry at www.khronos.org newtype VkQueueGlobalPriorityEXT VkQueueGlobalPriorityEXT :: Int32 -> VkQueueGlobalPriorityEXT -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 newtype VkSparseImageFormatBitmask (a :: FlagType) VkSparseImageFormatBitmask :: VkFlags -> VkSparseImageFormatBitmask type VkSparseImageFormatFlags = VkSparseImageFormatBitmask FlagMask type VkSparseImageFormatFlagBits = VkSparseImageFormatBitmask FlagBit -- | Image uses a single mip tail region for all array layers -- -- bitpos = 0 -- | Image requires mip level dimensions to be an integer multiple of the -- sparse image block dimensions for non-tail mip levels. -- -- bitpos = 1 -- | Image uses a non-standard sparse image block dimensions -- -- bitpos = 2 newtype VkSparseMemoryBindBitmask (a :: FlagType) VkSparseMemoryBindBitmask :: VkFlags -> VkSparseMemoryBindBitmask type VkSparseMemoryBindFlags = VkSparseMemoryBindBitmask FlagMask type VkSparseMemoryBindFlagBits = VkSparseMemoryBindBitmask FlagBit -- | Operation binds resource metadata to memory -- -- bitpos = 0 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   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 data VkDeviceCreateInfo VkDeviceCreateInfo# :: Addr# -> ByteArray# -> VkDeviceCreateInfo -- |
--   typedef struct VkDeviceEventInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceEventTypeEXT             deviceEvent;
--   } VkDeviceEventInfoEXT;
--   
-- -- VkDeviceEventInfoEXT registry at www.khronos.org data VkDeviceEventInfoEXT VkDeviceEventInfoEXT# :: Addr# -> ByteArray# -> VkDeviceEventInfoEXT -- |
--   typedef struct VkDeviceGeneratedCommandsFeaturesNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         computeBindingPointSupport;
--   } VkDeviceGeneratedCommandsFeaturesNVX;
--   
-- -- VkDeviceGeneratedCommandsFeaturesNVX registry at -- www.khronos.org data VkDeviceGeneratedCommandsFeaturesNVX VkDeviceGeneratedCommandsFeaturesNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsFeaturesNVX -- |
--   typedef struct VkDeviceGeneratedCommandsLimitsNVX {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         maxIndirectCommandsLayoutTokenCount;
--       uint32_t                         maxObjectEntryCounts;
--       uint32_t                         minSequenceCountBufferOffsetAlignment;
--       uint32_t                         minSequenceIndexBufferOffsetAlignment;
--       uint32_t                         minCommandsTokenBufferOffsetAlignment;
--   } VkDeviceGeneratedCommandsLimitsNVX;
--   
-- -- VkDeviceGeneratedCommandsLimitsNVX registry at www.khronos.org data VkDeviceGeneratedCommandsLimitsNVX VkDeviceGeneratedCommandsLimitsNVX# :: Addr# -> ByteArray# -> VkDeviceGeneratedCommandsLimitsNVX -- |
--   typedef struct VkDeviceGroupBindSparseInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t                         resourceDeviceIndex;
--       uint32_t                         memoryDeviceIndex;
--   } VkDeviceGroupBindSparseInfo;
--   
-- -- VkDeviceGroupBindSparseInfo registry at www.khronos.org data VkDeviceGroupBindSparseInfo VkDeviceGroupBindSparseInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupCommandBufferBeginInfo VkDeviceGroupCommandBufferBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupDeviceCreateInfo VkDeviceGroupDeviceCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentCapabilitiesKHR VkDeviceGroupPresentCapabilitiesKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupPresentInfoKHR VkDeviceGroupPresentInfoKHR# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupRenderPassBeginInfo VkDeviceGroupRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkDeviceGroupSubmitInfo VkDeviceGroupSubmitInfo# :: Addr# -> ByteArray# -> VkDeviceGroupSubmitInfo -- | Alias for VkDeviceGroupSubmitInfo type VkDeviceGroupSubmitInfoKHR = VkDeviceGroupSubmitInfo -- |
--   typedef struct VkDeviceGroupSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceGroupPresentModeFlagsKHR                         modes;
--   } VkDeviceGroupSwapchainCreateInfoKHR;
--   
-- -- VkDeviceGroupSwapchainCreateInfoKHR registry at www.khronos.org data VkDeviceGroupSwapchainCreateInfoKHR VkDeviceGroupSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkDeviceGroupSwapchainCreateInfoKHR -- |
--   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 data VkDeviceQueueCreateInfo VkDeviceQueueCreateInfo# :: Addr# -> ByteArray# -> VkDeviceQueueCreateInfo -- |
--   typedef struct VkDeviceQueueGlobalPriorityCreateInfoEXT {
--       VkStructureType sType;
--       const void*                    pNext;
--       VkQueueGlobalPriorityEXT       globalPriority;
--   } VkDeviceQueueGlobalPriorityCreateInfoEXT;
--   
-- -- VkDeviceQueueGlobalPriorityCreateInfoEXT registry at -- www.khronos.org data VkDeviceQueueGlobalPriorityCreateInfoEXT VkDeviceQueueGlobalPriorityCreateInfoEXT# :: Addr# -> ByteArray# -> VkDeviceQueueGlobalPriorityCreateInfoEXT -- |
--   typedef struct VkDeviceQueueInfo2 {
--       VkStructureType sType;
--       const void*                         pNext;
--       VkDeviceQueueCreateFlags            flags;
--       uint32_t                            queueFamilyIndex;
--       uint32_t                            queueIndex;
--   } VkDeviceQueueInfo2;
--   
-- -- VkDeviceQueueInfo2 registry at www.khronos.org data VkDeviceQueueInfo2 VkDeviceQueueInfo2# :: Addr# -> ByteArray# -> VkDeviceQueueInfo2 -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D -- |
--   typedef struct VkMemoryAllocateFlagsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkMemoryAllocateFlags flags;
--       uint32_t                         deviceMask;
--   } VkMemoryAllocateFlagsInfo;
--   
-- -- VkMemoryAllocateFlagsInfo registry at www.khronos.org data VkMemoryAllocateFlagsInfo VkMemoryAllocateFlagsInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryAllocateInfo VkMemoryAllocateInfo# :: Addr# -> ByteArray# -> VkMemoryAllocateInfo -- |
--   typedef struct VkMemoryBarrier {
--       VkStructureType sType;
--       const void*            pNext;
--       VkAccessFlags          srcAccessMask;
--       VkAccessFlags          dstAccessMask;
--   } VkMemoryBarrier;
--   
-- -- VkMemoryBarrier registry at www.khronos.org data VkMemoryBarrier VkMemoryBarrier# :: Addr# -> ByteArray# -> VkMemoryBarrier -- |
--   typedef struct VkMemoryDedicatedAllocateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImage          image;
--       VkBuffer         buffer;
--   } VkMemoryDedicatedAllocateInfo;
--   
-- -- VkMemoryDedicatedAllocateInfo registry at www.khronos.org data VkMemoryDedicatedAllocateInfo VkMemoryDedicatedAllocateInfo# :: Addr# -> ByteArray# -> 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 data VkMemoryDedicatedRequirements VkMemoryDedicatedRequirements# :: Addr# -> ByteArray# -> VkMemoryDedicatedRequirements -- | Alias for VkMemoryDedicatedRequirements type VkMemoryDedicatedRequirementsKHR = VkMemoryDedicatedRequirements -- |
--   typedef struct VkMemoryFdPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         memoryTypeBits;
--   } VkMemoryFdPropertiesKHR;
--   
-- -- VkMemoryFdPropertiesKHR registry at www.khronos.org data VkMemoryFdPropertiesKHR VkMemoryFdPropertiesKHR# :: Addr# -> ByteArray# -> VkMemoryFdPropertiesKHR -- |
--   typedef struct VkMemoryGetFdInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkDeviceMemory                   memory;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkMemoryGetFdInfoKHR;
--   
-- -- VkMemoryGetFdInfoKHR registry at www.khronos.org data VkMemoryGetFdInfoKHR VkMemoryGetFdInfoKHR# :: Addr# -> ByteArray# -> VkMemoryGetFdInfoKHR -- |
--   typedef struct VkMemoryHeap {
--       VkDeviceSize           size;
--       VkMemoryHeapFlags      flags;
--   } VkMemoryHeap;
--   
-- -- VkMemoryHeap registry at www.khronos.org data VkMemoryHeap VkMemoryHeap# :: Addr# -> ByteArray# -> VkMemoryHeap -- |
--   typedef struct VkMemoryHostPointerPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       uint32_t memoryTypeBits;
--   } VkMemoryHostPointerPropertiesEXT;
--   
-- -- VkMemoryHostPointerPropertiesEXT registry at www.khronos.org data VkMemoryHostPointerPropertiesEXT VkMemoryHostPointerPropertiesEXT# :: Addr# -> ByteArray# -> VkMemoryHostPointerPropertiesEXT -- |
--   typedef struct VkMemoryRequirements {
--       VkDeviceSize           size;
--       VkDeviceSize           alignment;
--       uint32_t               memoryTypeBits;
--   } VkMemoryRequirements;
--   
-- -- VkMemoryRequirements registry at www.khronos.org data VkMemoryRequirements VkMemoryRequirements# :: Addr# -> ByteArray# -> VkMemoryRequirements -- |
--   typedef struct VkMemoryRequirements2 {
--       VkStructureType sType;
--       void* pNext;
--       VkMemoryRequirements                                                 memoryRequirements;
--   } VkMemoryRequirements2;
--   
-- -- VkMemoryRequirements2 registry at www.khronos.org data VkMemoryRequirements2 VkMemoryRequirements2# :: Addr# -> ByteArray# -> VkMemoryRequirements2 -- | Alias for VkMemoryRequirements2 type VkMemoryRequirements2KHR = VkMemoryRequirements2 -- |
--   typedef struct VkMemoryType {
--       VkMemoryPropertyFlags  propertyFlags;
--       uint32_t               heapIndex;
--   } VkMemoryType;
--   
-- -- VkMemoryType registry at www.khronos.org data VkMemoryType VkMemoryType# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceFeatures VkPhysicalDeviceFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures type VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION = 1 type VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME = "VK_KHR_get_physical_device_properties2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceFeatures2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceProperties2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceFormatProperties2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceImageFormatProperties2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceQueueFamilyProperties2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceMemoryProperties2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" module Graphics.Vulkan.Ext.VK_KHR_get_surface_capabilities2 newtype VkColorComponentBitmask (a :: FlagType) VkColorComponentBitmask :: VkFlags -> VkColorComponentBitmask type VkColorComponentFlags = VkColorComponentBitmask FlagMask type VkColorComponentFlagBits = VkColorComponentBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | type = enum -- -- VkColorSpaceKHR registry at www.khronos.org newtype VkColorSpaceKHR VkColorSpaceKHR :: Int32 -> VkColorSpaceKHR newtype VkCompositeAlphaBitmaskKHR (a :: FlagType) VkCompositeAlphaBitmaskKHR :: VkFlags -> VkCompositeAlphaBitmaskKHR type VkCompositeAlphaFlagsKHR = VkCompositeAlphaBitmaskKHR FlagMask type VkCompositeAlphaFlagBitsKHR = VkCompositeAlphaBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- |
--   typedef struct VkExtent2D {
--       uint32_t        width;
--       uint32_t        height;
--   } VkExtent2D;
--   
-- -- VkExtent2D registry at www.khronos.org data VkExtent2D VkExtent2D# :: Addr# -> ByteArray# -> VkExtent2D -- |
--   typedef struct VkExtent3D {
--       uint32_t        width;
--       uint32_t        height;
--       uint32_t        depth;
--   } VkExtent3D;
--   
-- -- VkExtent3D registry at www.khronos.org data VkExtent3D VkExtent3D# :: Addr# -> ByteArray# -> VkExtent3D newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- |
--   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 data VkSurfaceCapabilities2EXT VkSurfaceCapabilities2EXT# :: Addr# -> ByteArray# -> VkSurfaceCapabilities2EXT -- |
--   typedef struct VkSurfaceCapabilities2KHR {
--       VkStructureType sType;
--       void*   pNext;
--       VkSurfaceCapabilitiesKHR surfaceCapabilities;
--   } VkSurfaceCapabilities2KHR;
--   
-- -- VkSurfaceCapabilities2KHR registry at www.khronos.org data VkSurfaceCapabilities2KHR VkSurfaceCapabilities2KHR# :: Addr# -> ByteArray# -> 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 data VkSurfaceCapabilitiesKHR VkSurfaceCapabilitiesKHR# :: Addr# -> ByteArray# -> VkSurfaceCapabilitiesKHR -- |
--   typedef struct VkSurfaceFormat2KHR {
--       VkStructureType sType;
--       void* pNext;
--       VkSurfaceFormatKHR surfaceFormat;
--   } VkSurfaceFormat2KHR;
--   
-- -- VkSurfaceFormat2KHR registry at www.khronos.org data VkSurfaceFormat2KHR VkSurfaceFormat2KHR# :: Addr# -> ByteArray# -> VkSurfaceFormat2KHR -- |
--   typedef struct VkSurfaceFormatKHR {
--       VkFormat                         format;
--       VkColorSpaceKHR                  colorSpace;
--   } VkSurfaceFormatKHR;
--   
-- -- VkSurfaceFormatKHR registry at www.khronos.org data VkSurfaceFormatKHR VkSurfaceFormatKHR# :: Addr# -> ByteArray# -> VkSurfaceFormatKHR newtype VkSurfaceCounterBitmaskEXT (a :: FlagType) VkSurfaceCounterBitmaskEXT :: VkFlags -> VkSurfaceCounterBitmaskEXT type VkSurfaceCounterFlagsEXT = VkSurfaceCounterBitmaskEXT FlagMask type VkSurfaceCounterFlagBitsEXT = VkSurfaceCounterBitmaskEXT FlagBit -- | bitpos = 0 newtype VkSurfaceTransformBitmaskKHR (a :: FlagType) VkSurfaceTransformBitmaskKHR :: VkFlags -> VkSurfaceTransformBitmaskKHR type VkSurfaceTransformFlagsKHR = VkSurfaceTransformBitmaskKHR FlagMask type VkSurfaceTransformFlagBitsKHR = VkSurfaceTransformBitmaskKHR FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | bitpos = 6 -- | bitpos = 7 -- | bitpos = 8 type VkGetPhysicalDeviceSurfaceCapabilities2KHR = "vkGetPhysicalDeviceSurfaceCapabilities2KHR" -- | 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" -- | 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 -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION = 1 type VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME = "VK_KHR_get_surface_capabilities2" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfaceCapabilities2KHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetPhysicalDeviceSurfaceFormats2KHR" module Graphics.Vulkan.Ext.VK_KHR_maintenance2 -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> VkImageViewUsageCreateInfo -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo -- |
--   typedef struct VkInputAttachmentAspectReference {
--       uint32_t                        subpass;
--       uint32_t                        inputAttachmentIndex;
--       VkImageAspectFlags              aspectMask;
--   } VkInputAttachmentAspectReference;
--   
-- -- VkInputAttachmentAspectReference registry at www.khronos.org data VkInputAttachmentAspectReference VkInputAttachmentAspectReference# :: Addr# -> ByteArray# -> VkInputAttachmentAspectReference -- | Alias for VkInputAttachmentAspectReference type VkInputAttachmentAspectReferenceKHR = VkInputAttachmentAspectReference -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- |
--   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 data VkGraphicsPipelineCreateInfo VkGraphicsPipelineCreateInfo# :: Addr# -> ByteArray# -> VkGraphicsPipelineCreateInfo -- |
--   typedef struct VkPipelineCacheCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineCacheCreateFlags    flags;
--       size_t                 initialDataSize;
--       const void*            pInitialData;
--   } VkPipelineCacheCreateInfo;
--   
-- -- VkPipelineCacheCreateInfo registry at www.khronos.org data VkPipelineCacheCreateInfo VkPipelineCacheCreateInfo# :: Addr# -> ByteArray# -> VkPipelineCacheCreateInfo -- |
--   typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkBool32               srcPremultiplied;
--       VkBool32               dstPremultiplied;
--       VkBlendOverlapEXT      blendOverlap;
--   } VkPipelineColorBlendAdvancedStateCreateInfoEXT;
--   
-- -- VkPipelineColorBlendAdvancedStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineColorBlendAdvancedStateCreateInfoEXT VkPipelineColorBlendAdvancedStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendAttachmentState VkPipelineColorBlendAttachmentState# :: Addr# -> ByteArray# -> 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 data VkPipelineColorBlendStateCreateInfo VkPipelineColorBlendStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineColorBlendStateCreateInfo -- |
--   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 data VkPipelineCoverageModulationStateCreateInfoNV VkPipelineCoverageModulationStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageModulationStateCreateInfoNV -- |
--   typedef struct VkPipelineCoverageToColorStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineCoverageToColorStateCreateFlagsNV                    flags;
--       VkBool32                         coverageToColorEnable;
--       uint32_t         coverageToColorLocation;
--   } VkPipelineCoverageToColorStateCreateInfoNV;
--   
-- -- VkPipelineCoverageToColorStateCreateInfoNV registry at -- www.khronos.org data VkPipelineCoverageToColorStateCreateInfoNV VkPipelineCoverageToColorStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineCoverageToColorStateCreateInfoNV -- |
--   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 data VkPipelineDepthStencilStateCreateInfo VkPipelineDepthStencilStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineDiscardRectangleStateCreateInfoEXT VkPipelineDiscardRectangleStateCreateInfoEXT# :: Addr# -> ByteArray# -> VkPipelineDiscardRectangleStateCreateInfoEXT -- |
--   typedef struct VkPipelineDynamicStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineDynamicStateCreateFlags    flags;
--       uint32_t               dynamicStateCount;
--       const VkDynamicState*  pDynamicStates;
--   } VkPipelineDynamicStateCreateInfo;
--   
-- -- VkPipelineDynamicStateCreateInfo registry at www.khronos.org data VkPipelineDynamicStateCreateInfo VkPipelineDynamicStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineDynamicStateCreateInfo -- |
--   typedef struct VkPipelineInputAssemblyStateCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineInputAssemblyStateCreateFlags    flags;
--       VkPrimitiveTopology    topology;
--       VkBool32               primitiveRestartEnable;
--   } VkPipelineInputAssemblyStateCreateInfo;
--   
-- -- VkPipelineInputAssemblyStateCreateInfo registry at -- www.khronos.org data VkPipelineInputAssemblyStateCreateInfo VkPipelineInputAssemblyStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineLayoutCreateInfo VkPipelineLayoutCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineMultisampleStateCreateInfo VkPipelineMultisampleStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineMultisampleStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                                                                      pNext;
--       VkPipelineRasterizationConservativeStateCreateFlagsEXT           flags;
--       VkConservativeRasterizationModeEXT                                               conservativeRasterizationMode;
--       float                                                                            extraPrimitiveOverestimationSize;
--   } VkPipelineRasterizationConservativeStateCreateInfoEXT;
--   
-- -- VkPipelineRasterizationConservativeStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineRasterizationConservativeStateCreateInfoEXT VkPipelineRasterizationConservativeStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineRasterizationStateCreateInfo VkPipelineRasterizationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateCreateInfo -- |
--   typedef struct VkPipelineRasterizationStateRasterizationOrderAMD {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkRasterizationOrderAMD          rasterizationOrder;
--   } VkPipelineRasterizationStateRasterizationOrderAMD;
--   
-- -- VkPipelineRasterizationStateRasterizationOrderAMD registry at -- www.khronos.org data VkPipelineRasterizationStateRasterizationOrderAMD VkPipelineRasterizationStateRasterizationOrderAMD# :: Addr# -> ByteArray# -> VkPipelineRasterizationStateRasterizationOrderAMD -- |
--   typedef struct VkPipelineSampleLocationsStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32                         sampleLocationsEnable;
--       VkSampleLocationsInfoEXT         sampleLocationsInfo;
--   } VkPipelineSampleLocationsStateCreateInfoEXT;
--   
-- -- VkPipelineSampleLocationsStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineSampleLocationsStateCreateInfoEXT VkPipelineSampleLocationsStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineShaderStageCreateInfo VkPipelineShaderStageCreateInfo# :: Addr# -> ByteArray# -> VkPipelineShaderStageCreateInfo -- |
--   typedef struct VkPipelineTessellationDomainOriginStateCreateInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkTessellationDomainOrigin    domainOrigin;
--   } VkPipelineTessellationDomainOriginStateCreateInfo;
--   
-- -- VkPipelineTessellationDomainOriginStateCreateInfo registry at -- www.khronos.org data VkPipelineTessellationDomainOriginStateCreateInfo VkPipelineTessellationDomainOriginStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineTessellationStateCreateInfo VkPipelineTessellationStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineTessellationStateCreateInfo -- |
--   typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT {
--       VkStructureType sType;
--       const void*                         pNext;
--       uint32_t                            vertexBindingDivisorCount;
--       const VkVertexInputBindingDivisorDescriptionEXT*      pVertexBindingDivisors;
--   } VkPipelineVertexInputDivisorStateCreateInfoEXT;
--   
-- -- VkPipelineVertexInputDivisorStateCreateInfoEXT registry at -- www.khronos.org data VkPipelineVertexInputDivisorStateCreateInfoEXT VkPipelineVertexInputDivisorStateCreateInfoEXT# :: Addr# -> ByteArray# -> 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 data VkPipelineVertexInputStateCreateInfo VkPipelineVertexInputStateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkPipelineViewportStateCreateInfo VkPipelineViewportStateCreateInfo# :: Addr# -> ByteArray# -> VkPipelineViewportStateCreateInfo -- |
--   typedef struct VkPipelineViewportSwizzleStateCreateInfoNV {
--       VkStructureType sType;
--       const void*            pNext;
--       VkPipelineViewportSwizzleStateCreateFlagsNV    flags;
--       uint32_t               viewportCount;
--       const VkViewportSwizzleNV*      pViewportSwizzles;
--   } VkPipelineViewportSwizzleStateCreateInfoNV;
--   
-- -- VkPipelineViewportSwizzleStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportSwizzleStateCreateInfoNV VkPipelineViewportSwizzleStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportSwizzleStateCreateInfoNV -- |
--   typedef struct VkPipelineViewportWScalingStateCreateInfoNV {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBool32               viewportWScalingEnable;
--       uint32_t               viewportCount;
--       const VkViewportWScalingNV*      pViewportWScalings;
--   } VkPipelineViewportWScalingStateCreateInfoNV;
--   
-- -- VkPipelineViewportWScalingStateCreateInfoNV registry at -- www.khronos.org data VkPipelineViewportWScalingStateCreateInfoNV VkPipelineViewportWScalingStateCreateInfoNV# :: Addr# -> ByteArray# -> VkPipelineViewportWScalingStateCreateInfoNV -- | type = enum -- -- VkPointClippingBehavior registry at www.khronos.org newtype VkPointClippingBehavior VkPointClippingBehavior :: Int32 -> VkPointClippingBehavior newtype VkPointClippingBehaviorKHR VkPointClippingBehaviorKHR :: VkFlags -> VkPointClippingBehaviorKHR -- |
--   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 data VkRenderPassBeginInfo VkRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassCreateInfo VkRenderPassCreateInfo# :: Addr# -> ByteArray# -> VkRenderPassCreateInfo -- |
--   typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
--       VkStructureType sType;
--       const void*                     pNext;
--       uint32_t                        aspectReferenceCount;
--       const VkInputAttachmentAspectReference* pAspectReferences;
--   } VkRenderPassInputAttachmentAspectCreateInfo;
--   
-- -- VkRenderPassInputAttachmentAspectCreateInfo registry at -- www.khronos.org data VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassSampleLocationsBeginInfoEXT VkRenderPassSampleLocationsBeginInfoEXT# :: Addr# -> ByteArray# -> VkRenderPassSampleLocationsBeginInfoEXT -- | type = enum -- -- VkTessellationDomainOrigin registry at www.khronos.org newtype VkTessellationDomainOrigin VkTessellationDomainOrigin :: Int32 -> VkTessellationDomainOrigin newtype VkTessellationDomainOriginKHR VkTessellationDomainOriginKHR :: VkFlags -> VkTessellationDomainOriginKHR type VK_KHR_MAINTENANCE2_SPEC_VERSION = 1 type VK_KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2" module Graphics.Vulkan.Ext.VK_KHR_maintenance3 -- |
--   typedef struct VkDescriptorBufferInfo {
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkDescriptorBufferInfo;
--   
-- -- VkDescriptorBufferInfo registry at www.khronos.org data VkDescriptorBufferInfo VkDescriptorBufferInfo# :: Addr# -> ByteArray# -> VkDescriptorBufferInfo -- |
--   typedef struct VkDescriptorImageInfo {
--       VkSampler       sampler;
--       VkImageView     imageView;
--       VkImageLayout   imageLayout;
--   } VkDescriptorImageInfo;
--   
-- -- VkDescriptorImageInfo registry at www.khronos.org data VkDescriptorImageInfo VkDescriptorImageInfo# :: Addr# -> ByteArray# -> 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 data VkDescriptorPoolCreateInfo VkDescriptorPoolCreateInfo# :: Addr# -> ByteArray# -> VkDescriptorPoolCreateInfo -- |
--   typedef struct VkDescriptorPoolSize {
--       VkDescriptorType       type;
--       uint32_t               descriptorCount;
--   } VkDescriptorPoolSize;
--   
-- -- VkDescriptorPoolSize registry at www.khronos.org data VkDescriptorPoolSize VkDescriptorPoolSize# :: Addr# -> ByteArray# -> VkDescriptorPoolSize -- |
--   typedef struct VkDescriptorSetAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPool       descriptorPool;
--       uint32_t               descriptorSetCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--   } VkDescriptorSetAllocateInfo;
--   
-- -- VkDescriptorSetAllocateInfo registry at www.khronos.org data VkDescriptorSetAllocateInfo VkDescriptorSetAllocateInfo# :: Addr# -> ByteArray# -> VkDescriptorSetAllocateInfo -- |
--   typedef struct VkDescriptorSetLayoutBinding {
--       uint32_t               binding;
--       VkDescriptorType       descriptorType;
--       uint32_t descriptorCount;
--       VkShaderStageFlags     stageFlags;
--       const VkSampler*       pImmutableSamplers;
--   } VkDescriptorSetLayoutBinding;
--   
-- -- VkDescriptorSetLayoutBinding registry at www.khronos.org data VkDescriptorSetLayoutBinding VkDescriptorSetLayoutBinding# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutBinding -- |
--   typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               bindingCount;
--       const VkDescriptorBindingFlagsEXT* pBindingFlags;
--   } VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
--   
-- -- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT registry at -- www.khronos.org data VkDescriptorSetLayoutBindingFlagsCreateInfoEXT VkDescriptorSetLayoutBindingFlagsCreateInfoEXT# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -- |
--   typedef struct VkDescriptorSetLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSetLayoutCreateFlags    flags;
--       uint32_t               bindingCount;
--       const VkDescriptorSetLayoutBinding* pBindings;
--   } VkDescriptorSetLayoutCreateInfo;
--   
-- -- VkDescriptorSetLayoutCreateInfo registry at www.khronos.org data VkDescriptorSetLayoutCreateInfo VkDescriptorSetLayoutCreateInfo# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutCreateInfo -- |
--   typedef struct VkDescriptorSetLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       VkBool32         supported;
--   } VkDescriptorSetLayoutSupport;
--   
-- -- VkDescriptorSetLayoutSupport registry at www.khronos.org data VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupport# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutSupport -- | Alias for VkDescriptorSetLayoutSupport type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               descriptorSetCount;
--       const uint32_t* pDescriptorCounts;
--   } VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
--   
-- -- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT registry at -- www.khronos.org data VkDescriptorSetVariableDescriptorCountAllocateInfoEXT VkDescriptorSetVariableDescriptorCountAllocateInfoEXT# :: Addr# -> ByteArray# -> VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {
--       VkStructureType sType;
--       void*            pNext;
--       uint32_t         maxVariableDescriptorCount;
--   } VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
--   
-- -- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT registry at -- www.khronos.org data VkDescriptorSetVariableDescriptorCountLayoutSupportEXT VkDescriptorSetVariableDescriptorCountLayoutSupportEXT# :: Addr# -> ByteArray# -> VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -- |
--   typedef struct VkDescriptorUpdateTemplateCreateInfo {
--       VkStructureType sType;
--       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 data VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntry# :: Addr# -> ByteArray# -> VkDescriptorUpdateTemplateEntry -- | Alias for VkDescriptorUpdateTemplateEntry type VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT type VkGetDescriptorSetLayoutSupportKHR = "vkGetDescriptorSetLayoutSupportKHR" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask newtype VkDescriptorBindingBitmaskEXT (a :: FlagType) VkDescriptorBindingBitmaskEXT :: VkFlags -> VkDescriptorBindingBitmaskEXT type VkDescriptorBindingFlagsEXT = VkDescriptorBindingBitmaskEXT FlagMask type VkDescriptorBindingFlagBitsEXT = VkDescriptorBindingBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit -- | Descriptor sets may be freed individually -- -- bitpos = 0 newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR -- | type = enum -- -- VkShaderInfoTypeAMD registry at www.khronos.org newtype VkShaderInfoTypeAMD VkShaderInfoTypeAMD :: Int32 -> VkShaderInfoTypeAMD newtype VkShaderStageBitmask (a :: FlagType) VkShaderStageBitmask :: VkFlags -> VkShaderStageBitmask type VkShaderStageFlags = VkShaderStageBitmask FlagMask type VkShaderStageFlagBits = VkShaderStageBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 -- | bitpos = 4 -- | bitpos = 5 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 type VK_KHR_MAINTENANCE3_SPEC_VERSION = 1 type VK_KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkGetDescriptorSetLayoutSupportKHR" module Graphics.Vulkan.Ext.VK_KHR_multiview -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- |
--   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 data VkRenderPassBeginInfo VkRenderPassBeginInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassCreateInfo VkRenderPassCreateInfo# :: Addr# -> ByteArray# -> VkRenderPassCreateInfo -- |
--   typedef struct VkRenderPassInputAttachmentAspectCreateInfo {
--       VkStructureType sType;
--       const void*                     pNext;
--       uint32_t                        aspectReferenceCount;
--       const VkInputAttachmentAspectReference* pAspectReferences;
--   } VkRenderPassInputAttachmentAspectCreateInfo;
--   
-- -- VkRenderPassInputAttachmentAspectCreateInfo registry at -- www.khronos.org data VkRenderPassInputAttachmentAspectCreateInfo VkRenderPassInputAttachmentAspectCreateInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassMultiviewCreateInfo VkRenderPassMultiviewCreateInfo# :: Addr# -> ByteArray# -> 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 data VkRenderPassSampleLocationsBeginInfoEXT VkRenderPassSampleLocationsBeginInfoEXT# :: Addr# -> ByteArray# -> VkRenderPassSampleLocationsBeginInfoEXT type VK_KHR_MULTIVIEW_SPEC_VERSION = 1 type VK_KHR_MULTIVIEW_EXTENSION_NAME = "VK_KHR_multiview" module Graphics.Vulkan.Ext.VK_KHR_push_descriptor newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VkCmdPushDescriptorSetKHR = "vkCmdPushDescriptorSetKHR" -- | 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 VkDescriptorBindingBitmaskEXT (a :: FlagType) VkDescriptorBindingBitmaskEXT :: VkFlags -> VkDescriptorBindingBitmaskEXT type VkDescriptorBindingFlagsEXT = VkDescriptorBindingBitmaskEXT FlagMask type VkDescriptorBindingFlagBitsEXT = VkDescriptorBindingBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit -- | Descriptor sets may be freed individually -- -- bitpos = 0 newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR newtype VkImageAspectBitmask (a :: FlagType) VkImageAspectBitmask :: VkFlags -> VkImageAspectBitmask type VkImageAspectFlags = VkImageAspectBitmask FlagMask type VkImageAspectFlagBits = VkImageAspectBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkImageCreateBitmask (a :: FlagType) VkImageCreateBitmask :: VkFlags -> VkImageCreateBitmask type VkImageCreateFlags = VkImageCreateBitmask FlagMask type VkImageCreateFlagBits = VkImageCreateBitmask FlagBit -- | Image should support sparse backing -- -- bitpos = 0 -- | Image should support sparse backing with partial residency -- -- bitpos = 1 -- | Image should support constent data access to physical memory ranges -- mapped into multiple locations of sparse images -- -- bitpos = 2 -- | Allows image views to have different format than the base image -- -- bitpos = 3 -- | Allows creating image views with cube type from the created image -- -- bitpos = 4 -- | 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) -- | General layout when image can be used for any kind of access -- | Optimal layout when image is only used for color attachment read/write -- | Optimal layout when image is only used for depthstencil attachment -- readwrite -- | Optimal layout when image is used for read only depth/stencil -- attachment and shader access -- | Optimal layout when image is used for read only shader access -- | Optimal layout when image is used only as source of transfer -- operations -- | Optimal layout when image is used only as destination of transfer -- operations -- | Initial layout used when the data is populated by the CPU -- | type = enum -- -- VkImageTiling registry at www.khronos.org newtype VkImageTiling VkImageTiling :: Int32 -> VkImageTiling -- | type = enum -- -- VkImageType registry at www.khronos.org newtype VkImageType VkImageType :: Int32 -> VkImageType newtype VkImageUsageBitmask (a :: FlagType) VkImageUsageBitmask :: VkFlags -> VkImageUsageBitmask type VkImageUsageFlags = VkImageUsageBitmask FlagMask type VkImageUsageFlagBits = VkImageUsageBitmask FlagBit -- | Can be used as a source of transfer operations -- -- bitpos = 0 -- | Can be used as a destination of transfer operations -- -- bitpos = 1 -- | Can be sampled from (SAMPLED_IMAGE and COMBINED_IMAGE_SAMPLER -- descriptor types) -- -- bitpos = 2 -- | Can be used as storage image (STORAGE_IMAGE descriptor type) -- -- bitpos = 3 -- | Can be used as framebuffer color attachment -- -- bitpos = 4 -- | Can be used as framebuffer depth/stencil attachment -- -- bitpos = 5 -- | Image data not needed outside of rendering -- -- bitpos = 6 -- | Can be used as framebuffer input attachment -- -- bitpos = 7 -- | type = enum -- -- VkImageViewType registry at www.khronos.org newtype VkImageViewType VkImageViewType :: Int32 -> VkImageViewType -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint newtype VkPipelineCacheCreateFlagBits VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateFlagBits -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion newtype VkPipelineColorBlendStateCreateFlagBits VkPipelineColorBlendStateCreateFlagBits :: VkFlags -> VkPipelineColorBlendStateCreateFlagBits newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkPipelineDepthStencilStateCreateFlagBits VkPipelineDepthStencilStateCreateFlagBits :: VkFlags -> VkPipelineDepthStencilStateCreateFlagBits newtype VkPipelineDynamicStateCreateFlagBits VkPipelineDynamicStateCreateFlagBits :: VkFlags -> VkPipelineDynamicStateCreateFlagBits newtype VkPipelineInputAssemblyStateCreateFlagBits VkPipelineInputAssemblyStateCreateFlagBits :: VkFlags -> VkPipelineInputAssemblyStateCreateFlagBits newtype VkPipelineLayoutCreateFlagBits VkPipelineLayoutCreateFlagBits :: VkFlags -> VkPipelineLayoutCreateFlagBits newtype VkPipelineMultisampleStateCreateFlagBits VkPipelineMultisampleStateCreateFlagBits :: VkFlags -> VkPipelineMultisampleStateCreateFlagBits newtype VkPipelineRasterizationStateCreateFlagBits VkPipelineRasterizationStateCreateFlagBits :: VkFlags -> VkPipelineRasterizationStateCreateFlagBits newtype VkPipelineShaderStageCreateFlagBits VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateFlagBits newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit -- | Before subsequent commands are processed -- -- bitpos = 0 -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 -- | Vertex/index fetch -- -- bitpos = 2 -- | Vertex shading -- -- bitpos = 3 -- | Tessellation control shading -- -- bitpos = 4 -- | Tessellation evaluation shading -- -- bitpos = 5 -- | Geometry shading -- -- bitpos = 6 -- | Fragment shading -- -- bitpos = 7 -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 -- | Color attachment writes -- -- bitpos = 10 -- | Compute shading -- -- bitpos = 11 -- | Transfer/copy operations -- -- bitpos = 12 -- | After previous commands have completed -- -- bitpos = 13 -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 -- | All stages of the graphics pipeline -- -- bitpos = 15 -- | All stages supported on the queue -- -- bitpos = 16 newtype VkPipelineTessellationStateCreateFlagBits VkPipelineTessellationStateCreateFlagBits :: VkFlags -> VkPipelineTessellationStateCreateFlagBits newtype VkPipelineVertexInputStateCreateFlagBits VkPipelineVertexInputStateCreateFlagBits :: VkFlags -> VkPipelineVertexInputStateCreateFlagBits newtype VkPipelineViewportStateCreateFlagBits VkPipelineViewportStateCreateFlagBits :: VkFlags -> VkPipelineViewportStateCreateFlagBits 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   typedef struct VkDescriptorBufferInfo {
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkDescriptorBufferInfo;
--   
-- -- VkDescriptorBufferInfo registry at www.khronos.org data VkDescriptorBufferInfo VkDescriptorBufferInfo# :: Addr# -> ByteArray# -> VkDescriptorBufferInfo -- |
--   typedef struct VkDescriptorImageInfo {
--       VkSampler       sampler;
--       VkImageView     imageView;
--       VkImageLayout   imageLayout;
--   } VkDescriptorImageInfo;
--   
-- -- VkDescriptorImageInfo registry at www.khronos.org data VkDescriptorImageInfo VkDescriptorImageInfo# :: Addr# -> ByteArray# -> 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 data VkDescriptorPoolCreateInfo VkDescriptorPoolCreateInfo# :: Addr# -> ByteArray# -> VkDescriptorPoolCreateInfo -- |
--   typedef struct VkDescriptorPoolSize {
--       VkDescriptorType       type;
--       uint32_t               descriptorCount;
--   } VkDescriptorPoolSize;
--   
-- -- VkDescriptorPoolSize registry at www.khronos.org data VkDescriptorPoolSize VkDescriptorPoolSize# :: Addr# -> ByteArray# -> VkDescriptorPoolSize -- |
--   typedef struct VkDescriptorSetAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPool       descriptorPool;
--       uint32_t               descriptorSetCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--   } VkDescriptorSetAllocateInfo;
--   
-- -- VkDescriptorSetAllocateInfo registry at www.khronos.org data VkDescriptorSetAllocateInfo VkDescriptorSetAllocateInfo# :: Addr# -> ByteArray# -> VkDescriptorSetAllocateInfo -- |
--   typedef struct VkDescriptorSetLayoutBinding {
--       uint32_t               binding;
--       VkDescriptorType       descriptorType;
--       uint32_t descriptorCount;
--       VkShaderStageFlags     stageFlags;
--       const VkSampler*       pImmutableSamplers;
--   } VkDescriptorSetLayoutBinding;
--   
-- -- VkDescriptorSetLayoutBinding registry at www.khronos.org data VkDescriptorSetLayoutBinding VkDescriptorSetLayoutBinding# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutBinding -- |
--   typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               bindingCount;
--       const VkDescriptorBindingFlagsEXT* pBindingFlags;
--   } VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
--   
-- -- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT registry at -- www.khronos.org data VkDescriptorSetLayoutBindingFlagsCreateInfoEXT VkDescriptorSetLayoutBindingFlagsCreateInfoEXT# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -- |
--   typedef struct VkDescriptorSetLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSetLayoutCreateFlags    flags;
--       uint32_t               bindingCount;
--       const VkDescriptorSetLayoutBinding* pBindings;
--   } VkDescriptorSetLayoutCreateInfo;
--   
-- -- VkDescriptorSetLayoutCreateInfo registry at www.khronos.org data VkDescriptorSetLayoutCreateInfo VkDescriptorSetLayoutCreateInfo# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutCreateInfo -- |
--   typedef struct VkDescriptorSetLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       VkBool32         supported;
--   } VkDescriptorSetLayoutSupport;
--   
-- -- VkDescriptorSetLayoutSupport registry at www.khronos.org data VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupport# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutSupport -- | Alias for VkDescriptorSetLayoutSupport type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               descriptorSetCount;
--       const uint32_t* pDescriptorCounts;
--   } VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
--   
-- -- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT registry at -- www.khronos.org data VkDescriptorSetVariableDescriptorCountAllocateInfoEXT VkDescriptorSetVariableDescriptorCountAllocateInfoEXT# :: Addr# -> ByteArray# -> VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {
--       VkStructureType sType;
--       void*            pNext;
--       uint32_t         maxVariableDescriptorCount;
--   } VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
--   
-- -- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT registry at -- www.khronos.org data VkDescriptorSetVariableDescriptorCountLayoutSupportEXT VkDescriptorSetVariableDescriptorCountLayoutSupportEXT# :: Addr# -> ByteArray# -> VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -- |
--   typedef struct VkDescriptorUpdateTemplateCreateInfo {
--       VkStructureType sType;
--       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 data VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntry# :: Addr# -> ByteArray# -> 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 data VkWriteDescriptorSet VkWriteDescriptorSet# :: Addr# -> ByteArray# -> VkWriteDescriptorSet type VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION = 2 type VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME = "VK_KHR_push_descriptor" -- | Descriptors are pushed via flink:vkCmdPushDescriptorSetKHR -- -- bitpos = 0 type VkCmdPushDescriptorSetWithTemplateKHR = "vkCmdPushDescriptorSetWithTemplateKHR" -- | 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 instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdPushDescriptorSetKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCmdPushDescriptorSetWithTemplateKHR" module Graphics.Vulkan.Ext.VK_KHR_descriptor_update_template newtype VkAndroidSurfaceCreateFlagsKHR VkAndroidSurfaceCreateFlagsKHR :: VkFlags -> VkAndroidSurfaceCreateFlagsKHR newtype VkBufferViewCreateFlags VkBufferViewCreateFlags :: VkFlags -> VkBufferViewCreateFlags newtype VkCommandPoolTrimFlags VkCommandPoolTrimFlags :: VkFlags -> VkCommandPoolTrimFlags newtype VkCommandPoolTrimFlagsKHR VkCommandPoolTrimFlagsKHR :: VkFlags -> VkCommandPoolTrimFlagsKHR newtype VkDebugUtilsMessengerCallbackDataFlagsEXT VkDebugUtilsMessengerCallbackDataFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCallbackDataFlagsEXT newtype VkDebugUtilsMessengerCreateFlagsEXT VkDebugUtilsMessengerCreateFlagsEXT :: VkFlags -> VkDebugUtilsMessengerCreateFlagsEXT newtype VkDescriptorPoolResetFlags VkDescriptorPoolResetFlags :: VkFlags -> VkDescriptorPoolResetFlags newtype VkDescriptorUpdateTemplateCreateFlags VkDescriptorUpdateTemplateCreateFlags :: VkFlags -> VkDescriptorUpdateTemplateCreateFlags newtype VkDescriptorUpdateTemplateCreateFlagsKHR VkDescriptorUpdateTemplateCreateFlagsKHR :: VkFlags -> VkDescriptorUpdateTemplateCreateFlagsKHR newtype VkDeviceCreateFlags VkDeviceCreateFlags :: VkFlags -> VkDeviceCreateFlags 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 VkFramebufferCreateFlags VkFramebufferCreateFlags :: VkFlags -> VkFramebufferCreateFlags newtype VkIOSSurfaceCreateFlagsMVK VkIOSSurfaceCreateFlagsMVK :: VkFlags -> VkIOSSurfaceCreateFlagsMVK newtype VkImageViewCreateFlags VkImageViewCreateFlags :: VkFlags -> VkImageViewCreateFlags newtype VkInstanceCreateFlags VkInstanceCreateFlags :: VkFlags -> VkInstanceCreateFlags newtype VkMacOSSurfaceCreateFlagsMVK VkMacOSSurfaceCreateFlagsMVK :: VkFlags -> VkMacOSSurfaceCreateFlagsMVK newtype VkMemoryAllocateFlagsKHR VkMemoryAllocateFlagsKHR :: VkFlags -> VkMemoryAllocateFlagsKHR newtype VkMemoryMapFlags VkMemoryMapFlags :: VkFlags -> VkMemoryMapFlags newtype VkMirSurfaceCreateFlagsKHR VkMirSurfaceCreateFlagsKHR :: VkFlags -> VkMirSurfaceCreateFlagsKHR newtype VkPeerMemoryFeatureFlagsKHR VkPeerMemoryFeatureFlagsKHR :: VkFlags -> VkPeerMemoryFeatureFlagsKHR newtype VkPipelineCacheCreateFlags VkPipelineCacheCreateFlags :: VkFlags -> VkPipelineCacheCreateFlags newtype VkPipelineColorBlendStateCreateFlags VkPipelineColorBlendStateCreateFlags :: VkFlags -> VkPipelineColorBlendStateCreateFlags newtype VkPipelineCoverageModulationStateCreateFlagsNV VkPipelineCoverageModulationStateCreateFlagsNV :: VkFlags -> VkPipelineCoverageModulationStateCreateFlagsNV 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 VkPipelineRasterizationStateCreateFlags VkPipelineRasterizationStateCreateFlags :: VkFlags -> VkPipelineRasterizationStateCreateFlags newtype VkPipelineShaderStageCreateFlags VkPipelineShaderStageCreateFlags :: VkFlags -> VkPipelineShaderStageCreateFlags 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 VkRenderPassCreateFlags VkRenderPassCreateFlags :: VkFlags -> VkRenderPassCreateFlags newtype VkSamplerCreateFlags VkSamplerCreateFlags :: VkFlags -> VkSamplerCreateFlags newtype VkSemaphoreCreateFlags VkSemaphoreCreateFlags :: VkFlags -> VkSemaphoreCreateFlags newtype VkSemaphoreImportFlagsKHR VkSemaphoreImportFlagsKHR :: VkFlags -> VkSemaphoreImportFlagsKHR newtype VkShaderModuleCreateFlags VkShaderModuleCreateFlags :: VkFlags -> VkShaderModuleCreateFlags 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 VkDescriptorBufferInfo {
--       VkBuffer               buffer;
--       VkDeviceSize           offset;
--       VkDeviceSize           range;
--   } VkDescriptorBufferInfo;
--   
-- -- VkDescriptorBufferInfo registry at www.khronos.org data VkDescriptorBufferInfo VkDescriptorBufferInfo# :: Addr# -> ByteArray# -> VkDescriptorBufferInfo -- |
--   typedef struct VkDescriptorImageInfo {
--       VkSampler       sampler;
--       VkImageView     imageView;
--       VkImageLayout   imageLayout;
--   } VkDescriptorImageInfo;
--   
-- -- VkDescriptorImageInfo registry at www.khronos.org data VkDescriptorImageInfo VkDescriptorImageInfo# :: Addr# -> ByteArray# -> 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 data VkDescriptorPoolCreateInfo VkDescriptorPoolCreateInfo# :: Addr# -> ByteArray# -> VkDescriptorPoolCreateInfo -- |
--   typedef struct VkDescriptorPoolSize {
--       VkDescriptorType       type;
--       uint32_t               descriptorCount;
--   } VkDescriptorPoolSize;
--   
-- -- VkDescriptorPoolSize registry at www.khronos.org data VkDescriptorPoolSize VkDescriptorPoolSize# :: Addr# -> ByteArray# -> VkDescriptorPoolSize -- |
--   typedef struct VkDescriptorSetAllocateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorPool       descriptorPool;
--       uint32_t               descriptorSetCount;
--       const VkDescriptorSetLayout* pSetLayouts;
--   } VkDescriptorSetAllocateInfo;
--   
-- -- VkDescriptorSetAllocateInfo registry at www.khronos.org data VkDescriptorSetAllocateInfo VkDescriptorSetAllocateInfo# :: Addr# -> ByteArray# -> VkDescriptorSetAllocateInfo -- |
--   typedef struct VkDescriptorSetLayoutBinding {
--       uint32_t               binding;
--       VkDescriptorType       descriptorType;
--       uint32_t descriptorCount;
--       VkShaderStageFlags     stageFlags;
--       const VkSampler*       pImmutableSamplers;
--   } VkDescriptorSetLayoutBinding;
--   
-- -- VkDescriptorSetLayoutBinding registry at www.khronos.org data VkDescriptorSetLayoutBinding VkDescriptorSetLayoutBinding# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutBinding -- |
--   typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               bindingCount;
--       const VkDescriptorBindingFlagsEXT* pBindingFlags;
--   } VkDescriptorSetLayoutBindingFlagsCreateInfoEXT;
--   
-- -- VkDescriptorSetLayoutBindingFlagsCreateInfoEXT registry at -- www.khronos.org data VkDescriptorSetLayoutBindingFlagsCreateInfoEXT VkDescriptorSetLayoutBindingFlagsCreateInfoEXT# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutBindingFlagsCreateInfoEXT -- |
--   typedef struct VkDescriptorSetLayoutCreateInfo {
--       VkStructureType sType;
--       const void*            pNext;
--       VkDescriptorSetLayoutCreateFlags    flags;
--       uint32_t               bindingCount;
--       const VkDescriptorSetLayoutBinding* pBindings;
--   } VkDescriptorSetLayoutCreateInfo;
--   
-- -- VkDescriptorSetLayoutCreateInfo registry at www.khronos.org data VkDescriptorSetLayoutCreateInfo VkDescriptorSetLayoutCreateInfo# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutCreateInfo -- |
--   typedef struct VkDescriptorSetLayoutSupport {
--       VkStructureType sType;
--       void*            pNext;
--       VkBool32         supported;
--   } VkDescriptorSetLayoutSupport;
--   
-- -- VkDescriptorSetLayoutSupport registry at www.khronos.org data VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupport# :: Addr# -> ByteArray# -> VkDescriptorSetLayoutSupport -- | Alias for VkDescriptorSetLayoutSupport type VkDescriptorSetLayoutSupportKHR = VkDescriptorSetLayoutSupport -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               descriptorSetCount;
--       const uint32_t* pDescriptorCounts;
--   } VkDescriptorSetVariableDescriptorCountAllocateInfoEXT;
--   
-- -- VkDescriptorSetVariableDescriptorCountAllocateInfoEXT registry at -- www.khronos.org data VkDescriptorSetVariableDescriptorCountAllocateInfoEXT VkDescriptorSetVariableDescriptorCountAllocateInfoEXT# :: Addr# -> ByteArray# -> VkDescriptorSetVariableDescriptorCountAllocateInfoEXT -- |
--   typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {
--       VkStructureType sType;
--       void*            pNext;
--       uint32_t         maxVariableDescriptorCount;
--   } VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
--   
-- -- VkDescriptorSetVariableDescriptorCountLayoutSupportEXT registry at -- www.khronos.org data VkDescriptorSetVariableDescriptorCountLayoutSupportEXT VkDescriptorSetVariableDescriptorCountLayoutSupportEXT# :: Addr# -> ByteArray# -> VkDescriptorSetVariableDescriptorCountLayoutSupportEXT -- |
--   typedef struct VkDescriptorUpdateTemplateCreateInfo {
--       VkStructureType sType;
--       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 data VkDescriptorUpdateTemplateCreateInfo VkDescriptorUpdateTemplateCreateInfo# :: Addr# -> ByteArray# -> 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 data VkDescriptorUpdateTemplateEntry VkDescriptorUpdateTemplateEntry# :: Addr# -> ByteArray# -> VkDescriptorUpdateTemplateEntry -- | Alias for VkDescriptorUpdateTemplateEntry type VkDescriptorUpdateTemplateEntryKHR = VkDescriptorUpdateTemplateEntry newtype VkDescriptorBindingBitmaskEXT (a :: FlagType) VkDescriptorBindingBitmaskEXT :: VkFlags -> VkDescriptorBindingBitmaskEXT type VkDescriptorBindingFlagsEXT = VkDescriptorBindingBitmaskEXT FlagMask type VkDescriptorBindingFlagBitsEXT = VkDescriptorBindingBitmaskEXT FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 -- | bitpos = 3 newtype VkDescriptorPoolCreateBitmask (a :: FlagType) VkDescriptorPoolCreateBitmask :: VkFlags -> VkDescriptorPoolCreateBitmask type VkDescriptorPoolCreateFlags = VkDescriptorPoolCreateBitmask FlagMask type VkDescriptorPoolCreateFlagBits = VkDescriptorPoolCreateBitmask FlagBit -- | Descriptor sets may be freed individually -- -- bitpos = 0 newtype VkDescriptorSetLayoutCreateBitmask (a :: FlagType) VkDescriptorSetLayoutCreateBitmask :: VkFlags -> VkDescriptorSetLayoutCreateBitmask type VkDescriptorSetLayoutCreateFlags = VkDescriptorSetLayoutCreateBitmask FlagMask type VkDescriptorSetLayoutCreateFlagBits = VkDescriptorSetLayoutCreateBitmask FlagBit -- | type = enum -- -- VkDescriptorType registry at www.khronos.org newtype VkDescriptorType VkDescriptorType :: Int32 -> VkDescriptorType -- | type = enum -- -- VkDescriptorUpdateTemplateType registry at www.khronos.org newtype VkDescriptorUpdateTemplateType VkDescriptorUpdateTemplateType :: Int32 -> VkDescriptorUpdateTemplateType -- | Create descriptor update template for descriptor set updates newtype VkDescriptorUpdateTemplateTypeKHR VkDescriptorUpdateTemplateTypeKHR :: VkFlags -> VkDescriptorUpdateTemplateTypeKHR type VkCreateDescriptorUpdateTemplateKHR = "vkCreateDescriptorUpdateTemplateKHR" -- | 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" -- | 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" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 -- | type = enum -- -- VkPipelineBindPoint registry at www.khronos.org newtype VkPipelineBindPoint VkPipelineBindPoint :: Int32 -> VkPipelineBindPoint newtype VkPipelineCacheCreateFlagBits VkPipelineCacheCreateFlagBits :: VkFlags -> VkPipelineCacheCreateFlagBits -- | type = enum -- -- VkPipelineCacheHeaderVersion registry at www.khronos.org newtype VkPipelineCacheHeaderVersion VkPipelineCacheHeaderVersion :: Int32 -> VkPipelineCacheHeaderVersion newtype VkPipelineColorBlendStateCreateFlagBits VkPipelineColorBlendStateCreateFlagBits :: VkFlags -> VkPipelineColorBlendStateCreateFlagBits newtype VkPipelineCreateBitmask (a :: FlagType) VkPipelineCreateBitmask :: VkFlags -> VkPipelineCreateBitmask type VkPipelineCreateFlags = VkPipelineCreateBitmask FlagMask type VkPipelineCreateFlagBits = VkPipelineCreateBitmask FlagBit -- | bitpos = 0 -- | bitpos = 1 -- | bitpos = 2 newtype VkPipelineDepthStencilStateCreateFlagBits VkPipelineDepthStencilStateCreateFlagBits :: VkFlags -> VkPipelineDepthStencilStateCreateFlagBits newtype VkPipelineDynamicStateCreateFlagBits VkPipelineDynamicStateCreateFlagBits :: VkFlags -> VkPipelineDynamicStateCreateFlagBits newtype VkPipelineInputAssemblyStateCreateFlagBits VkPipelineInputAssemblyStateCreateFlagBits :: VkFlags -> VkPipelineInputAssemblyStateCreateFlagBits newtype VkPipelineLayoutCreateFlagBits VkPipelineLayoutCreateFlagBits :: VkFlags -> VkPipelineLayoutCreateFlagBits newtype VkPipelineMultisampleStateCreateFlagBits VkPipelineMultisampleStateCreateFlagBits :: VkFlags -> VkPipelineMultisampleStateCreateFlagBits newtype VkPipelineRasterizationStateCreateFlagBits VkPipelineRasterizationStateCreateFlagBits :: VkFlags -> VkPipelineRasterizationStateCreateFlagBits newtype VkPipelineShaderStageCreateFlagBits VkPipelineShaderStageCreateFlagBits :: VkFlags -> VkPipelineShaderStageCreateFlagBits newtype VkPipelineStageBitmask (a :: FlagType) VkPipelineStageBitmask :: VkFlags -> VkPipelineStageBitmask type VkPipelineStageFlags = VkPipelineStageBitmask FlagMask type VkPipelineStageFlagBits = VkPipelineStageBitmask FlagBit -- | Before subsequent commands are processed -- -- bitpos = 0 -- | Draw/DispatchIndirect command fetch -- -- bitpos = 1 -- | Vertex/index fetch -- -- bitpos = 2 -- | Vertex shading -- -- bitpos = 3 -- | Tessellation control shading -- -- bitpos = 4 -- | Tessellation evaluation shading -- -- bitpos = 5 -- | Geometry shading -- -- bitpos = 6 -- | Fragment shading -- -- bitpos = 7 -- | Early fragment (depth and stencil) tests -- -- bitpos = 8 -- | Late fragment (depth and stencil) tests -- -- bitpos = 9 -- | Color attachment writes -- -- bitpos = 10 -- | Compute shading -- -- bitpos = 11 -- | Transfer/copy operations -- -- bitpos = 12 -- | After previous commands have completed -- -- bitpos = 13 -- | Indicates host (CPU) is a source/sink of the dependency -- -- bitpos = 14 -- | All stages of the graphics pipeline -- -- bitpos = 15 -- | All stages supported on the queue -- -- bitpos = 16 newtype VkPipelineTessellationStateCreateFlagBits VkPipelineTessellationStateCreateFlagBits :: VkFlags -> VkPipelineTessellationStateCreateFlagBits newtype VkPipelineVertexInputStateCreateFlagBits VkPipelineVertexInputStateCreateFlagBits :: VkFlags -> VkPipelineVertexInputStateCreateFlagBits newtype VkPipelineViewportStateCreateFlagBits VkPipelineViewportStateCreateFlagBits :: VkFlags -> VkPipelineViewportStateCreateFlagBits -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope -- |
--   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                  messageType,
--       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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   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 data VkAllocationCallbacks VkAllocationCallbacks# :: Addr# -> ByteArray# -> VkAllocationCallbacks type VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION = 1 type VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME = "VK_KHR_descriptor_update_template" -- | 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 instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateDescriptorUpdateTemplateKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroyDescriptorUpdateTemplateKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkUpdateDescriptorSetWithTemplateKHR" module Graphics.Vulkan.Ext.VK_KHR_sampler_ycbcr_conversion -- |
--   typedef struct VkBindBufferMemoryDeviceGroupInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       uint32_t         deviceIndexCount;
--       const uint32_t*  pDeviceIndices;
--   } VkBindBufferMemoryDeviceGroupInfo;
--   
-- -- VkBindBufferMemoryDeviceGroupInfo registry at www.khronos.org data VkBindBufferMemoryDeviceGroupInfo VkBindBufferMemoryDeviceGroupInfo# :: Addr# -> ByteArray# -> 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 data VkBindBufferMemoryInfo VkBindBufferMemoryInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemoryDeviceGroupInfo VkBindImageMemoryDeviceGroupInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemoryInfo VkBindImageMemoryInfo# :: Addr# -> ByteArray# -> 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 data VkBindImageMemorySwapchainInfoKHR VkBindImageMemorySwapchainInfoKHR# :: Addr# -> ByteArray# -> VkBindImageMemorySwapchainInfoKHR -- |
--   typedef struct VkBindImagePlaneMemoryInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkBindImagePlaneMemoryInfo;
--   
-- -- VkBindImagePlaneMemoryInfo registry at www.khronos.org data VkBindImagePlaneMemoryInfo VkBindImagePlaneMemoryInfo# :: Addr# -> ByteArray# -> VkBindImagePlaneMemoryInfo -- | Alias for VkBindImagePlaneMemoryInfo type VkBindImagePlaneMemoryInfoKHR = VkBindImagePlaneMemoryInfo -- |
--   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 data VkBindSparseInfo VkBindSparseInfo# :: Addr# -> ByteArray# -> VkBindSparseInfo -- | type = enum -- -- VkChromaLocation registry at www.khronos.org newtype VkChromaLocation VkChromaLocation :: Int32 -> VkChromaLocation newtype VkChromaLocationKHR VkChromaLocationKHR :: VkFlags -> VkChromaLocationKHR -- |
--   typedef struct VkImageBlit {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffsets[2];
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffsets[2];
--   } VkImageBlit;
--   
-- -- VkImageBlit registry at www.khronos.org data VkImageBlit VkImageBlit# :: Addr# -> ByteArray# -> VkImageBlit -- |
--   typedef struct VkImageCopy {
--       VkImageSubresourceLayers srcSubresource;
--       VkOffset3D             srcOffset;
--       VkImageSubresourceLayers dstSubresource;
--       VkOffset3D             dstOffset;
--       VkExtent3D             extent;
--   } VkImageCopy;
--   
-- -- VkImageCopy registry at www.khronos.org data VkImageCopy VkImageCopy# :: Addr# -> ByteArray# -> 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 data VkImageCreateInfo VkImageCreateInfo# :: Addr# -> ByteArray# -> VkImageCreateInfo -- |
--   typedef struct VkImageFormatListCreateInfoKHR {
--       VkStructureType sType;
--       const void*            pNext;
--       uint32_t               viewFormatCount;
--       const VkFormat*      pViewFormats;
--   } VkImageFormatListCreateInfoKHR;
--   
-- -- VkImageFormatListCreateInfoKHR registry at www.khronos.org data VkImageFormatListCreateInfoKHR VkImageFormatListCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageFormatListCreateInfoKHR -- |
--   typedef struct VkImageFormatProperties {
--       VkExtent3D             maxExtent;
--       uint32_t               maxMipLevels;
--       uint32_t               maxArrayLayers;
--       VkSampleCountFlags     sampleCounts;
--       VkDeviceSize           maxResourceSize;
--   } VkImageFormatProperties;
--   
-- -- VkImageFormatProperties registry at www.khronos.org data VkImageFormatProperties VkImageFormatProperties# :: Addr# -> ByteArray# -> VkImageFormatProperties -- |
--   typedef struct VkImageFormatProperties2 {
--       VkStructureType sType;
--       void* pNext;
--       VkImageFormatProperties          imageFormatProperties;
--   } VkImageFormatProperties2;
--   
-- -- VkImageFormatProperties2 registry at www.khronos.org data VkImageFormatProperties2 VkImageFormatProperties2# :: Addr# -> ByteArray# -> 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 data VkImageMemoryBarrier VkImageMemoryBarrier# :: Addr# -> ByteArray# -> VkImageMemoryBarrier -- |
--   typedef struct VkImageMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageMemoryRequirementsInfo2;
--   
-- -- VkImageMemoryRequirementsInfo2 registry at www.khronos.org data VkImageMemoryRequirementsInfo2 VkImageMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageMemoryRequirementsInfo2 -- | Alias for VkImageMemoryRequirementsInfo2 type VkImageMemoryRequirementsInfo2KHR = VkImageMemoryRequirementsInfo2 -- |
--   typedef struct VkImagePlaneMemoryRequirementsInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkImageAspectFlagBits            planeAspect;
--   } VkImagePlaneMemoryRequirementsInfo;
--   
-- -- VkImagePlaneMemoryRequirementsInfo registry at www.khronos.org data VkImagePlaneMemoryRequirementsInfo VkImagePlaneMemoryRequirementsInfo# :: Addr# -> ByteArray# -> 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 data VkImageResolve VkImageResolve# :: Addr# -> ByteArray# -> VkImageResolve -- |
--   typedef struct VkImageSparseMemoryRequirementsInfo2 {
--       VkStructureType sType;
--       const void*                                                          pNext;
--       VkImage                                                              image;
--   } VkImageSparseMemoryRequirementsInfo2;
--   
-- -- VkImageSparseMemoryRequirementsInfo2 registry at -- www.khronos.org data VkImageSparseMemoryRequirementsInfo2 VkImageSparseMemoryRequirementsInfo2# :: Addr# -> ByteArray# -> VkImageSparseMemoryRequirementsInfo2 -- | Alias for VkImageSparseMemoryRequirementsInfo2 type VkImageSparseMemoryRequirementsInfo2KHR = VkImageSparseMemoryRequirementsInfo2 -- |
--   typedef struct VkImageSubresource {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               arrayLayer;
--   } VkImageSubresource;
--   
-- -- VkImageSubresource registry at www.khronos.org data VkImageSubresource VkImageSubresource# :: Addr# -> ByteArray# -> VkImageSubresource -- |
--   typedef struct VkImageSubresourceLayers {
--       VkImageAspectFlags     aspectMask;
--       uint32_t               mipLevel;
--       uint32_t               baseArrayLayer;
--       uint32_t               layerCount;
--   } VkImageSubresourceLayers;
--   
-- -- VkImageSubresourceLayers registry at www.khronos.org data VkImageSubresourceLayers VkImageSubresourceLayers# :: Addr# -> ByteArray# -> 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 data VkImageSubresourceRange VkImageSubresourceRange# :: Addr# -> ByteArray# -> VkImageSubresourceRange -- |
--   typedef struct VkImageSwapchainCreateInfoKHR {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSwapchainKHR   swapchain;
--   } VkImageSwapchainCreateInfoKHR;
--   
-- -- VkImageSwapchainCreateInfoKHR registry at www.khronos.org data VkImageSwapchainCreateInfoKHR VkImageSwapchainCreateInfoKHR# :: Addr# -> ByteArray# -> VkImageSwapchainCreateInfoKHR -- |
--   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 data VkImageViewCreateInfo VkImageViewCreateInfo# :: Addr# -> ByteArray# -> VkImageViewCreateInfo -- |
--   typedef struct VkImageViewUsageCreateInfo {
--       VkStructureType sType;
--       const void* pNext;
--       VkImageUsageFlags usage;
--   } VkImageViewUsageCreateInfo;
--   
-- -- VkImageViewUsageCreateInfo registry at www.khronos.org data VkImageViewUsageCreateInfo VkImageViewUsageCreateInfo# :: Addr# -> ByteArray# -> VkImageViewUsageCreateInfo -- | Alias for VkImageViewUsageCreateInfo type VkImageViewUsageCreateInfoKHR = VkImageViewUsageCreateInfo -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- |
--   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 data VkSamplerCreateInfo VkSamplerCreateInfo# :: Addr# -> ByteArray# -> VkSamplerCreateInfo -- |
--   typedef struct VkSamplerReductionModeCreateInfoEXT {
--       VkStructureType sType;
--       const void*            pNext;
--       VkSamplerReductionModeEXT reductionMode;
--   } VkSamplerReductionModeCreateInfoEXT;
--   
-- -- VkSamplerReductionModeCreateInfoEXT registry at www.khronos.org data VkSamplerReductionModeCreateInfoEXT VkSamplerReductionModeCreateInfoEXT# :: Addr# -> ByteArray# -> VkSamplerReductionModeCreateInfoEXT -- |
--   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 data VkSamplerYcbcrConversionCreateInfo VkSamplerYcbcrConversionCreateInfo# :: Addr# -> ByteArray# -> VkSamplerYcbcrConversionCreateInfo -- | Alias for VkSamplerYcbcrConversionCreateInfo type VkSamplerYcbcrConversionCreateInfoKHR = VkSamplerYcbcrConversionCreateInfo -- |
--   typedef struct VkSamplerYcbcrConversionImageFormatProperties {
--       VkStructureType sType;
--       void*      pNext;
--       uint32_t                         combinedImageSamplerDescriptorCount;
--   } VkSamplerYcbcrConversionImageFormatProperties;
--   
-- -- VkSamplerYcbcrConversionImageFormatProperties registry at -- www.khronos.org data VkSamplerYcbcrConversionImageFormatProperties VkSamplerYcbcrConversionImageFormatProperties# :: Addr# -> ByteArray# -> VkSamplerYcbcrConversionImageFormatProperties -- | Alias for VkSamplerYcbcrConversionImageFormatProperties type VkSamplerYcbcrConversionImageFormatPropertiesKHR = VkSamplerYcbcrConversionImageFormatProperties -- |
--   typedef struct VkSamplerYcbcrConversionInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkSamplerYcbcrConversion      conversion;
--   } VkSamplerYcbcrConversionInfo;
--   
-- -- VkSamplerYcbcrConversionInfo registry at www.khronos.org data VkSamplerYcbcrConversionInfo VkSamplerYcbcrConversionInfo# :: Addr# -> ByteArray# -> VkSamplerYcbcrConversionInfo -- | Alias for VkSamplerYcbcrConversionInfo type VkSamplerYcbcrConversionInfoKHR = VkSamplerYcbcrConversionInfo -- | type = enum -- -- VkSamplerAddressMode registry at www.khronos.org newtype VkSamplerAddressMode VkSamplerAddressMode :: Int32 -> VkSamplerAddressMode newtype VkSamplerCreateFlagBits VkSamplerCreateFlagBits :: VkFlags -> VkSamplerCreateFlagBits -- | type = enum -- -- VkSamplerMipmapMode registry at www.khronos.org newtype VkSamplerMipmapMode VkSamplerMipmapMode :: Int32 -> VkSamplerMipmapMode -- | Choose nearest mip level -- | Linear filter between mip levels -- | type = enum -- -- VkSamplerReductionModeEXT registry at www.khronos.org newtype VkSamplerReductionModeEXT VkSamplerReductionModeEXT :: Int32 -> VkSamplerReductionModeEXT -- | type = enum -- -- VkSamplerYcbcrModelConversion registry at www.khronos.org newtype VkSamplerYcbcrModelConversion VkSamplerYcbcrModelConversion :: Int32 -> VkSamplerYcbcrModelConversion -- | just range expansion -- | aka HD YUV -- | aka SD YUV -- | aka UHD YUV newtype VkSamplerYcbcrModelConversionKHR VkSamplerYcbcrModelConversionKHR :: VkFlags -> VkSamplerYcbcrModelConversionKHR -- | 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) -- | Luma 0..1 maps to 16..235, chroma -0.5..0.5 to 16..240 newtype VkSamplerYcbcrRangeKHR VkSamplerYcbcrRangeKHR :: VkFlags -> VkSamplerYcbcrRangeKHR type VkCreateSamplerYcbcrConversionKHR = "vkCreateSamplerYcbcrConversionKHR" -- | 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" -- | 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 newtype VkBool32 VkBool32 :: Word32 -> VkBool32 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 -- | type = enum -- -- VkFilter registry at www.khronos.org newtype VkFilter VkFilter :: Int32 -> VkFilter -- | Vulkan format definitions -- -- type = enum -- -- VkFormat registry at www.khronos.org newtype VkFormat VkFormat :: Int32 -> VkFormat newtype VkFormatFeatureBitmask (a :: FlagType) VkFormatFeatureBitmask :: VkFlags -> VkFormatFeatureBitmask type VkFormatFeatureFlags = VkFormatFeatureBitmask FlagMask type VkFormatFeatureFlagBits = VkFormatFeatureBitmask FlagBit -- | Format can be used for sampled images (SAMPLED_IMAGE and -- COMBINED_IMAGE_SAMPLER descriptor types) -- -- bitpos = 0 -- | Format can be used for storage images (STORAGE_IMAGE descriptor type) -- -- bitpos = 1 -- | Format supports atomic operations in case it is used for storage -- images -- -- bitpos = 2 -- | Format can be used for uniform texel buffers (TBOs) -- -- bitpos = 3 -- | Format can be used for storage texel buffers (IBOs) -- -- bitpos = 4 -- | Format supports atomic operations in case it is used for storage texel -- buffers -- -- bitpos = 5 -- | Format can be used for vertex buffers (VBOs) -- -- bitpos = 6 -- | Format can be used for color attachment images -- -- bitpos = 7 -- | Format supports blending in case it is used for color attachment -- images -- -- bitpos = 8 -- | Format can be used for depth/stencil attachment images -- -- bitpos = 9 -- | Format can be used as the source image of blits with vkCmdBlitImage -- -- bitpos = 10 -- | Format can be used as the destination image of blits with -- vkCmdBlitImage -- -- bitpos = 11 -- | Format can be filtered with VK_FILTER_LINEAR when being sampled -- -- bitpos = 12 -- | type = enum -- -- VkInternalAllocationType registry at www.khronos.org newtype VkInternalAllocationType VkInternalAllocationType :: Int32 -> VkInternalAllocationType -- | API result codes -- -- type = enum -- -- VkResult registry at www.khronos.org newtype VkResult VkResult :: Int32 -> VkResult -- | Command completed successfully -- | A fence or query has not yet completed -- | A wait operation has not completed in the specified time -- | An event is signaled -- | An event is unsignaled -- | A return array was too small for the result -- | A host memory allocation has failed -- | A device memory allocation has failed -- | Initialization of a object has failed -- | The logical device has been lost. See -- | Mapping of a memory object has failed -- | Layer specified does not exist -- | Extension specified does not exist -- | Requested feature is not available on this device -- | Unable to find a Vulkan driver -- | Too many objects of the type have already been created -- | Requested format is not supported on this device -- | A requested pool allocation has failed due to fragmentation of the -- pool's memory -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs -- | type = enum -- -- VkSystemAllocationScope registry at www.khronos.org newtype VkSystemAllocationScope VkSystemAllocationScope :: Int32 -> VkSystemAllocationScope -- |
--   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                  messageType,
--       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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 -- |
--   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 data VkAllocationCallbacks VkAllocationCallbacks# :: Addr# -> ByteArray# -> VkAllocationCallbacks -- |
--   typedef struct VkComponentMapping {
--       VkComponentSwizzle r;
--       VkComponentSwizzle g;
--       VkComponentSwizzle b;
--       VkComponentSwizzle a;
--   } VkComponentMapping;
--   
-- -- VkComponentMapping registry at www.khronos.org data VkComponentMapping VkComponentMapping# :: Addr# -> ByteArray# -> VkComponentMapping type VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION = 1 type VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME = "VK_KHR_sampler_ycbcr_conversion" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkCreateSamplerYcbcrConversionKHR" instance Graphics.Vulkan.Marshal.Proc.VulkanProc "vkDestroySamplerYcbcrConversionKHR" module Graphics.Vulkan.Ext.VK_KHR_variable_pointers -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT type VK_KHR_VARIABLE_POINTERS_SPEC_VERSION = 1 type VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME = "VK_KHR_variable_pointers" module Graphics.Vulkan.Ext.VK_NVX_multiview_per_view_attributes newtype VkBool32 VkBool32 :: Word32 -> VkBool32 newtype VkDeviceSize VkDeviceSize :: Word64 -> VkDeviceSize newtype VkFlags VkFlags :: Word32 -> VkFlags newtype VkSampleMask VkSampleMask :: Word32 -> VkSampleMask -- |
--   typedef struct VkPhysicalDevice16BitStorageFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         storageBuffer16BitAccess;
--       VkBool32                         uniformAndStorageBuffer16BitAccess;
--       VkBool32                         storagePushConstant16;
--       VkBool32                         storageInputOutput16;
--   } VkPhysicalDevice16BitStorageFeatures;
--   
-- -- VkPhysicalDevice16BitStorageFeatures registry at -- www.khronos.org data VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures# :: Addr# -> ByteArray# -> VkPhysicalDevice16BitStorageFeatures -- | Alias for VkPhysicalDevice16BitStorageFeatures type VkPhysicalDevice16BitStorageFeaturesKHR = VkPhysicalDevice16BitStorageFeatures -- |
--   typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         advancedBlendCoherentOperations;
--   } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--   
-- -- VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT -- |
--   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 data VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceConservativeRasterizationPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingFeaturesEXT -- |
--   typedef struct VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--       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;
--   } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--   
-- -- VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDescriptorIndexingPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxDiscardRectangles;
--   } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--   
-- -- VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceDiscardRectanglePropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalBufferInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkBufferCreateFlags flags;
--       VkBufferUsageFlags               usage;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalBufferInfo;
--   
-- -- VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org data VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalBufferInfo -- | Alias for VkPhysicalDeviceExternalBufferInfo type VkPhysicalDeviceExternalBufferInfoKHR = VkPhysicalDeviceExternalBufferInfo -- |
--   typedef struct VkPhysicalDeviceExternalFenceInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalFenceHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalFenceInfo;
--   
-- -- VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org data VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalFenceInfo -- | Alias for VkPhysicalDeviceExternalFenceInfo type VkPhysicalDeviceExternalFenceInfoKHR = VkPhysicalDeviceExternalFenceInfo -- |
--   typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalMemoryHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalImageFormatInfo;
--   
-- -- VkPhysicalDeviceExternalImageFormatInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalImageFormatInfo -- | Alias for VkPhysicalDeviceExternalImageFormatInfo type VkPhysicalDeviceExternalImageFormatInfoKHR = VkPhysicalDeviceExternalImageFormatInfo -- |
--   typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--       VkStructureType sType;
--       void* pNext;
--       VkDeviceSize minImportedHostPointerAlignment;
--   } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--   
-- -- VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalMemoryHostPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--       VkStructureType sType;
--       const void*                      pNext;
--       VkExternalSemaphoreHandleTypeFlagBits handleType;
--   } VkPhysicalDeviceExternalSemaphoreInfo;
--   
-- -- VkPhysicalDeviceExternalSemaphoreInfo registry at -- www.khronos.org data VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo# :: Addr# -> ByteArray# -> VkPhysicalDeviceExternalSemaphoreInfo -- | Alias for VkPhysicalDeviceExternalSemaphoreInfo type VkPhysicalDeviceExternalSemaphoreInfoKHR = VkPhysicalDeviceExternalSemaphoreInfo -- |
--   typedef struct VkPhysicalDeviceFeatures2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceFeatures         features;
--   } VkPhysicalDeviceFeatures2;
--   
-- -- VkPhysicalDeviceFeatures2 registry at www.khronos.org data VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2# :: Addr# -> ByteArray# -> VkPhysicalDeviceFeatures2 -- | Alias for VkPhysicalDeviceFeatures2 type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2 -- |
--   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 data VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceGroupProperties -- | Alias for VkPhysicalDeviceGroupProperties type VkPhysicalDeviceGroupPropertiesKHR = VkPhysicalDeviceGroupProperties -- |
--   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 data VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceIDProperties -- | Alias for VkPhysicalDeviceIDProperties type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties -- |
--   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 data VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2# :: Addr# -> ByteArray# -> VkPhysicalDeviceImageFormatInfo2 -- | Alias for VkPhysicalDeviceImageFormatInfo2 type VkPhysicalDeviceImageFormatInfo2KHR = VkPhysicalDeviceImageFormatInfo2 -- |
--   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 data VkPhysicalDeviceLimits VkPhysicalDeviceLimits# :: Addr# -> ByteArray# -> VkPhysicalDeviceLimits -- |
--   typedef struct VkPhysicalDeviceMaintenance3Properties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPerSetDescriptors;
--       VkDeviceSize                     maxMemoryAllocationSize;
--   } VkPhysicalDeviceMaintenance3Properties;
--   
-- -- VkPhysicalDeviceMaintenance3Properties registry at -- www.khronos.org data VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMaintenance3Properties -- | Alias for VkPhysicalDeviceMaintenance3Properties type VkPhysicalDeviceMaintenance3PropertiesKHR = VkPhysicalDeviceMaintenance3Properties -- |
--   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 data VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties -- |
--   typedef struct VkPhysicalDeviceMemoryProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceMemoryProperties memoryProperties;
--   } VkPhysicalDeviceMemoryProperties2;
--   
-- -- VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org data VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceMemoryProperties2 -- | Alias for VkPhysicalDeviceMemoryProperties2 type VkPhysicalDeviceMemoryProperties2KHR = VkPhysicalDeviceMemoryProperties2 -- |
--   typedef struct VkPhysicalDeviceMultiviewFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         multiview;
--       VkBool32                         multiviewGeometryShader;
--       VkBool32                         multiviewTessellationShader;
--   } VkPhysicalDeviceMultiviewFeatures;
--   
-- -- VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org data VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewFeatures -- | Alias for VkPhysicalDeviceMultiviewFeatures type VkPhysicalDeviceMultiviewFeaturesKHR = VkPhysicalDeviceMultiviewFeatures -- |
--   typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         perViewPositionAllComponents;
--   } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--   
-- -- VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at -- www.khronos.org data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX -- |
--   typedef struct VkPhysicalDeviceMultiviewProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxMultiviewViewCount;
--       uint32_t                         maxMultiviewInstanceIndex;
--   } VkPhysicalDeviceMultiviewProperties;
--   
-- -- VkPhysicalDeviceMultiviewProperties registry at www.khronos.org data VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceMultiviewProperties -- | Alias for VkPhysicalDeviceMultiviewProperties type VkPhysicalDeviceMultiviewPropertiesKHR = VkPhysicalDeviceMultiviewProperties -- |
--   typedef struct VkPhysicalDevicePointClippingProperties {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPointClippingBehavior      pointClippingBehavior;
--   } VkPhysicalDevicePointClippingProperties;
--   
-- -- VkPhysicalDevicePointClippingProperties registry at -- www.khronos.org data VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties# :: Addr# -> ByteArray# -> VkPhysicalDevicePointClippingProperties -- | Alias for VkPhysicalDevicePointClippingProperties type VkPhysicalDevicePointClippingPropertiesKHR = VkPhysicalDevicePointClippingProperties -- |
--   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 data VkPhysicalDeviceProperties VkPhysicalDeviceProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties -- |
--   typedef struct VkPhysicalDeviceProperties2 {
--       VkStructureType sType;
--       void*                            pNext;
--       VkPhysicalDeviceProperties       properties;
--   } VkPhysicalDeviceProperties2;
--   
-- -- VkPhysicalDeviceProperties2 registry at www.khronos.org data VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2# :: Addr# -> ByteArray# -> VkPhysicalDeviceProperties2 -- | Alias for VkPhysicalDeviceProperties2 type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2 -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedMemory;
--   } VkPhysicalDeviceProtectedMemoryFeatures;
--   
-- -- VkPhysicalDeviceProtectedMemoryFeatures registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryFeatures -- |
--   typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--       VkStructureType sType;
--       void*                               pNext;
--       VkBool32                            protectedNoFault;
--   } VkPhysicalDeviceProtectedMemoryProperties;
--   
-- -- VkPhysicalDeviceProtectedMemoryProperties registry at -- www.khronos.org data VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceProtectedMemoryProperties -- |
--   typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--       VkStructureType sType;
--       void*                            pNext;
--       uint32_t                         maxPushDescriptors;
--   } VkPhysicalDevicePushDescriptorPropertiesKHR;
--   
-- -- VkPhysicalDevicePushDescriptorPropertiesKHR registry at -- www.khronos.org data VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR# :: Addr# -> ByteArray# -> VkPhysicalDevicePushDescriptorPropertiesKHR -- |
--   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 data VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSampleLocationsPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       VkBool32               filterMinmaxSingleComponentFormats;
--       VkBool32               filterMinmaxImageComponentMapping;
--   } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--   
-- -- VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT -- |
--   typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--       VkStructureType sType;
--       void*      pNext;
--       VkBool32                         samplerYcbcrConversion;
--   } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--   
-- -- VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at -- www.khronos.org data VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceSamplerYcbcrConversionFeatures -- | Alias for VkPhysicalDeviceSamplerYcbcrConversionFeatures type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR = VkPhysicalDeviceSamplerYcbcrConversionFeatures -- |
--   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 data VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderCorePropertiesAMD -- |
--   typedef struct VkPhysicalDeviceShaderDrawParameterFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         shaderDrawParameters;
--   } VkPhysicalDeviceShaderDrawParameterFeatures;
--   
-- -- VkPhysicalDeviceShaderDrawParameterFeatures registry at -- www.khronos.org data VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceShaderDrawParameterFeatures -- |
--   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 data VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2# :: Addr# -> ByteArray# -> 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 data VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSparseProperties -- |
--   typedef struct VkPhysicalDeviceSubgroupProperties {
--       VkStructureType sType;
--       void*                   pNext;
--       uint32_t                      subgroupSize;
--       VkShaderStageFlags            supportedStages;
--       VkSubgroupFeatureFlags        supportedOperations;
--       VkBool32 quadOperationsInAllStages;
--   } VkPhysicalDeviceSubgroupProperties;
--   
-- -- VkPhysicalDeviceSubgroupProperties registry at www.khronos.org data VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties# :: Addr# -> ByteArray# -> VkPhysicalDeviceSubgroupProperties -- |
--   typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--       VkStructureType sType;
--       const void* pNext;
--       VkSurfaceKHR surface;
--   } VkPhysicalDeviceSurfaceInfo2KHR;
--   
-- -- VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org data VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR# :: Addr# -> ByteArray# -> VkPhysicalDeviceSurfaceInfo2KHR -- |
--   typedef struct VkPhysicalDeviceVariablePointerFeatures {
--       VkStructureType sType;
--       void*                            pNext;
--       VkBool32                         variablePointersStorageBuffer;
--       VkBool32                         variablePointers;
--   } VkPhysicalDeviceVariablePointerFeatures;
--   
-- -- VkPhysicalDeviceVariablePointerFeatures registry at -- www.khronos.org data VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures# :: Addr# -> ByteArray# -> VkPhysicalDeviceVariablePointerFeatures -- | Alias for VkPhysicalDeviceVariablePointerFeatures type VkPhysicalDeviceVariablePointerFeaturesKHR = VkPhysicalDeviceVariablePointerFeatures -- |
--   typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--       VkStructureType sType;
--       void*                  pNext;
--       uint32_t               maxVertexAttribDivisor;
--   } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--   
-- -- VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at -- www.khronos.org data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT# :: Addr# -> ByteArray# -> VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT -- | type = enum -- -- VkPhysicalDeviceType registry at www.khronos.org newtype VkPhysicalDeviceType VkPhysicalDeviceType :: Int32 -> VkPhysicalDeviceType newtype VkSampleCountBitmask (a :: FlagType) VkSampleCountBitmask :: VkFlags -> VkSampleCountBitmask type VkSampleCountFlags = VkSampleCountBitmask FlagMask type VkSampleCountFlagBits = VkSampleCountBitmask FlagBit -- | Sample count 1 supported -- -- bitpos = 0 -- | Sample count 2 supported -- -- bitpos = 1 -- | Sample count 4 supported -- -- bitpos = 2 -- | Sample count 8 supported -- -- bitpos = 3 -- | Sample count 16 supported -- -- bitpos = 4 -- | Sample count 32 supported -- -- bitpos = 5 -- | Sample count 64 supported -- -- bitpos = 6 -- | Structure type enumerant -- -- type = enum -- -- VkStructureType registry at www.khronos.org newtype VkStructureType VkStructureType :: Int32 -> VkStructureType -- | Reserved for internal use by the loader, layers, and ICDs -- | Reserved for internal use by the loader, layers, and ICDs type VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION = 1 type VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME = "VK_NVX_multiview_per_view_attributes" -- | bitpos = 0 -- | bitpos = 1 module Graphics.Vulkan.Ext -- | 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 -- |
--   struct AHardwareBuffer;
--   
data AHardwareBuffer -- |
--   struct ANativeWindow;
--   
data ANativeWindow 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
--   
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
--   
-- | 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 = 74 -- |
--   // Version of this file
--   #define VK_HEADER_VERSION 74
--   
-- |
--   #define VK_MAKE_VERSION(major, minor, patch) --   >     (((major) << 22) | ((minor) << 12) | (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
--   
-- |
--   #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                  messageType,
--       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 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 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 VkIndirectCommandsLayoutNVX = VkPtr VkIndirectCommandsLayoutNVX_T -- | Opaque data type referenced by VkIndirectCommandsLayoutNVX data VkIndirectCommandsLayoutNVX_T type VkInstance = Ptr VkInstance_T -- | Opaque data type referenced by VkInstance data VkInstance_T type VkObjectTableNVX = VkPtr VkObjectTableNVX_T -- | Opaque data type referenced by VkObjectTableNVX data VkObjectTableNVX_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 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 windows.h type HANDLE = Ptr () -- | Requires windows.h type HINSTANCE = Ptr () -- | Requires windows.h type HWND = Ptr () -- | Requires windows.h type LPCWSTR = Ptr CWchar -- | Requires mir_toolkit/client_types.h data MirConnection -- | Requires mir_toolkit/client_types.h data MirSurface -- | 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