From de7dc62d6880d0446256f92ca53ebe093c806081 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sat, 21 Apr 2018 16:12:07 +0800 Subject: [PATCH 01/16] Move pandoc patches to subdirectory --- generate/default.nix | 6 +++--- generate/{ => pandoc-patches}/pandoc-haddock-math.patch | 0 generate/{ => pandoc-patches}/pandoc-haddock-table.patch | 0 generate/{ => pandoc-patches}/pandoc-math.patch | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename generate/{ => pandoc-patches}/pandoc-haddock-math.patch (100%) rename generate/{ => pandoc-patches}/pandoc-haddock-table.patch (100%) rename generate/{ => pandoc-patches}/pandoc-math.patch (100%) diff --git a/generate/default.nix b/generate/default.nix index 54050ad0..ab2b03b8 100644 --- a/generate/default.nix +++ b/generate/default.nix @@ -15,9 +15,9 @@ let overrides = self: super: { pandoc = pkgs.haskell.lib.appendPatches super.pandoc_2_1_2 - [ ./pandoc-math.patch - ./pandoc-haddock-math.patch - ./pandoc-haddock-table.patch + [ ./pandoc-patches/pandoc-math.patch + ./pandoc-patches/pandoc-haddock-math.patch + ./pandoc-patches/pandoc-haddock-table.patch ]; }; }; diff --git a/generate/pandoc-haddock-math.patch b/generate/pandoc-patches/pandoc-haddock-math.patch similarity index 100% rename from generate/pandoc-haddock-math.patch rename to generate/pandoc-patches/pandoc-haddock-math.patch diff --git a/generate/pandoc-haddock-table.patch b/generate/pandoc-patches/pandoc-haddock-table.patch similarity index 100% rename from generate/pandoc-haddock-table.patch rename to generate/pandoc-patches/pandoc-haddock-table.patch diff --git a/generate/pandoc-math.patch b/generate/pandoc-patches/pandoc-math.patch similarity index 100% rename from generate/pandoc-math.patch rename to generate/pandoc-patches/pandoc-math.patch From 69553b9f1660669964f621386370a4cc4875a9d7 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 00:57:34 +0800 Subject: [PATCH 02/16] Some more utils in Text Extra --- generate/src/Data/Text/Extra.hs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/generate/src/Data/Text/Extra.hs b/generate/src/Data/Text/Extra.hs index 2b6df1d0..81f46b88 100644 --- a/generate/src/Data/Text/Extra.hs +++ b/generate/src/Data/Text/Extra.hs @@ -8,12 +8,15 @@ module Data.Text.Extra , tShow , pattern Cons , upperCaseFirst + , lowerCaseFirst , dropPrefix + , dropPrefix' , (<+>) , module Data.Text ) where import Data.Char +import Data.Maybe import Data.Semigroup import Data.String (IsString) import Data.Text @@ -31,6 +34,9 @@ tShow = pack . show upperCaseFirst :: Text -> Text upperCaseFirst = onFirst Data.Char.toUpper +lowerCaseFirst :: Text -> Text +lowerCaseFirst = onFirst Data.Char.toLower + onFirst :: (Char -> Char) -> Text -> Text onFirst f = \case Cons c cs -> Cons (f c) cs @@ -45,5 +51,8 @@ dropPrefix prefix s = if prefix `T.isPrefixOf` s then Just (T.drop (T.length prefix) s) else Nothing +dropPrefix' :: Text -> Text -> Text +dropPrefix' prefix s = fromMaybe s (dropPrefix prefix s) + (<+>) :: (IsString a, Semigroup a) => a -> a -> a a <+> b = a <> " " <> b From cff05fb664f4f3cff1c30b542ce8a15d6c273506 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 00:59:21 +0800 Subject: [PATCH 03/16] Add command level --- generate/src/Spec/Savvy/Command.hs | 57 ++++++++++++++++++++++++------ generate/src/Spec/Savvy/Handle.hs | 2 ++ generate/src/Spec/Savvy/Spec.hs | 2 +- 3 files changed, 50 insertions(+), 11 deletions(-) diff --git a/generate/src/Spec/Savvy/Command.hs b/generate/src/Spec/Savvy/Command.hs index 4fe02e7f..335b4641 100644 --- a/generate/src/Spec/Savvy/Command.hs +++ b/generate/src/Spec/Savvy/Command.hs @@ -1,33 +1,42 @@ -{-# LANGUAGE ApplicativeDo #-} -{-# LANGUAGE LambdaCase #-} -{-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE ApplicativeDo #-} +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE RecordWildCards #-} module Spec.Savvy.Command ( Command(..) , Parameter(..) + , CommandLevel(..) , specCommands , commandType , lowerArrayToPointer ) where +import Control.Arrow +import Control.Monad import Data.Closure import Data.Either.Validation +import Data.Foldable +import qualified Data.Map as Map import qualified Data.MultiMap as MultiMap import Data.Text import Data.Traversable + import qualified Spec.Command as P import Spec.Savvy.Error +import Spec.Savvy.Handle import Spec.Savvy.Type import qualified Spec.Spec as P data Command = Command - { cName :: Text - , cReturnType :: Type - , cParameters :: [Parameter] - , cComment :: Maybe Text - , cAliases :: [Text] + { cName :: Text + , cReturnType :: Type + , cParameters :: [Parameter] + , cComment :: Maybe Text + , cAliases :: [Text] -- ^ The closure of aliases to this command, doesn't include aliases in -- extensions + , cCommandLevel :: Maybe CommandLevel } deriving (Show) @@ -37,14 +46,25 @@ data Parameter = Parameter } deriving (Show) -specCommands :: TypeParseContext -> P.Spec -> Validation [SpecError] [Command] -specCommands pc P.Spec {..} +-- | The "level" of a command, related to what it is dispatched from. +-- +-- Some commands are part of no level such as vkCreateInstance +data CommandLevel + = Instance + | PhysicalDevice + | Device + deriving (Show, Eq) + +specCommands :: TypeParseContext -> P.Spec -> [Handle] -> Validation [SpecError] [Command] +specCommands pc P.Spec {..} handles = let commandAliases :: [(Text, Text)] commandAliases = [ (caAlias, caName) | P.CommandAlias {..} <- sCommandAliases ] aliasMap :: MultiMap.MultiMap Text Text aliasMap = MultiMap.fromList commandAliases + commandLevel' :: [Parameter] -> Maybe CommandLevel + commandLevel' = commandLevel handles in for sCommands $ \P.Command {..} -> do ret <- eitherToValidation $ stringToTypeExpected pc cName cReturnType @@ -54,6 +74,7 @@ specCommands pc P.Spec {..} pure $ let cAliases = closeNonReflexive (`MultiMap.lookup` aliasMap) [cName] + cCommandLevel = commandLevel' ps in Command {cReturnType = ret, cParameters = ps, ..} commandType :: Command -> Type @@ -65,3 +86,19 @@ lowerArrayToPointer :: Type -> Type lowerArrayToPointer = \case Array _ t -> Ptr t t -> t + +commandLevel :: [Handle] -> [Parameter] -> Maybe CommandLevel +commandLevel handles = + let handleMap :: Text -> Maybe Handle + handleMap = (`Map.lookup` Map.fromList ((hName &&& id) <$> handles)) + handleLevel :: Text -> Maybe CommandLevel + handleLevel = \case + "VkInstance" -> Just Instance + "VkPhysicalDevice" -> Just PhysicalDevice + "VkDevice" -> Just Device + handleName -> do + h <- handleMap handleName + asum $ handleLevel <$> hParents h + in \case + Parameter _ (TypeName n) : _ -> handleLevel n + _ -> Nothing diff --git a/generate/src/Spec/Savvy/Handle.hs b/generate/src/Spec/Savvy/Handle.hs index b7bd17ee..2073df56 100644 --- a/generate/src/Spec/Savvy/Handle.hs +++ b/generate/src/Spec/Savvy/Handle.hs @@ -22,6 +22,7 @@ data Handle = Handle { hName :: Text , hType :: Type , hAliases :: [Text] + , hParents :: [Text] } deriving (Show) @@ -54,6 +55,7 @@ specHandles preprocess pc P.Spec {..} = $ Handle htName <$> (stringToTypeExpected pc' htName =<< preprocess htType) <*> pure (getAliases htName) + <*> pure htParents | P.HandleType {..} <- parsedHandles ] diff --git a/generate/src/Spec/Savvy/Spec.hs b/generate/src/Spec/Savvy/Spec.hs index 66ce8607..e90915af 100644 --- a/generate/src/Spec/Savvy/Spec.hs +++ b/generate/src/Spec/Savvy/Spec.hs @@ -89,7 +89,7 @@ spec s = do ) (sCommands, sStructs) <- - validationToEither $ (,) <$> specCommands pc s <*> specStructs tc s + validationToEither $ (,) <$> specCommands pc s sHandles <*> specStructs tc s sAliases <- validationToEither $ specAliases s sCommands sEnums sHandles sStructs sConstants requirements From 1dc6bed9b12fb1590c74a6aec5a7d1581a112efc Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 01:00:12 +0800 Subject: [PATCH 04/16] Add reexport information WriteElement --- generate/src/Write/Alias.hs | 8 +++++ generate/src/Write/BaseType.hs | 2 ++ generate/src/Write/Bespoke.hs | 10 ++++++ generate/src/Write/Command.hs | 2 ++ generate/src/Write/Constant.hs | 2 ++ generate/src/Write/ConstantExtension.hs | 2 ++ generate/src/Write/Element.hs | 44 ++++++++++++++++--------- generate/src/Write/EnumExtension.hs | 2 ++ generate/src/Write/Handle.hs | 2 ++ generate/src/Write/HeaderVersion.hs | 2 ++ generate/src/Write/Struct.hs | 4 +++ generate/src/Write/Type/Enum.hs | 2 ++ generate/src/Write/Type/FuncPointer.hs | 8 +++-- 13 files changed, 71 insertions(+), 19 deletions(-) diff --git a/generate/src/Write/Alias.hs b/generate/src/Write/Alias.hs index 1aa925b8..69db9d86 100644 --- a/generate/src/Write/Alias.hs +++ b/generate/src/Write/Alias.hs @@ -56,6 +56,8 @@ writeValueAlias getType alias@Alias{..} = eitherToValidation $ do weName = "Value Alias: " <> aName weProvides = [Term aName] weDepends = [TermName aAliasName] ++ typeDepends (getType target) + weReexports = [] + weReexportable = [] pure WriteElement {..} writePatternAlias @@ -75,6 +77,8 @@ writePatternAlias getType alias@Alias{..} = eitherToValidation $ do weName = "Pattern Alias: " <> aName weProvides = [Pattern aName] weDepends = PatternName aAliasName : typeDepends (getType target) + weReexports = [] + weReexportable = [] pure WriteElement {..} writeTypeAlias @@ -90,6 +94,8 @@ writeTypeAlias Alias{..} = weName = "Type Alias: " <> aName weProvides = [TypeAlias aName] weDepends = [WE.TypeName aAliasName] + weReexports = [] + weReexportable = [] in WriteElement {..} writeStructPatternAlias :: Alias Struct -> Validation [SpecError] WriteElement @@ -110,6 +116,8 @@ writeStructPatternAlias alias@Alias{..} = eitherToValidation $ do weDepends = -- This is not correct if we have a struct alias of a struct alias [WE.TypeName aAliasName] ++ (typeDepends . smType =<< sMembers) + weReexports = [] + weReexportable = [] pure WriteElement {..} writeConstantAlias :: Alias APIConstant -> Validation [SpecError] WriteElement diff --git a/generate/src/Write/BaseType.hs b/generate/src/Write/BaseType.hs index 17824c95..7cce8795 100644 --- a/generate/src/Write/BaseType.hs +++ b/generate/src/Write/BaseType.hs @@ -25,6 +25,8 @@ writeBaseType bt@BaseType {..} = do let weName = "BaseType: " <> btName weProvides = [TypeAlias btName] weDepends = typeDepends btType + weReexports = [] + weReexportable = [] pure WriteElement {..} hDoc :: BaseType -> Either [SpecError] (DocMap -> Doc (), [Import], [Text]) diff --git a/generate/src/Write/Bespoke.hs b/generate/src/Write/Bespoke.hs index 91a8ecb7..d498b352 100644 --- a/generate/src/Write/Bespoke.hs +++ b/generate/src/Write/Bespoke.hs @@ -30,6 +30,8 @@ namedType = weName = "NamedType" weProvides = [ TypeAlias "(:::)" ] weDepends = [] + weReexports = [] + weReexportable = [] in WriteElement{..} versions :: WriteElement @@ -74,6 +76,8 @@ versions = , Term "_VK_VERSION_PATCH" ] weDepends = [] + weReexports = [] + weReexportable = [] in WriteElement{..} nullHandle :: WriteElement @@ -89,6 +93,8 @@ nullHandle = weName = "Null handle" weProvides = [Pattern "VK_NULL_HANDLE"] weDepends = [] + weReexports = [] + weReexportable = [] in WriteElement{..} bools :: WriteElement @@ -114,6 +120,8 @@ voidDataWriteElement n = weName = n weProvides = [WithoutConstructors (TypeName n)] weDepends = [] + weReexports = [] + weReexportable = [] in WriteElement{..} unitPtrAliasWriteElement :: Text -> WriteElement @@ -167,6 +175,8 @@ newtypeOrTypeWriteElement decl n t is = then [WithConstructors (TypeName n)] else [WithoutConstructors (TypeName n)] weDepends = [] + weReexports = [] + weReexportable = [] in WriteElement{..} win32 :: [WriteElement] diff --git a/generate/src/Write/Command.hs b/generate/src/Write/Command.hs index a5a55fda..51b9b38c 100644 --- a/generate/src/Write/Command.hs +++ b/generate/src/Write/Command.hs @@ -41,6 +41,8 @@ writeCommand getEnumName fp@Command {..} = do | TypeName n <- protoDepends , Just e <- [getEnumName n] ] + weReexports = [] + weReexportable = [] pure WriteElement {..} commandDoc :: Command -> Either [SpecError] (DocMap -> Doc (), [Import], [Text]) diff --git a/generate/src/Write/Constant.hs b/generate/src/Write/Constant.hs index 63c96d05..16a1eca8 100644 --- a/generate/src/Write/Constant.hs +++ b/generate/src/Write/Constant.hs @@ -22,6 +22,8 @@ writeAPIConstant ac@APIConstant {..} = let weName = "APIConstant: " <> acName weDoc = constantDoc ac weDepends = [] + weReexports = [] + weReexportable = [] in case acValue of IntegralValue _ -> let weExtensions = ["PatternSynonyms", "DataKinds"] diff --git a/generate/src/Write/ConstantExtension.hs b/generate/src/Write/ConstantExtension.hs index f794294c..c845d447 100644 --- a/generate/src/Write/ConstantExtension.hs +++ b/generate/src/Write/ConstantExtension.hs @@ -38,6 +38,8 @@ writeConstantExtension getEnumerantEnumName ce@ConstantExtension {..} = , TypeName (fromMaybe (error (show n)) (getEnumerantEnumName n)) ] _ -> [] + weReexports = [] + weReexportable = [] in WriteElement {..} constantExtensionDoc diff --git a/generate/src/Write/Element.hs b/generate/src/Write/Element.hs index bdb435c0..e2247184 100644 --- a/generate/src/Write/Element.hs +++ b/generate/src/Write/Element.hs @@ -21,16 +21,21 @@ import Documentation import Documentation.Haddock data WriteElement = WriteElement - { weName :: Text + { weName :: Text -- ^ For debug purposes - , weExtensions :: [Text] - , weImports :: [Import] + , weExtensions :: [Text] + , weImports :: [Import] -- ^ "system" imports - , weDoc :: DocMap -> Doc () - , weProvides :: [Export] + , weDoc :: DocMap -> Doc () + , weProvides :: [Export] -- ^ The names this element declares - , weDepends :: [HaskellName] + , weDepends :: [HaskellName] -- ^ Other Vulkan names to expose + , weReexports :: [Export] + -- ^ Things this module should reexport from another module + , weReexportable :: [Export] + -- ^ Things this module exports which shouldn't take place in module + -- partitioning } data Export @@ -56,20 +61,27 @@ pattern TypeConstructor n = WithConstructors (TypeName n) pattern TypeAlias :: Text -> Export pattern TypeAlias n = WithoutConstructors (TypeName n) -data Import = Import - { iModule :: Text - , iImports :: [Text] - } +data Import + = Import + { iModule :: Text + , iImports :: [Text] + } + | QualifiedImport + { iModule :: Text + , iImports :: [Text] + } deriving (Show, Eq, Ord) type DocMap = Documentee -> Maybe Haddock instance Semigroup WriteElement where we1 <> we2 = WriteElement - { weName = weName we1 <> " and " <> weName we2 - , weDoc = (\d -> vcat [weDoc we1 d, line, weDoc we2 d]) - , weExtensions = weExtensions we1 <> weExtensions we2 - , weImports = weImports we1 <> weImports we2 - , weProvides = weProvides we1 <> weProvides we2 - , weDepends = weDepends we1 <> weDepends we2 + { weName = weName we1 <> " and " <> weName we2 + , weDoc = (\d -> vcat [weDoc we1 d, line, weDoc we2 d]) + , weExtensions = weExtensions we1 <> weExtensions we2 + , weImports = weImports we1 <> weImports we2 + , weProvides = weProvides we1 <> weProvides we2 + , weDepends = weDepends we1 <> weDepends we2 + , weReexports = weReexports we1 <> weReexports we2 + , weReexportable = weReexportable we1 <> weReexportable we2 } diff --git a/generate/src/Write/EnumExtension.hs b/generate/src/Write/EnumExtension.hs index 254d7ace..1645dcae 100644 --- a/generate/src/Write/EnumExtension.hs +++ b/generate/src/Write/EnumExtension.hs @@ -33,6 +33,8 @@ writeEnumExtension enumName e@EnumExtension {..} = weProvides = [Pattern exName] -- TODO: add the enum type to the depends weDepends = [TypeName enumName] + weReexports = [] + weReexportable = [] in WriteElement {..} enumExtensionDoc :: Text -> EnumExtension -> DocMap -> Doc () diff --git a/generate/src/Write/Handle.hs b/generate/src/Write/Handle.hs index 32aa3a6b..03919673 100644 --- a/generate/src/Write/Handle.hs +++ b/generate/src/Write/Handle.hs @@ -25,6 +25,8 @@ writeHandle h@Handle {..} = do weExtensions = [] weImports = [Import "Foreign.Ptr" ["Ptr"]] weDepends = [] + weReexports = [] + weReexportable = [] pure WriteElement {..} hDoc :: Handle -> Either [SpecError] (DocMap -> Doc ()) diff --git a/generate/src/Write/HeaderVersion.hs b/generate/src/Write/HeaderVersion.hs index 3bcdb5ca..e57c860b 100644 --- a/generate/src/Write/HeaderVersion.hs +++ b/generate/src/Write/HeaderVersion.hs @@ -24,4 +24,6 @@ writeHeaderVersion version = weName = "Header Version" weProvides = [Pattern "VK_HEADER_VERSION"] weDepends = [] + weReexports = [] + weReexportable = [] in WriteElement{..} diff --git a/generate/src/Write/Struct.hs b/generate/src/Write/Struct.hs index 13b33617..ed33794c 100644 --- a/generate/src/Write/Struct.hs +++ b/generate/src/Write/Struct.hs @@ -39,6 +39,8 @@ writeStruct s@Struct {..} = case sStructOrUnion of ] weProvides = [TypeConstructor sName, Term sName] weDepends = nubOrd (concatMap (typeDepends . smType) sMembers) + weReexports = [] + weReexportable = [] pure WriteElement {..} AUnion -> do (weDoc, imports, extensions) <- unionDoc s @@ -52,6 +54,8 @@ writeStruct s@Struct {..} = case sStructOrUnion of ] weProvides = TypeConstructor sName : (Term <$> smNames) weDepends = nubOrd $ concatMap (typeDepends . smType) sMembers + weReexports = [] + weReexportable = [] pure WriteElement {..} ---------------------------------------------------------------- diff --git a/generate/src/Write/Type/Enum.hs b/generate/src/Write/Type/Enum.hs index af22000f..5978d892 100644 --- a/generate/src/Write/Type/Enum.hs +++ b/generate/src/Write/Type/Enum.hs @@ -48,6 +48,8 @@ writeEnum e@Enum {..} = weDepends = case eType of EnumTypeEnum -> [] EnumTypeBitmask -> [TypeName "VkFlags"] + weReexports = [] + weReexportable = [] in WriteElement {..} enumDoc :: Enum -> DocMap -> Doc () diff --git a/generate/src/Write/Type/FuncPointer.hs b/generate/src/Write/Type/FuncPointer.hs index c5f973b4..ebfe2867 100644 --- a/generate/src/Write/Type/FuncPointer.hs +++ b/generate/src/Write/Type/FuncPointer.hs @@ -22,9 +22,11 @@ import Write.Util writeFuncPointer :: FuncPointer -> Either [SpecError] WriteElement writeFuncPointer fp@FuncPointer {..} = do (weDoc, weImports, weExtensions) <- fpDoc fp - let weName = "FuncPointer: " <> fpName - weProvides = [TypeAlias fpName] - weDepends = typeDepends fpType + let weName = "FuncPointer: " <> fpName + weProvides = [TypeAlias fpName] + weDepends = typeDepends fpType + weReexports = [] + weReexportable = [] pure WriteElement {..} fpDoc :: FuncPointer -> Either [SpecError] (DocMap -> Doc (), [Import], [Text]) From 6350304e0ffd644e73a7628f68c5ec864227f200 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 01:00:31 +0800 Subject: [PATCH 05/16] Revert "Add reexport information WriteElement" This reverts commit 1dc6bed9b12fb1590c74a6aec5a7d1581a112efc. --- generate/src/Write/Alias.hs | 8 ----- generate/src/Write/BaseType.hs | 2 -- generate/src/Write/Bespoke.hs | 10 ------ generate/src/Write/Command.hs | 2 -- generate/src/Write/Constant.hs | 2 -- generate/src/Write/ConstantExtension.hs | 2 -- generate/src/Write/Element.hs | 44 +++++++++---------------- generate/src/Write/EnumExtension.hs | 2 -- generate/src/Write/Handle.hs | 2 -- generate/src/Write/HeaderVersion.hs | 2 -- generate/src/Write/Struct.hs | 4 --- generate/src/Write/Type/Enum.hs | 2 -- generate/src/Write/Type/FuncPointer.hs | 8 ++--- 13 files changed, 19 insertions(+), 71 deletions(-) diff --git a/generate/src/Write/Alias.hs b/generate/src/Write/Alias.hs index 69db9d86..1aa925b8 100644 --- a/generate/src/Write/Alias.hs +++ b/generate/src/Write/Alias.hs @@ -56,8 +56,6 @@ writeValueAlias getType alias@Alias{..} = eitherToValidation $ do weName = "Value Alias: " <> aName weProvides = [Term aName] weDepends = [TermName aAliasName] ++ typeDepends (getType target) - weReexports = [] - weReexportable = [] pure WriteElement {..} writePatternAlias @@ -77,8 +75,6 @@ writePatternAlias getType alias@Alias{..} = eitherToValidation $ do weName = "Pattern Alias: " <> aName weProvides = [Pattern aName] weDepends = PatternName aAliasName : typeDepends (getType target) - weReexports = [] - weReexportable = [] pure WriteElement {..} writeTypeAlias @@ -94,8 +90,6 @@ writeTypeAlias Alias{..} = weName = "Type Alias: " <> aName weProvides = [TypeAlias aName] weDepends = [WE.TypeName aAliasName] - weReexports = [] - weReexportable = [] in WriteElement {..} writeStructPatternAlias :: Alias Struct -> Validation [SpecError] WriteElement @@ -116,8 +110,6 @@ writeStructPatternAlias alias@Alias{..} = eitherToValidation $ do weDepends = -- This is not correct if we have a struct alias of a struct alias [WE.TypeName aAliasName] ++ (typeDepends . smType =<< sMembers) - weReexports = [] - weReexportable = [] pure WriteElement {..} writeConstantAlias :: Alias APIConstant -> Validation [SpecError] WriteElement diff --git a/generate/src/Write/BaseType.hs b/generate/src/Write/BaseType.hs index 7cce8795..17824c95 100644 --- a/generate/src/Write/BaseType.hs +++ b/generate/src/Write/BaseType.hs @@ -25,8 +25,6 @@ writeBaseType bt@BaseType {..} = do let weName = "BaseType: " <> btName weProvides = [TypeAlias btName] weDepends = typeDepends btType - weReexports = [] - weReexportable = [] pure WriteElement {..} hDoc :: BaseType -> Either [SpecError] (DocMap -> Doc (), [Import], [Text]) diff --git a/generate/src/Write/Bespoke.hs b/generate/src/Write/Bespoke.hs index d498b352..91a8ecb7 100644 --- a/generate/src/Write/Bespoke.hs +++ b/generate/src/Write/Bespoke.hs @@ -30,8 +30,6 @@ namedType = weName = "NamedType" weProvides = [ TypeAlias "(:::)" ] weDepends = [] - weReexports = [] - weReexportable = [] in WriteElement{..} versions :: WriteElement @@ -76,8 +74,6 @@ versions = , Term "_VK_VERSION_PATCH" ] weDepends = [] - weReexports = [] - weReexportable = [] in WriteElement{..} nullHandle :: WriteElement @@ -93,8 +89,6 @@ nullHandle = weName = "Null handle" weProvides = [Pattern "VK_NULL_HANDLE"] weDepends = [] - weReexports = [] - weReexportable = [] in WriteElement{..} bools :: WriteElement @@ -120,8 +114,6 @@ voidDataWriteElement n = weName = n weProvides = [WithoutConstructors (TypeName n)] weDepends = [] - weReexports = [] - weReexportable = [] in WriteElement{..} unitPtrAliasWriteElement :: Text -> WriteElement @@ -175,8 +167,6 @@ newtypeOrTypeWriteElement decl n t is = then [WithConstructors (TypeName n)] else [WithoutConstructors (TypeName n)] weDepends = [] - weReexports = [] - weReexportable = [] in WriteElement{..} win32 :: [WriteElement] diff --git a/generate/src/Write/Command.hs b/generate/src/Write/Command.hs index 51b9b38c..a5a55fda 100644 --- a/generate/src/Write/Command.hs +++ b/generate/src/Write/Command.hs @@ -41,8 +41,6 @@ writeCommand getEnumName fp@Command {..} = do | TypeName n <- protoDepends , Just e <- [getEnumName n] ] - weReexports = [] - weReexportable = [] pure WriteElement {..} commandDoc :: Command -> Either [SpecError] (DocMap -> Doc (), [Import], [Text]) diff --git a/generate/src/Write/Constant.hs b/generate/src/Write/Constant.hs index 16a1eca8..63c96d05 100644 --- a/generate/src/Write/Constant.hs +++ b/generate/src/Write/Constant.hs @@ -22,8 +22,6 @@ writeAPIConstant ac@APIConstant {..} = let weName = "APIConstant: " <> acName weDoc = constantDoc ac weDepends = [] - weReexports = [] - weReexportable = [] in case acValue of IntegralValue _ -> let weExtensions = ["PatternSynonyms", "DataKinds"] diff --git a/generate/src/Write/ConstantExtension.hs b/generate/src/Write/ConstantExtension.hs index c845d447..f794294c 100644 --- a/generate/src/Write/ConstantExtension.hs +++ b/generate/src/Write/ConstantExtension.hs @@ -38,8 +38,6 @@ writeConstantExtension getEnumerantEnumName ce@ConstantExtension {..} = , TypeName (fromMaybe (error (show n)) (getEnumerantEnumName n)) ] _ -> [] - weReexports = [] - weReexportable = [] in WriteElement {..} constantExtensionDoc diff --git a/generate/src/Write/Element.hs b/generate/src/Write/Element.hs index e2247184..bdb435c0 100644 --- a/generate/src/Write/Element.hs +++ b/generate/src/Write/Element.hs @@ -21,21 +21,16 @@ import Documentation import Documentation.Haddock data WriteElement = WriteElement - { weName :: Text + { weName :: Text -- ^ For debug purposes - , weExtensions :: [Text] - , weImports :: [Import] + , weExtensions :: [Text] + , weImports :: [Import] -- ^ "system" imports - , weDoc :: DocMap -> Doc () - , weProvides :: [Export] + , weDoc :: DocMap -> Doc () + , weProvides :: [Export] -- ^ The names this element declares - , weDepends :: [HaskellName] + , weDepends :: [HaskellName] -- ^ Other Vulkan names to expose - , weReexports :: [Export] - -- ^ Things this module should reexport from another module - , weReexportable :: [Export] - -- ^ Things this module exports which shouldn't take place in module - -- partitioning } data Export @@ -61,27 +56,20 @@ pattern TypeConstructor n = WithConstructors (TypeName n) pattern TypeAlias :: Text -> Export pattern TypeAlias n = WithoutConstructors (TypeName n) -data Import - = Import - { iModule :: Text - , iImports :: [Text] - } - | QualifiedImport - { iModule :: Text - , iImports :: [Text] - } +data Import = Import + { iModule :: Text + , iImports :: [Text] + } deriving (Show, Eq, Ord) type DocMap = Documentee -> Maybe Haddock instance Semigroup WriteElement where we1 <> we2 = WriteElement - { weName = weName we1 <> " and " <> weName we2 - , weDoc = (\d -> vcat [weDoc we1 d, line, weDoc we2 d]) - , weExtensions = weExtensions we1 <> weExtensions we2 - , weImports = weImports we1 <> weImports we2 - , weProvides = weProvides we1 <> weProvides we2 - , weDepends = weDepends we1 <> weDepends we2 - , weReexports = weReexports we1 <> weReexports we2 - , weReexportable = weReexportable we1 <> weReexportable we2 + { weName = weName we1 <> " and " <> weName we2 + , weDoc = (\d -> vcat [weDoc we1 d, line, weDoc we2 d]) + , weExtensions = weExtensions we1 <> weExtensions we2 + , weImports = weImports we1 <> weImports we2 + , weProvides = weProvides we1 <> weProvides we2 + , weDepends = weDepends we1 <> weDepends we2 } diff --git a/generate/src/Write/EnumExtension.hs b/generate/src/Write/EnumExtension.hs index 1645dcae..254d7ace 100644 --- a/generate/src/Write/EnumExtension.hs +++ b/generate/src/Write/EnumExtension.hs @@ -33,8 +33,6 @@ writeEnumExtension enumName e@EnumExtension {..} = weProvides = [Pattern exName] -- TODO: add the enum type to the depends weDepends = [TypeName enumName] - weReexports = [] - weReexportable = [] in WriteElement {..} enumExtensionDoc :: Text -> EnumExtension -> DocMap -> Doc () diff --git a/generate/src/Write/Handle.hs b/generate/src/Write/Handle.hs index 03919673..32aa3a6b 100644 --- a/generate/src/Write/Handle.hs +++ b/generate/src/Write/Handle.hs @@ -25,8 +25,6 @@ writeHandle h@Handle {..} = do weExtensions = [] weImports = [Import "Foreign.Ptr" ["Ptr"]] weDepends = [] - weReexports = [] - weReexportable = [] pure WriteElement {..} hDoc :: Handle -> Either [SpecError] (DocMap -> Doc ()) diff --git a/generate/src/Write/HeaderVersion.hs b/generate/src/Write/HeaderVersion.hs index e57c860b..3bcdb5ca 100644 --- a/generate/src/Write/HeaderVersion.hs +++ b/generate/src/Write/HeaderVersion.hs @@ -24,6 +24,4 @@ writeHeaderVersion version = weName = "Header Version" weProvides = [Pattern "VK_HEADER_VERSION"] weDepends = [] - weReexports = [] - weReexportable = [] in WriteElement{..} diff --git a/generate/src/Write/Struct.hs b/generate/src/Write/Struct.hs index ed33794c..13b33617 100644 --- a/generate/src/Write/Struct.hs +++ b/generate/src/Write/Struct.hs @@ -39,8 +39,6 @@ writeStruct s@Struct {..} = case sStructOrUnion of ] weProvides = [TypeConstructor sName, Term sName] weDepends = nubOrd (concatMap (typeDepends . smType) sMembers) - weReexports = [] - weReexportable = [] pure WriteElement {..} AUnion -> do (weDoc, imports, extensions) <- unionDoc s @@ -54,8 +52,6 @@ writeStruct s@Struct {..} = case sStructOrUnion of ] weProvides = TypeConstructor sName : (Term <$> smNames) weDepends = nubOrd $ concatMap (typeDepends . smType) sMembers - weReexports = [] - weReexportable = [] pure WriteElement {..} ---------------------------------------------------------------- diff --git a/generate/src/Write/Type/Enum.hs b/generate/src/Write/Type/Enum.hs index 5978d892..af22000f 100644 --- a/generate/src/Write/Type/Enum.hs +++ b/generate/src/Write/Type/Enum.hs @@ -48,8 +48,6 @@ writeEnum e@Enum {..} = weDepends = case eType of EnumTypeEnum -> [] EnumTypeBitmask -> [TypeName "VkFlags"] - weReexports = [] - weReexportable = [] in WriteElement {..} enumDoc :: Enum -> DocMap -> Doc () diff --git a/generate/src/Write/Type/FuncPointer.hs b/generate/src/Write/Type/FuncPointer.hs index ebfe2867..c5f973b4 100644 --- a/generate/src/Write/Type/FuncPointer.hs +++ b/generate/src/Write/Type/FuncPointer.hs @@ -22,11 +22,9 @@ import Write.Util writeFuncPointer :: FuncPointer -> Either [SpecError] WriteElement writeFuncPointer fp@FuncPointer {..} = do (weDoc, weImports, weExtensions) <- fpDoc fp - let weName = "FuncPointer: " <> fpName - weProvides = [TypeAlias fpName] - weDepends = typeDepends fpType - weReexports = [] - weReexportable = [] + let weName = "FuncPointer: " <> fpName + weProvides = [TypeAlias fpName] + weDepends = typeDepends fpType pure WriteElement {..} fpDoc :: FuncPointer -> Either [SpecError] (DocMap -> Doc (), [Import], [Text]) From 308ad6316305db75e2a328878801983035f81660 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 01:02:05 +0800 Subject: [PATCH 06/16] Allow qualified imports --- generate/src/Write/Element.hs | 13 +++++++++---- generate/src/Write/Module.hs | 22 +++++++++++++++------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/generate/src/Write/Element.hs b/generate/src/Write/Element.hs index bdb435c0..fa877947 100644 --- a/generate/src/Write/Element.hs +++ b/generate/src/Write/Element.hs @@ -56,10 +56,15 @@ pattern TypeConstructor n = WithConstructors (TypeName n) pattern TypeAlias :: Text -> Export pattern TypeAlias n = WithoutConstructors (TypeName n) -data Import = Import - { iModule :: Text - , iImports :: [Text] - } +data Import + = Import + { iModule :: Text + , iImports :: [Text] + } + | QualifiedImport + { iModule :: Text + , iImports :: [Text] + } deriving (Show, Eq, Ord) type DocMap = Documentee -> Maybe Haddock diff --git a/generate/src/Write/Module.hs b/generate/src/Write/Module.hs index 2cdb5f0e..cfda8c5e 100644 --- a/generate/src/Write/Module.hs +++ b/generate/src/Write/Module.hs @@ -142,13 +142,21 @@ isConstructor = \case _ -> False moduleImports :: Module -> [Doc ()] -moduleImports Module{..} = - let importMap = Map.fromListWith union ((iModule &&& iImports) <$> (weImports =<< mWriteElements)) - in Map.assocs importMap <&> \(moduleName, is) -> [qci| - import {pretty moduleName} - ( {indent (-2) . vcat . intercalatePrepend "," $ pretty <$> is} - ) - |] +moduleImports Module {..} = + let unqualifiedImportMap = Map.fromListWith + union + ((iModule &&& iImports) <$> [i | i@Import{} <- weImports =<< mWriteElements]) + qualifiedImportMap = Map.fromListWith + union + ((iModule &&& iImports) <$> [i | i@QualifiedImport{} <- weImports =<< mWriteElements]) + makeImport :: Doc () -> (Text, [Text]) -> Doc () + makeImport qualifier (moduleName, is) = [qci| + import{qualifier}{pretty moduleName} + ( {indent (-2) . vcat . intercalatePrepend "," $ pretty <$> is} + ) + |] + in (makeImport " " <$> Map.assocs unqualifiedImportMap) ++ + (makeImport " qualified " <$> Map.assocs qualifiedImportMap) findModuleHN :: [Module] -> HaskellName -> Maybe (Text, Export) findModuleHN ms = From 7dcdda943301e7db488ee59441a879ba7de13f34 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 01:02:44 +0800 Subject: [PATCH 07/16] Add dynamic loader module --- generate/src/Write/Loader.hs | 142 +++++++++++++++++++++++++++++++++++ generate/src/Write/Seed.hs | 7 +- generate/src/Write/Spec.hs | 3 + 3 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 generate/src/Write/Loader.hs diff --git a/generate/src/Write/Loader.hs b/generate/src/Write/Loader.hs new file mode 100644 index 00000000..cf4881d9 --- /dev/null +++ b/generate/src/Write/Loader.hs @@ -0,0 +1,142 @@ +{-# LANGUAGE ApplicativeDo #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE QuasiQuotes #-} +{-# LANGUAGE RecordWildCards #-} + +module Write.Loader + ( writeLoader + ) where + +import Data.Either.Validation +import Data.List.Extra +import Data.Text.Extra (Text) +import qualified Data.Text.Extra as T +import Data.Text.Prettyprint.Doc +import Prelude hiding (Enum) +import Text.InterpolatedString.Perl6.Unindented + +import Spec.Savvy.Command +import Spec.Savvy.Enum +import Spec.Savvy.Error +import Spec.Savvy.Type hiding (TypeName) +import Spec.Savvy.Type.Haskell +import Write.Element +import Write.Type.Enum +import Write.Util + +writeLoader :: (Text -> Maybe Text) -> [Command] -> Either [SpecError] WriteElement +writeLoader getEnumName commands = do + (weDoc, is, es) <- writeLoaderDoc commands + let weName = "Dynamic Function Pointer Loaders" + weExtensions = ["ForeignFunctionInterface", "MagicHash"] ++ es + weImports = + [ Import "Foreign.Ptr" ["FunPtr", "castPtrToFunPtr", "nullFunPtr"] + , QualifiedImport "GHC.Ptr" ["Ptr(..)"] + ] + ++ is + weProvides = [TypeConstructor, Term] <*> ["DeviceCmds", "InstanceCmds"] + weReexports = [] + weReexportable = [] + -- TODO: Write these like the imports and extensions, and move all that + -- to some writer monad. + weDepends = + nubOrd + $ [TermName "vkGetDeviceProcAddr", TermName "vkGetInstanceProcAddr"] + ++ (commandDepends getEnumName =<< commands) + pure WriteElement {..} + +writeLoaderDoc :: [Command] -> Either [SpecError] (DocMap -> Doc (), [Import], [Text]) +writeLoaderDoc commands = do + let deviceLevelCommands = + [ c | c <- commands, cCommandLevel c == Just Device ] + instanceLevelCommands = + [ c + | c <- commands + , cCommandLevel c `elem` [Just Instance, Just PhysicalDevice] + ] + (drs, is, es) <- unzip3 <$> traverseP writeRecordMember deviceLevelCommands + (dfs, is', es') <- unzip3 <$> traverseP (writeFunction "Device") deviceLevelCommands + (irs, is'', es'') <- + unzip3 <$> traverseP writeRecordMember instanceLevelCommands + (ifs, is''', es''') <- + unzip3 <$> traverseP (writeFunction "Instance") instanceLevelCommands + pure $ + let d = \_ -> [qci| + data DeviceCmds = DeviceCmds + \{ {indent (-2) . vcat . intercalatePrepend "," $ drs} + } + + data InstanceCmds = InstanceCmds + \{ {indent (-2) . vcat . intercalatePrepend "," $ irs} + } + + {initFunction "Device" deviceLevelCommands} + + {initFunction "Instance" instanceLevelCommands} + + {vcat $ hasFunction "Device" <$> deviceLevelCommands} + + {vcat $ hasFunction "Instance" <$> instanceLevelCommands} + + -- * Device commands + {vcat $ dfs} + + -- * Instance commands + {vcat $ ifs} + |] + in (d, concat $ concat [is, is', is'', is'''], concat $ concat [es, es', es'', es''']) + +hasFunction :: Text -> Command -> Doc () +hasFunction domain Command{..} = [qci| + has{T.upperCaseFirst $ dropVk cName} :: {domain}Cmds -> Bool + has{T.upperCaseFirst $ dropVk cName} = (/= nullFunPtr) . p{T.upperCaseFirst cName} + |] + +-- | The initialization function for a set of command pointers +initFunction :: Text -> [Command] -> Doc () +initFunction domain commands = [qci| + init{domain}Cmds :: Vk{domain} -> IO {domain}Cmds + init{domain}Cmds handle = {domain}Cmds + <$> {indent (-4) . vcat . intercalatePrepend "<*>" $ + initLine domain <$> commands} + |] + where + initLine :: Text -> Command -> Doc () + initLine domain Command{..} = [qci|(castPtrToFunPtr <$> vkGet{domain}ProcAddr handle (GHC.Ptr.Ptr "{cName}\NUL"#))|] + +writeRecordMember :: Command -> Either [SpecError] (Doc (), [Import], [Text]) +writeRecordMember c@Command{..} = do + (t, (is, es)) <- toHsTypePrec 10 (commandType c) + let d= [qci| + p{T.upperCaseFirst cName} :: FunPtr {t} + |] + pure (d, is, es) + +writeFunction :: Text -> Command -> Either [SpecError] (Doc (), [Import], [Text]) +writeFunction domain c@Command{..} = do + (t, (is, es)) <- toHsTypePrec 10 (commandType c) + let upperCaseName = T.upperCaseFirst cName + d= [qci| + {dropVk cName} :: {domain}Cmds -> {t} + {dropVk cName} deviceCmds = mk{upperCaseName} (p{upperCaseName} deviceCmds) + foreign import ccall unsafe "dynamic" mk{upperCaseName} + :: FunPtr {t} -> {t} + |] + pure (d, is, es) + +traverseP f xs = validationToEither $ traverse (eitherToValidation . f) xs + +dropVk :: Text -> Text +dropVk = T.lowerCaseFirst . T.dropPrefix' "vk" + +commandDepends :: (Text -> Maybe Text) -> Command -> [HaskellName] +commandDepends getEnumName Command {..} + = let protoDepends = typeDepends $ Proto + cReturnType + [ (Just n, lowerArrayToPointer t) | Parameter n t <- cParameters ] + in protoDepends + <> -- The constructors for an enum type need to be in scope + [ TypeName e + | TypeName n <- protoDepends + , Just e <- [getEnumName n] + ] diff --git a/generate/src/Write/Seed.hs b/generate/src/Write/Seed.hs index d03e3179..b94d701f 100644 --- a/generate/src/Write/Seed.hs +++ b/generate/src/Write/Seed.hs @@ -11,7 +11,7 @@ module Write.Seed import Control.Bool import Data.Char import Data.Text (Text) -import qualified Data.Text.Extra as T +import qualified Data.Text.Extra as T import Data.Text.Prettyprint.Doc import Text.Regex.Applicative @@ -28,6 +28,7 @@ specSeeds s = ++ featureToSeeds (vulkan10Feature (sFeatures s)) ++ featureToSeeds (vulkan11Feature (sFeatures s)) ++ (extensionToSeed <$> sExtensions s) + ++ [dynamicLoaderSeed] -- It's very important for this to come last bespokeSeeds :: [ModuleSeed] bespokeSeeds = @@ -46,6 +47,10 @@ bespokeSeeds = Nothing ] +dynamicLoaderSeed :: ModuleSeed +dynamicLoaderSeed = + ModuleSeed "Graphics.Vulkan.Dynamic" [TypeName "DeviceCmds"] Nothing + featureToSeeds :: Feature -> [ModuleSeed] featureToSeeds Feature {..} = [ ModuleSeed (toModuleName (featureModuleName fName) name) rRequiredNames Nothing diff --git a/generate/src/Write/Spec.hs b/generate/src/Write/Spec.hs index c4821d88..4a43f720 100644 --- a/generate/src/Write/Spec.hs +++ b/generate/src/Write/Spec.hs @@ -43,6 +43,7 @@ import Write.Element import Write.EnumExtension import Write.Handle import Write.HeaderVersion +import Write.Loader import Write.Module import Write.Module.Aggregate import Write.Partition @@ -142,6 +143,7 @@ specWriteElements Spec {..} = do wBaseTypes <- let isAllowedBaseType bt = btName bt /= "VkBool32" in eitherToValidation $ traverse writeBaseType (filter isAllowedBaseType sBaseTypes) + wLoader <- eitherToValidation $ writeLoader getEnumAliasTarget sCommands pure $ concat [ [wHeaderVersion] , bespokeWriteElements @@ -156,4 +158,5 @@ specWriteElements Spec {..} = do , wStructs , wAliases , wBaseTypes + , [wLoader] ] From 693feaf43b2f463fd45ae4a7a7b3b568c0ebbdbe Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 01:05:02 +0800 Subject: [PATCH 08/16] Regenerate source --- src/Graphics/Vulkan.hs | 2 + src/Graphics/Vulkan/Dynamic.hs | 2649 ++++++++++++++++++++++++++++++++ vulkan.cabal | 1 + 3 files changed, 2652 insertions(+) create mode 100644 src/Graphics/Vulkan/Dynamic.hs diff --git a/src/Graphics/Vulkan.hs b/src/Graphics/Vulkan.hs index 1fc780a1..f441d483 100644 --- a/src/Graphics/Vulkan.hs +++ b/src/Graphics/Vulkan.hs @@ -4,6 +4,7 @@ module Graphics.Vulkan ( module Graphics.Vulkan.NamedType + , module Graphics.Vulkan.Dynamic , module Graphics.Vulkan.Core10 , module Graphics.Vulkan.Core11 , module Graphics.Vulkan.Extensions @@ -11,6 +12,7 @@ module Graphics.Vulkan import Graphics.Vulkan.NamedType +import Graphics.Vulkan.Dynamic import Graphics.Vulkan.Core10 import Graphics.Vulkan.Core11 import Graphics.Vulkan.Extensions diff --git a/src/Graphics/Vulkan/Dynamic.hs b/src/Graphics/Vulkan/Dynamic.hs new file mode 100644 index 00000000..8b2cdf0d --- /dev/null +++ b/src/Graphics/Vulkan/Dynamic.hs @@ -0,0 +1,2649 @@ +{-# language Strict #-} +{-# language CPP #-} +{-# language ForeignFunctionInterface #-} +{-# language MagicHash #-} +{-# language DataKinds #-} +{-# language TypeOperators #-} + +module Graphics.Vulkan.Dynamic + ( DeviceCmds(..) + , InstanceCmds(..) + ) where + +import Data.Int + ( Int32 + ) +import Data.Word + ( Word32 + , Word64 + ) +import Foreign.C.Types + ( CChar(..) + , CSize(..) + , CInt(..) + , CFloat(..) + ) +import Foreign.Ptr + ( Ptr + , FunPtr + , castPtrToFunPtr + , nullFunPtr + ) +import Graphics.Vulkan.NamedType + ( (:::) + ) +import qualified GHC.Ptr + ( Ptr(..) + ) + + +import Graphics.Vulkan.Core10.Buffer + ( VkBufferCreateInfo(..) + ) +import Graphics.Vulkan.Core10.BufferView + ( VkBufferView + , VkBufferViewCreateInfo(..) + ) +import Graphics.Vulkan.Core10.CommandBuffer + ( VkQueryControlFlagBits(..) + , VkQueryControlFlags + , VkCommandBufferResetFlagBits(..) + , VkCommandBufferResetFlags + , VkCommandBufferBeginInfo(..) + , VkCommandBufferAllocateInfo(..) + ) +import Graphics.Vulkan.Core10.CommandBufferBuilding + ( VkSubpassContents(..) + , VkRenderPassBeginInfo(..) + , VkImageMemoryBarrier(..) + , VkBufferMemoryBarrier(..) + , VkMemoryBarrier(..) + , VkImageResolve(..) + , VkClearRect(..) + , VkClearAttachment(..) + , VkClearDepthStencilValue(..) + , VkClearColorValue(..) + , VkBufferImageCopy(..) + , VkImageBlit(..) + , VkImageCopy(..) + , VkBufferCopy(..) + , VkIndexType(..) + , VkStencilFaceFlagBits(..) + , VkStencilFaceFlags + ) +import Graphics.Vulkan.Core10.CommandPool + ( VkCommandPoolResetFlagBits(..) + , VkCommandPoolResetFlags + , VkCommandPool + , VkCommandPoolCreateInfo(..) + ) +import Graphics.Vulkan.Core10.Core + ( VkBool32(..) + , VkFormat(..) + , VkResult(..) + ) +import Graphics.Vulkan.Core10.DescriptorSet + ( VkCopyDescriptorSet(..) + , VkWriteDescriptorSet(..) + , VkDescriptorSet + , VkDescriptorSetAllocateInfo(..) + , VkDescriptorPoolResetFlags(..) + , VkDescriptorPool + , VkDescriptorPoolCreateInfo(..) + , VkDescriptorSetLayoutCreateInfo(..) + ) +import Graphics.Vulkan.Core10.Device + ( VkDeviceCreateInfo(..) + ) +import Graphics.Vulkan.Core10.DeviceInitialization + ( VkSampleCountFlagBits(..) + , VkDeviceSize + , VkImageCreateFlagBits(..) + , VkImageUsageFlagBits(..) + , VkImageFormatProperties(..) + , VkImageCreateFlags + , VkImageUsageFlags + , VkImageTiling(..) + , VkImageType(..) + , VkFormatProperties(..) + , VkPhysicalDeviceFeatures(..) + , VkPhysicalDeviceMemoryProperties(..) + , VkQueueFamilyProperties(..) + , VkPhysicalDeviceProperties(..) + , VkDevice + , PFN_vkVoidFunction + , VkPhysicalDevice + , VkInstance + , VkAllocationCallbacks(..) + , VkInstanceCreateInfo(..) + , vkGetInstanceProcAddr + , vkGetDeviceProcAddr + ) +import Graphics.Vulkan.Core10.Event + ( VkEvent + , VkEventCreateInfo(..) + ) +import Graphics.Vulkan.Core10.ExtensionDiscovery + ( VkExtensionProperties(..) + ) +import Graphics.Vulkan.Core10.Fence + ( VkFenceCreateInfo(..) + ) +import Graphics.Vulkan.Core10.Image + ( VkImageLayout(..) + , VkSubresourceLayout(..) + , VkImageCreateInfo(..) + ) +import Graphics.Vulkan.Core10.ImageView + ( VkImageSubresourceRange(..) + , VkImageView + , VkImageViewCreateInfo(..) + ) +import Graphics.Vulkan.Core10.LayerDiscovery + ( VkLayerProperties(..) + ) +import Graphics.Vulkan.Core10.Memory + ( VkMappedMemoryRange(..) + , VkMemoryMapFlags(..) + , VkDeviceMemory + , VkMemoryAllocateInfo(..) + ) +import Graphics.Vulkan.Core10.MemoryManagement + ( VkImage + , VkMemoryRequirements(..) + , VkBuffer + ) +import Graphics.Vulkan.Core10.Pass + ( VkDependencyFlagBits(..) + , VkDependencyFlags + , VkPipelineBindPoint(..) + , VkRenderPassCreateInfo(..) + , VkFramebuffer + , VkFramebufferCreateInfo(..) + ) +import Graphics.Vulkan.Core10.Pipeline + ( VkShaderStageFlagBits(..) + , VkRect2D(..) + , VkViewport(..) + , VkExtent2D(..) + , VkRenderPass + , VkPipelineLayout + , VkComputePipelineCreateInfo(..) + , VkPipeline + , VkGraphicsPipelineCreateInfo(..) + ) +import Graphics.Vulkan.Core10.PipelineCache + ( VkPipelineCache + , VkPipelineCacheCreateInfo(..) + ) +import Graphics.Vulkan.Core10.PipelineLayout + ( VkShaderStageFlags + , VkDescriptorSetLayout + , VkPipelineLayoutCreateInfo(..) + ) +import Graphics.Vulkan.Core10.Query + ( VkQueryResultFlagBits(..) + , VkQueryResultFlags + , VkQueryPool + , VkQueryPoolCreateInfo(..) + ) +import Graphics.Vulkan.Core10.Queue + ( VkPipelineStageFlagBits(..) + , VkPipelineStageFlags + , VkCommandBuffer + , VkSemaphore + , VkFence + , VkSubmitInfo(..) + , VkQueue + ) +import Graphics.Vulkan.Core10.QueueSemaphore + ( VkSemaphoreCreateInfo(..) + ) +import Graphics.Vulkan.Core10.Sampler + ( VkFilter(..) + , VkSampler + , VkSamplerCreateInfo(..) + ) +import Graphics.Vulkan.Core10.Shader + ( VkShaderModule + , VkShaderModuleCreateInfo(..) + ) +import Graphics.Vulkan.Core10.SparseResourceMemoryManagement + ( VkImageSubresource(..) + , VkBindSparseInfo(..) + , VkSparseImageFormatProperties(..) + , VkSparseImageMemoryRequirements(..) + ) +import Graphics.Vulkan.Core11.Promoted_From_VK_KHR_protected_memory + ( VkDeviceQueueInfo2(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_bind_memory2 + ( VkBindImageMemoryInfo(..) + , VkBindBufferMemoryInfo(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_descriptor_update_template + ( VkDescriptorUpdateTemplate + , VkDescriptorUpdateTemplateCreateInfo(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_device_group + ( VkPeerMemoryFeatureFlagBits(..) + , VkPeerMemoryFeatureFlags + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_device_group_creation + ( VkPhysicalDeviceGroupProperties(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_fence_capabilities + ( VkExternalFenceProperties(..) + , VkPhysicalDeviceExternalFenceInfo(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_memory_capabilities + ( VkExternalMemoryHandleTypeFlagBits(..) + , VkExternalBufferProperties(..) + , VkPhysicalDeviceExternalBufferInfo(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_semaphore_capabilities + ( VkExternalSemaphoreProperties(..) + , VkPhysicalDeviceExternalSemaphoreInfo(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_get_memory_requirements2 + ( VkSparseImageMemoryRequirements2(..) + , VkImageSparseMemoryRequirementsInfo2(..) + , VkImageMemoryRequirementsInfo2(..) + , VkMemoryRequirements2(..) + , VkBufferMemoryRequirementsInfo2(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_get_physical_device_properties2 + ( VkSparseImageFormatProperties2(..) + , VkPhysicalDeviceSparseImageFormatInfo2(..) + , VkPhysicalDeviceMemoryProperties2(..) + , VkQueueFamilyProperties2(..) + , VkImageFormatProperties2(..) + , VkPhysicalDeviceImageFormatInfo2(..) + , VkFormatProperties2(..) + , VkPhysicalDeviceProperties2(..) + , VkPhysicalDeviceFeatures2(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_maintenance1 + ( VkCommandPoolTrimFlags(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_maintenance3 + ( VkDescriptorSetLayoutSupport(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_sampler_ycbcr_conversion + ( VkSamplerYcbcrConversion + , VkSamplerYcbcrConversionCreateInfo(..) + ) +import Graphics.Vulkan.Extensions.VK_AMD_shader_info + ( VkShaderInfoTypeAMD(..) + ) +import Graphics.Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer + ( VkMemoryGetAndroidHardwareBufferInfoANDROID(..) + , VkAndroidHardwareBufferPropertiesANDROID(..) + , AHardwareBuffer + ) +import Graphics.Vulkan.Extensions.VK_EXT_acquire_xlib_display + ( RROutput + ) +import Graphics.Vulkan.Extensions.VK_EXT_debug_marker + ( VkDebugMarkerMarkerInfoEXT(..) + , VkDebugMarkerObjectTagInfoEXT(..) + , VkDebugMarkerObjectNameInfoEXT(..) + ) +import Graphics.Vulkan.Extensions.VK_EXT_debug_report + ( VkDebugReportFlagBitsEXT(..) + , VkDebugReportObjectTypeEXT(..) + , VkDebugReportFlagsEXT + , VkDebugReportCallbackEXT + , VkDebugReportCallbackCreateInfoEXT(..) + ) +import Graphics.Vulkan.Extensions.VK_EXT_debug_utils + ( VkDebugUtilsMessageTypeFlagBitsEXT(..) + , VkDebugUtilsMessengerCallbackDataEXT(..) + , VkDebugUtilsMessageTypeFlagsEXT + , VkDebugUtilsMessageSeverityFlagBitsEXT(..) + , VkDebugUtilsMessengerEXT + , VkDebugUtilsMessengerCreateInfoEXT(..) + , VkDebugUtilsLabelEXT(..) + , VkDebugUtilsObjectTagInfoEXT(..) + , VkDebugUtilsObjectNameInfoEXT(..) + ) +import Graphics.Vulkan.Extensions.VK_EXT_display_control + ( VkDisplayEventInfoEXT(..) + , VkDeviceEventInfoEXT(..) + , VkDisplayPowerInfoEXT(..) + ) +import Graphics.Vulkan.Extensions.VK_EXT_display_surface_counter + ( VkSurfaceCapabilities2EXT(..) + , VkSurfaceCounterFlagBitsEXT(..) + ) +import Graphics.Vulkan.Extensions.VK_EXT_external_memory_host + ( VkMemoryHostPointerPropertiesEXT(..) + ) +import Graphics.Vulkan.Extensions.VK_EXT_hdr_metadata + ( VkHdrMetadataEXT(..) + ) +import Graphics.Vulkan.Extensions.VK_EXT_sample_locations + ( VkMultisamplePropertiesEXT(..) + , VkSampleLocationsInfoEXT(..) + ) +import Graphics.Vulkan.Extensions.VK_EXT_validation_cache + ( VkValidationCacheEXT + , VkValidationCacheCreateInfoEXT(..) + ) +import Graphics.Vulkan.Extensions.VK_GOOGLE_display_timing + ( VkPastPresentationTimingGOOGLE(..) + , VkRefreshCycleDurationGOOGLE(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_android_surface + ( VkAndroidSurfaceCreateInfoKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_display + ( VkDisplaySurfaceCreateInfoKHR(..) + , VkDisplayPlaneCapabilitiesKHR(..) + , VkDisplayModeKHR + , VkDisplayModeCreateInfoKHR(..) + , VkDisplayModePropertiesKHR(..) + , VkDisplayKHR + , VkDisplayPlanePropertiesKHR(..) + , VkDisplayPropertiesKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_external_fence_fd + ( VkImportFenceFdInfoKHR(..) + , VkFenceGetFdInfoKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_external_fence_win32 + ( VkImportFenceWin32HandleInfoKHR(..) + , VkFenceGetWin32HandleInfoKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd + ( VkMemoryFdPropertiesKHR(..) + , VkMemoryGetFdInfoKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_external_memory_win32 + ( VkMemoryWin32HandlePropertiesKHR(..) + , VkMemoryGetWin32HandleInfoKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_external_semaphore_fd + ( VkImportSemaphoreFdInfoKHR(..) + , VkSemaphoreGetFdInfoKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_external_semaphore_win32 + ( VkImportSemaphoreWin32HandleInfoKHR(..) + , VkSemaphoreGetWin32HandleInfoKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_get_surface_capabilities2 + ( VkSurfaceFormat2KHR(..) + , VkSurfaceCapabilities2KHR(..) + , VkPhysicalDeviceSurfaceInfo2KHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_mir_surface + ( MirConnection + , VkMirSurfaceCreateInfoKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_surface + ( VkPresentModeKHR(..) + , VkSurfaceFormatKHR(..) + , VkSurfaceCapabilitiesKHR(..) + , VkSurfaceKHR + ) +import Graphics.Vulkan.Extensions.VK_KHR_swapchain + ( VkAcquireNextImageInfoKHR(..) + , VkDeviceGroupPresentModeFlagBitsKHR(..) + , VkDeviceGroupPresentModeFlagsKHR + , VkDeviceGroupPresentCapabilitiesKHR(..) + , VkPresentInfoKHR(..) + , VkSwapchainKHR + , VkSwapchainCreateInfoKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_wayland_surface + ( Wl_display + , VkWaylandSurfaceCreateInfoKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_win32_surface + ( VkWin32SurfaceCreateInfoKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_xcb_surface + ( Xcb_visualid_t + , Xcb_connection_t + , VkXcbSurfaceCreateInfoKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_KHR_xlib_surface + ( VisualID + , Display(..) + , VkXlibSurfaceCreateInfoKHR(..) + ) +import Graphics.Vulkan.Extensions.VK_MVK_ios_surface + ( VkIOSSurfaceCreateInfoMVK(..) + ) +import Graphics.Vulkan.Extensions.VK_MVK_macos_surface + ( VkMacOSSurfaceCreateInfoMVK(..) + ) +import Graphics.Vulkan.Extensions.VK_NN_vi_surface + ( VkViSurfaceCreateInfoNN(..) + ) +import Graphics.Vulkan.Extensions.VK_NVX_device_generated_commands + ( VkDeviceGeneratedCommandsLimitsNVX(..) + , VkDeviceGeneratedCommandsFeaturesNVX(..) + , VkObjectEntryTypeNVX(..) + , VkObjectTableEntryNVX(..) + , VkObjectTableNVX + , VkObjectTableCreateInfoNVX(..) + , VkIndirectCommandsLayoutNVX + , VkIndirectCommandsLayoutCreateInfoNVX(..) + , VkCmdReserveSpaceForCommandsInfoNVX(..) + , VkCmdProcessCommandsInfoNVX(..) + ) +import Graphics.Vulkan.Extensions.VK_NV_clip_space_w_scaling + ( VkViewportWScalingNV(..) + ) +import Graphics.Vulkan.Extensions.VK_NV_external_memory_capabilities + ( VkExternalMemoryHandleTypeFlagBitsNV(..) + , VkExternalImageFormatPropertiesNV(..) + , VkExternalMemoryHandleTypeFlagsNV + ) +import Graphics.Vulkan.Extensions.VK_NV_external_memory_win32 + ( HANDLE + ) + + +data DeviceCmds = DeviceCmds + { pVkGetDeviceProcAddr :: FunPtr (("device" ::: VkDevice) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) + , pVkDestroyDevice :: FunPtr (("device" ::: VkDevice) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkGetDeviceQueue :: FunPtr (("device" ::: VkDevice) -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) + , pVkQueueSubmit :: FunPtr (("queue" ::: VkQueue) -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr VkSubmitInfo) -> ("fence" ::: VkFence) -> IO VkResult) + , pVkQueueWaitIdle :: FunPtr (("queue" ::: VkQueue) -> IO VkResult) + , pVkDeviceWaitIdle :: FunPtr (("device" ::: VkDevice) -> IO VkResult) + , pVkAllocateMemory :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkMemoryAllocateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMemory" ::: Ptr VkDeviceMemory) -> IO VkResult) + , pVkFreeMemory :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkMapMemory :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("offset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("flags" ::: VkMemoryMapFlags) -> ("ppData" ::: Ptr (Ptr ())) -> IO VkResult) + , pVkUnmapMemory :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> IO ()) + , pVkFlushMappedMemoryRanges :: FunPtr (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) + , pVkInvalidateMappedMemoryRanges :: FunPtr (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) + , pVkGetDeviceMemoryCommitment :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pCommittedMemoryInBytes" ::: Ptr VkDeviceSize) -> IO ()) + , pVkGetBufferMemoryRequirements :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) + , pVkBindBufferMemory :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) + , pVkGetImageMemoryRequirements :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) + , pVkBindImageMemory :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) + , pVkGetImageSparseMemoryRequirements :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements) -> IO ()) + , pVkQueueBindSparse :: FunPtr (("queue" ::: VkQueue) -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr VkBindSparseInfo) -> ("fence" ::: VkFence) -> IO VkResult) + , pVkCreateFence :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFenceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) + , pVkDestroyFence :: FunPtr (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkResetFences :: FunPtr (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> IO VkResult) + , pVkGetFenceStatus :: FunPtr (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> IO VkResult) + , pVkWaitForFences :: FunPtr (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> ("waitAll" ::: VkBool32) -> ("timeout" ::: Word64) -> IO VkResult) + , pVkCreateSemaphore :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSemaphoreCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSemaphore" ::: Ptr VkSemaphore) -> IO VkResult) + , pVkDestroySemaphore :: FunPtr (("device" ::: VkDevice) -> ("semaphore" ::: VkSemaphore) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkCreateEvent :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkEventCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pEvent" ::: Ptr VkEvent) -> IO VkResult) + , pVkDestroyEvent :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkGetEventStatus :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) + , pVkSetEvent :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) + , pVkResetEvent :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) + , pVkCreateQueryPool :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkQueryPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pQueryPool" ::: Ptr VkQueryPool) -> IO VkResult) + , pVkDestroyQueryPool :: FunPtr (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkGetQueryPoolResults :: FunPtr (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO VkResult) + , pVkCreateBuffer :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pBuffer" ::: Ptr VkBuffer) -> IO VkResult) + , pVkDestroyBuffer :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkCreateBufferView :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkBufferView) -> IO VkResult) + , pVkDestroyBufferView :: FunPtr (("device" ::: VkDevice) -> ("bufferView" ::: VkBufferView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkCreateImage :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pImage" ::: Ptr VkImage) -> IO VkResult) + , pVkDestroyImage :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkGetImageSubresourceLayout :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSubresource" ::: Ptr VkImageSubresource) -> ("pLayout" ::: Ptr VkSubresourceLayout) -> IO ()) + , pVkCreateImageView :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkImageView) -> IO VkResult) + , pVkDestroyImageView :: FunPtr (("device" ::: VkDevice) -> ("imageView" ::: VkImageView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkCreateShaderModule :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkShaderModuleCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pShaderModule" ::: Ptr VkShaderModule) -> IO VkResult) + , pVkDestroyShaderModule :: FunPtr (("device" ::: VkDevice) -> ("shaderModule" ::: VkShaderModule) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkCreatePipelineCache :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineCache" ::: Ptr VkPipelineCache) -> IO VkResult) + , pVkDestroyPipelineCache :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkGetPipelineCacheData :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) + , pVkMergePipelineCaches :: FunPtr (("device" ::: VkDevice) -> ("dstCache" ::: VkPipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkPipelineCache) -> IO VkResult) + , pVkCreateGraphicsPipelines :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkGraphicsPipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) + , pVkCreateComputePipelines :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkComputePipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) + , pVkDestroyPipeline :: FunPtr (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkCreatePipelineLayout :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineLayout" ::: Ptr VkPipelineLayout) -> IO VkResult) + , pVkDestroyPipelineLayout :: FunPtr (("device" ::: VkDevice) -> ("pipelineLayout" ::: VkPipelineLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkCreateSampler :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSampler" ::: Ptr VkSampler) -> IO VkResult) + , pVkDestroySampler :: FunPtr (("device" ::: VkDevice) -> ("sampler" ::: VkSampler) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkCreateDescriptorSetLayout :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSetLayout" ::: Ptr VkDescriptorSetLayout) -> IO VkResult) + , pVkDestroyDescriptorSetLayout :: FunPtr (("device" ::: VkDevice) -> ("descriptorSetLayout" ::: VkDescriptorSetLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkCreateDescriptorPool :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorPool" ::: Ptr VkDescriptorPool) -> IO VkResult) + , pVkDestroyDescriptorPool :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkResetDescriptorPool :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("flags" ::: VkDescriptorPoolResetFlags) -> IO VkResult) + , pVkAllocateDescriptorSets :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkDescriptorSetAllocateInfo) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) + , pVkFreeDescriptorSets :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) + , pVkUpdateDescriptorSets :: FunPtr (("device" ::: VkDevice) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr VkCopyDescriptorSet) -> IO ()) + , pVkCreateFramebuffer :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFramebufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFramebuffer" ::: Ptr VkFramebuffer) -> IO VkResult) + , pVkDestroyFramebuffer :: FunPtr (("device" ::: VkDevice) -> ("framebuffer" ::: VkFramebuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkCreateRenderPass :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkRenderPassCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pRenderPass" ::: Ptr VkRenderPass) -> IO VkResult) + , pVkDestroyRenderPass :: FunPtr (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkGetRenderAreaGranularity :: FunPtr (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pGranularity" ::: Ptr VkExtent2D) -> IO ()) + , pVkCreateCommandPool :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkCommandPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCommandPool" ::: Ptr VkCommandPool) -> IO VkResult) + , pVkDestroyCommandPool :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkResetCommandPool :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolResetFlags) -> IO VkResult) + , pVkAllocateCommandBuffers :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkCommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO VkResult) + , pVkFreeCommandBuffers :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) + , pVkBeginCommandBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pBeginInfo" ::: Ptr VkCommandBufferBeginInfo) -> IO VkResult) + , pVkEndCommandBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO VkResult) + , pVkResetCommandBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("flags" ::: VkCommandBufferResetFlags) -> IO VkResult) + , pVkCmdBindPipeline :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("pipeline" ::: VkPipeline) -> IO ()) + , pVkCmdSetViewport :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr VkViewport) -> IO ()) + , pVkCmdSetScissor :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr VkRect2D) -> IO ()) + , pVkCmdSetLineWidth :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("lineWidth" ::: CFloat) -> IO ()) + , pVkCmdSetDepthBias :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ()) + , pVkCmdSetBlendConstants :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("blendConstants" ::: Ptr CFloat) -> IO ()) + , pVkCmdSetDepthBounds :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ()) + , pVkCmdSetStencilCompareMask :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ()) + , pVkCmdSetStencilWriteMask :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ()) + , pVkCmdSetStencilReference :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("reference" ::: Word32) -> IO ()) + , pVkCmdBindDescriptorSets :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ()) + , pVkCmdBindIndexBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("indexType" ::: VkIndexType) -> IO ()) + , pVkCmdBindVertexBuffers :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr VkBuffer) -> ("pOffsets" ::: Ptr VkDeviceSize) -> IO ()) + , pVkCmdDraw :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ()) + , pVkCmdDrawIndexed :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ()) + , pVkCmdDrawIndirect :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) + , pVkCmdDrawIndexedIndirect :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) + , pVkCmdDispatch :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) + , pVkCmdDispatchIndirect :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> IO ()) + , pVkCmdCopyBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferCopy) -> IO ()) + , pVkCmdCopyImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageCopy) -> IO ()) + , pVkCmdBlitImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageBlit) -> ("filter" ::: VkFilter) -> IO ()) + , pVkCmdCopyBufferToImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) + , pVkCmdCopyImageToBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) + , pVkCmdUpdateBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("dataSize" ::: VkDeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) + , pVkCmdFillBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("data" ::: Word32) -> IO ()) + , pVkCmdClearColorImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pColor" ::: Ptr VkClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) + , pVkCmdClearDepthStencilImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pDepthStencil" ::: Ptr VkClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) + , pVkCmdClearAttachments :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr VkClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr VkClearRect) -> IO ()) + , pVkCmdResolveImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageResolve) -> IO ()) + , pVkCmdSetEvent :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) + , pVkCmdResetEvent :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) + , pVkCmdWaitEvents :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr VkEvent) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) + , pVkCmdPipelineBarrier :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("dependencyFlags" ::: VkDependencyFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) + , pVkCmdBeginQuery :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> ("flags" ::: VkQueryControlFlags) -> IO ()) + , pVkCmdEndQuery :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) + , pVkCmdResetQueryPool :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) + , pVkCmdWriteTimestamp :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) + , pVkCmdCopyQueryPoolResults :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO ()) + , pVkCmdPushConstants :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("layout" ::: VkPipelineLayout) -> ("stageFlags" ::: VkShaderStageFlags) -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO ()) + , pVkCmdBeginRenderPass :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pRenderPassBegin" ::: Ptr VkRenderPassBeginInfo) -> ("contents" ::: VkSubpassContents) -> IO ()) + , pVkCmdNextSubpass :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("contents" ::: VkSubpassContents) -> IO ()) + , pVkCmdEndRenderPass :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) + , pVkCmdExecuteCommands :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) + , pVkCreateSharedSwapchainsKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> IO VkResult) + , pVkCreateSwapchainKHR :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchain" ::: Ptr VkSwapchainKHR) -> IO VkResult) + , pVkDestroySwapchainKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkGetSwapchainImagesKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr VkImage) -> IO VkResult) + , pVkAcquireNextImageKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("timeout" ::: Word64) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) + , pVkQueuePresentKHR :: FunPtr (("queue" ::: VkQueue) -> ("pPresentInfo" ::: Ptr VkPresentInfoKHR) -> IO VkResult) + , pVkDebugMarkerSetObjectNameEXT :: FunPtr (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugMarkerObjectNameInfoEXT) -> IO VkResult) + , pVkDebugMarkerSetObjectTagEXT :: FunPtr (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugMarkerObjectTagInfoEXT) -> IO VkResult) + , pVkCmdDebugMarkerBeginEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) + , pVkCmdDebugMarkerEndEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) + , pVkCmdDebugMarkerInsertEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) + , pVkGetMemoryWin32HandleNV :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) + , pVkCmdDrawIndirectCountAMD :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) + , pVkCmdDrawIndexedIndirectCountAMD :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) + , pVkCmdProcessCommandsNVX :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pProcessCommandsInfo" ::: Ptr VkCmdProcessCommandsInfoNVX) -> IO ()) + , pVkCmdReserveSpaceForCommandsNVX :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pReserveSpaceInfo" ::: Ptr VkCmdReserveSpaceForCommandsInfoNVX) -> IO ()) + , pVkCreateIndirectCommandsLayoutNVX :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkIndirectCommandsLayoutCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr VkIndirectCommandsLayoutNVX) -> IO VkResult) + , pVkDestroyIndirectCommandsLayoutNVX :: FunPtr (("device" ::: VkDevice) -> ("indirectCommandsLayout" ::: VkIndirectCommandsLayoutNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkCreateObjectTableNVX :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkObjectTableCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pObjectTable" ::: Ptr VkObjectTableNVX) -> IO VkResult) + , pVkDestroyObjectTableNVX :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkRegisterObjectsNVX :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("ppObjectTableEntries" ::: Ptr (Ptr VkObjectTableEntryNVX)) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) + , pVkUnregisterObjectsNVX :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("pObjectEntryTypes" ::: Ptr VkObjectEntryTypeNVX) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) + , pVkCmdPushDescriptorSetKHR :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> IO ()) + , pVkTrimCommandPool :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolTrimFlags) -> IO ()) + , pVkGetMemoryWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkMemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) + , pVkGetMemoryWin32HandlePropertiesKHR :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("handle" ::: HANDLE) -> ("pMemoryWin32HandleProperties" ::: Ptr VkMemoryWin32HandlePropertiesKHR) -> IO VkResult) + , pVkGetMemoryFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkMemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) + , pVkGetMemoryFdPropertiesKHR :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr VkMemoryFdPropertiesKHR) -> IO VkResult) + , pVkGetSemaphoreWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkSemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) + , pVkImportSemaphoreWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr VkImportSemaphoreWin32HandleInfoKHR) -> IO VkResult) + , pVkGetSemaphoreFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkSemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) + , pVkImportSemaphoreFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportSemaphoreFdInfo" ::: Ptr VkImportSemaphoreFdInfoKHR) -> IO VkResult) + , pVkGetFenceWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkFenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) + , pVkImportFenceWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportFenceWin32HandleInfo" ::: Ptr VkImportFenceWin32HandleInfoKHR) -> IO VkResult) + , pVkGetFenceFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkFenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) + , pVkImportFenceFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportFenceFdInfo" ::: Ptr VkImportFenceFdInfoKHR) -> IO VkResult) + , pVkDisplayPowerControlEXT :: FunPtr (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayPowerInfo" ::: Ptr VkDisplayPowerInfoEXT) -> IO VkResult) + , pVkRegisterDeviceEventEXT :: FunPtr (("device" ::: VkDevice) -> ("pDeviceEventInfo" ::: Ptr VkDeviceEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) + , pVkRegisterDisplayEventEXT :: FunPtr (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayEventInfo" ::: Ptr VkDisplayEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) + , pVkGetSwapchainCounterEXT :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("counter" ::: VkSurfaceCounterFlagBitsEXT) -> ("pCounterValue" ::: Ptr Word64) -> IO VkResult) + , pVkGetDeviceGroupPeerMemoryFeatures :: FunPtr (("device" ::: VkDevice) -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr VkPeerMemoryFeatureFlags) -> IO ()) + , pVkBindBufferMemory2 :: FunPtr (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindBufferMemoryInfo) -> IO VkResult) + , pVkBindImageMemory2 :: FunPtr (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindImageMemoryInfo) -> IO VkResult) + , pVkCmdSetDeviceMask :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("deviceMask" ::: Word32) -> IO ()) + , pVkGetDeviceGroupPresentCapabilitiesKHR :: FunPtr (("device" ::: VkDevice) -> ("pDeviceGroupPresentCapabilities" ::: Ptr VkDeviceGroupPresentCapabilitiesKHR) -> IO VkResult) + , pVkGetDeviceGroupSurfacePresentModesKHR :: FunPtr (("device" ::: VkDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pModes" ::: Ptr VkDeviceGroupPresentModeFlagsKHR) -> IO VkResult) + , pVkAcquireNextImage2KHR :: FunPtr (("device" ::: VkDevice) -> ("pAcquireInfo" ::: Ptr VkAcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) + , pVkCmdDispatchBase :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) + , pVkCreateDescriptorUpdateTemplate :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr VkDescriptorUpdateTemplate) -> IO VkResult) + , pVkDestroyDescriptorUpdateTemplate :: FunPtr (("device" ::: VkDevice) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkUpdateDescriptorSetWithTemplate :: FunPtr (("device" ::: VkDevice) -> ("descriptorSet" ::: VkDescriptorSet) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pData" ::: Ptr ()) -> IO ()) + , pVkCmdPushDescriptorSetWithTemplateKHR :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO ()) + , pVkSetHdrMetadataEXT :: FunPtr (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> ("pMetadata" ::: Ptr VkHdrMetadataEXT) -> IO ()) + , pVkGetSwapchainStatusKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> IO VkResult) + , pVkGetRefreshCycleDurationGOOGLE :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pDisplayTimingProperties" ::: Ptr VkRefreshCycleDurationGOOGLE) -> IO VkResult) + , pVkGetPastPresentationTimingGOOGLE :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr VkPastPresentationTimingGOOGLE) -> IO VkResult) + , pVkCmdSetViewportWScalingNV :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr VkViewportWScalingNV) -> IO ()) + , pVkCmdSetDiscardRectangleEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr VkRect2D) -> IO ()) + , pVkCmdSetSampleLocationsEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pSampleLocationsInfo" ::: Ptr VkSampleLocationsInfoEXT) -> IO ()) + , pVkGetBufferMemoryRequirements2 :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkBufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) + , pVkGetImageMemoryRequirements2 :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) + , pVkGetImageSparseMemoryRequirements2 :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements2) -> IO ()) + , pVkCreateSamplerYcbcrConversion :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerYcbcrConversionCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr VkSamplerYcbcrConversion) -> IO VkResult) + , pVkDestroySamplerYcbcrConversion :: FunPtr (("device" ::: VkDevice) -> ("ycbcrConversion" ::: VkSamplerYcbcrConversion) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkGetDeviceQueue2 :: FunPtr (("device" ::: VkDevice) -> ("pQueueInfo" ::: Ptr VkDeviceQueueInfo2) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) + , pVkCreateValidationCacheEXT :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pValidationCache" ::: Ptr VkValidationCacheEXT) -> IO VkResult) + , pVkDestroyValidationCacheEXT :: FunPtr (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkGetValidationCacheDataEXT :: FunPtr (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) + , pVkMergeValidationCachesEXT :: FunPtr (("device" ::: VkDevice) -> ("dstCache" ::: VkValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkValidationCacheEXT) -> IO VkResult) + , pVkGetDescriptorSetLayoutSupport :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pSupport" ::: Ptr VkDescriptorSetLayoutSupport) -> IO ()) + , pVkGetSwapchainGrallocUsageANDROID :: FunPtr (("device" ::: VkDevice) -> ("format" ::: VkFormat) -> ("imageUsage" ::: VkImageUsageFlags) -> ("grallocUsage" ::: Ptr CInt) -> IO VkResult) + , pVkAcquireImageANDROID :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("nativeFenceFd" ::: CInt) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> IO VkResult) + , pVkQueueSignalReleaseImageANDROID :: FunPtr (("queue" ::: VkQueue) -> ("waitSemaphoreCount" ::: Word32) -> ("pWaitSemaphores" ::: Ptr VkSemaphore) -> ("image" ::: VkImage) -> ("pNativeFenceFd" ::: Ptr CInt) -> IO VkResult) + , pVkGetShaderInfoAMD :: FunPtr (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("shaderStage" ::: VkShaderStageFlagBits) -> ("infoType" ::: VkShaderInfoTypeAMD) -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO VkResult) + , pVkSetDebugUtilsObjectNameEXT :: FunPtr (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult) + , pVkSetDebugUtilsObjectTagEXT :: FunPtr (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult) + , pVkQueueBeginDebugUtilsLabelEXT :: FunPtr (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) + , pVkQueueEndDebugUtilsLabelEXT :: FunPtr (("queue" ::: VkQueue) -> IO ()) + , pVkQueueInsertDebugUtilsLabelEXT :: FunPtr (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) + , pVkCmdBeginDebugUtilsLabelEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) + , pVkCmdEndDebugUtilsLabelEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) + , pVkCmdInsertDebugUtilsLabelEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) + , pVkGetMemoryHostPointerPropertiesEXT :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr VkMemoryHostPointerPropertiesEXT) -> IO VkResult) + , pVkCmdWriteBufferMarkerAMD :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("marker" ::: Word32) -> IO ()) + , pVkGetAndroidHardwareBufferPropertiesANDROID :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: Ptr AHardwareBuffer) -> ("pProperties" ::: Ptr VkAndroidHardwareBufferPropertiesANDROID) -> IO VkResult) + , pVkGetMemoryAndroidHardwareBufferANDROID :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO VkResult) + } + +data InstanceCmds = InstanceCmds + { pVkDestroyInstance :: FunPtr (("instance" ::: VkInstance) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkEnumeratePhysicalDevices :: FunPtr (("instance" ::: VkInstance) -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr VkPhysicalDevice) -> IO VkResult) + , pVkGetInstanceProcAddr :: FunPtr (("instance" ::: VkInstance) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) + , pVkGetPhysicalDeviceProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties) -> IO ()) + , pVkGetPhysicalDeviceQueueFamilyProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties) -> IO ()) + , pVkGetPhysicalDeviceMemoryProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties) -> IO ()) + , pVkGetPhysicalDeviceFeatures :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures) -> IO ()) + , pVkGetPhysicalDeviceFormatProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties) -> IO ()) + , pVkGetPhysicalDeviceImageFormatProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties) -> IO VkResult) + , pVkCreateDevice :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pCreateInfo" ::: Ptr VkDeviceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDevice" ::: Ptr VkDevice) -> IO VkResult) + , pVkEnumerateDeviceLayerProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkLayerProperties) -> IO VkResult) + , pVkEnumerateDeviceExtensionProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkExtensionProperties) -> IO VkResult) + , pVkGetPhysicalDeviceSparseImageFormatProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("samples" ::: VkSampleCountFlagBits) -> ("usage" ::: VkImageUsageFlags) -> ("tiling" ::: VkImageTiling) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties) -> IO ()) + , pVkCreateAndroidSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkAndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) + , pVkGetPhysicalDeviceDisplayPropertiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPropertiesKHR) -> IO VkResult) + , pVkGetPhysicalDeviceDisplayPlanePropertiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPlanePropertiesKHR) -> IO VkResult) + , pVkGetDisplayPlaneSupportedDisplaysKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr VkDisplayKHR) -> IO VkResult) + , pVkGetDisplayModePropertiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayModePropertiesKHR) -> IO VkResult) + , pVkCreateDisplayModeKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pCreateInfo" ::: Ptr VkDisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMode" ::: Ptr VkDisplayModeKHR) -> IO VkResult) + , pVkGetDisplayPlaneCapabilitiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("mode" ::: VkDisplayModeKHR) -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr VkDisplayPlaneCapabilitiesKHR) -> IO VkResult) + , pVkCreateDisplayPlaneSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) + , pVkCreateMirSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMirSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) + , pVkGetPhysicalDeviceMirPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr MirConnection) -> IO VkBool32) + , pVkDestroySurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("surface" ::: VkSurfaceKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkGetPhysicalDeviceSurfaceSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("surface" ::: VkSurfaceKHR) -> ("pSupported" ::: Ptr VkBool32) -> IO VkResult) + , pVkGetPhysicalDeviceSurfaceCapabilitiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilitiesKHR) -> IO VkResult) + , pVkGetPhysicalDeviceSurfaceFormatsKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormatKHR) -> IO VkResult) + , pVkGetPhysicalDeviceSurfacePresentModesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr VkPresentModeKHR) -> IO VkResult) + , pVkCreateViSurfaceNN :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) + , pVkCreateWaylandSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) + , pVkGetPhysicalDeviceWaylandPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("display" ::: Ptr Wl_display) -> IO VkBool32) + , pVkCreateWin32SurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWin32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) + , pVkGetPhysicalDeviceWin32PresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> IO VkBool32) + , pVkCreateXlibSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) + , pVkGetPhysicalDeviceXlibPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> ("visualID" ::: VisualID) -> IO VkBool32) + , pVkCreateXcbSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) + , pVkGetPhysicalDeviceXcbPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr Xcb_connection_t) -> ("visual_id" ::: Xcb_visualid_t) -> IO VkBool32) + , pVkCreateDebugReportCallbackEXT :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCallback" ::: Ptr VkDebugReportCallbackEXT) -> IO VkResult) + , pVkDestroyDebugReportCallbackEXT :: FunPtr (("instance" ::: VkInstance) -> ("callback" ::: VkDebugReportCallbackEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkDebugReportMessageEXT :: FunPtr (("instance" ::: VkInstance) -> ("flags" ::: VkDebugReportFlagsEXT) -> ("objectType" ::: VkDebugReportObjectTypeEXT) -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO ()) + , pVkGetPhysicalDeviceExternalImageFormatPropertiesNV :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("externalHandleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr VkExternalImageFormatPropertiesNV) -> IO VkResult) + , pVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkDeviceGeneratedCommandsFeaturesNVX) -> ("pLimits" ::: Ptr VkDeviceGeneratedCommandsLimitsNVX) -> IO ()) + , pVkGetPhysicalDeviceFeatures2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures2) -> IO ()) + , pVkGetPhysicalDeviceProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties2) -> IO ()) + , pVkGetPhysicalDeviceFormatProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties2) -> IO ()) + , pVkGetPhysicalDeviceImageFormatProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pImageFormatInfo" ::: Ptr VkPhysicalDeviceImageFormatInfo2) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties2) -> IO VkResult) + , pVkGetPhysicalDeviceQueueFamilyProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties2) -> IO ()) + , pVkGetPhysicalDeviceMemoryProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties2) -> IO ()) + , pVkGetPhysicalDeviceSparseImageFormatProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFormatInfo" ::: Ptr VkPhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties2) -> IO ()) + , pVkGetPhysicalDeviceExternalBufferProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalBufferInfo" ::: Ptr VkPhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr VkExternalBufferProperties) -> IO ()) + , pVkGetPhysicalDeviceExternalSemaphoreProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalSemaphoreInfo" ::: Ptr VkPhysicalDeviceExternalSemaphoreInfo) -> ("pExternalSemaphoreProperties" ::: Ptr VkExternalSemaphoreProperties) -> IO ()) + , pVkGetPhysicalDeviceExternalFenceProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalFenceInfo" ::: Ptr VkPhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr VkExternalFenceProperties) -> IO ()) + , pVkReleaseDisplayEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> IO VkResult) + , pVkAcquireXlibDisplayEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("display" ::: VkDisplayKHR) -> IO VkResult) + , pVkGetRandROutputDisplayEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("rrOutput" ::: RROutput) -> ("pDisplay" ::: Ptr VkDisplayKHR) -> IO VkResult) + , pVkGetPhysicalDeviceSurfaceCapabilities2EXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2EXT) -> IO VkResult) + , pVkEnumeratePhysicalDeviceGroups :: FunPtr (("instance" ::: VkInstance) -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr VkPhysicalDeviceGroupProperties) -> IO VkResult) + , pVkGetPhysicalDevicePresentRectanglesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr VkRect2D) -> IO VkResult) + , pVkCreateIOSSurfaceMVK :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkIOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) + , pVkCreateMacOSSurfaceMVK :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) + , pVkGetPhysicalDeviceMultisamplePropertiesEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("samples" ::: VkSampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr VkMultisamplePropertiesEXT) -> IO ()) + , pVkGetPhysicalDeviceSurfaceCapabilities2KHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2KHR) -> IO VkResult) + , pVkGetPhysicalDeviceSurfaceFormats2KHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormat2KHR) -> IO VkResult) + , pVkCreateDebugUtilsMessengerEXT :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult) + , pVkDestroyDebugUtilsMessengerEXT :: FunPtr (("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) + , pVkSubmitDebugUtilsMessageEXT :: FunPtr (("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO ()) + } + +initDeviceCmds :: VkDevice -> IO DeviceCmds +initDeviceCmds handle = DeviceCmds + <$> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetDeviceProcAddr\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyDevice\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetDeviceQueue\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkQueueSubmit\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkQueueWaitIdle\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDeviceWaitIdle\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkAllocateMemory\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkFreeMemory\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkMapMemory\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkUnmapMemory\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkFlushMappedMemoryRanges\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkInvalidateMappedMemoryRanges\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetDeviceMemoryCommitment\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetBufferMemoryRequirements\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkBindBufferMemory\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetImageMemoryRequirements\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkBindImageMemory\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetImageSparseMemoryRequirements\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkQueueBindSparse\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateFence\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyFence\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkResetFences\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetFenceStatus\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkWaitForFences\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateSemaphore\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroySemaphore\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateEvent\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyEvent\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetEventStatus\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkSetEvent\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkResetEvent\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateQueryPool\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyQueryPool\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetQueryPoolResults\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateBuffer\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyBuffer\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateBufferView\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyBufferView\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateImage\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyImage\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetImageSubresourceLayout\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateImageView\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyImageView\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateShaderModule\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyShaderModule\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreatePipelineCache\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyPipelineCache\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetPipelineCacheData\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkMergePipelineCaches\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateGraphicsPipelines\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateComputePipelines\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyPipeline\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreatePipelineLayout\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyPipelineLayout\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateSampler\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroySampler\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateDescriptorSetLayout\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyDescriptorSetLayout\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateDescriptorPool\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyDescriptorPool\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkResetDescriptorPool\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkAllocateDescriptorSets\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkFreeDescriptorSets\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkUpdateDescriptorSets\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateFramebuffer\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyFramebuffer\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateRenderPass\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyRenderPass\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetRenderAreaGranularity\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateCommandPool\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyCommandPool\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkResetCommandPool\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkAllocateCommandBuffers\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkFreeCommandBuffers\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkBeginCommandBuffer\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkEndCommandBuffer\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkResetCommandBuffer\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdBindPipeline\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetViewport\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetScissor\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetLineWidth\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetDepthBias\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetBlendConstants\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetDepthBounds\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetStencilCompareMask\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetStencilWriteMask\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetStencilReference\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdBindDescriptorSets\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdBindIndexBuffer\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdBindVertexBuffers\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDraw\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDrawIndexed\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDrawIndirect\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDrawIndexedIndirect\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDispatch\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDispatchIndirect\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdCopyBuffer\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdCopyImage\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdBlitImage\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdCopyBufferToImage\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdCopyImageToBuffer\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdUpdateBuffer\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdFillBuffer\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdClearColorImage\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdClearDepthStencilImage\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdClearAttachments\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdResolveImage\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetEvent\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdResetEvent\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdWaitEvents\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdPipelineBarrier\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdBeginQuery\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdEndQuery\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdResetQueryPool\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdWriteTimestamp\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdCopyQueryPoolResults\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdPushConstants\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdBeginRenderPass\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdNextSubpass\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdEndRenderPass\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdExecuteCommands\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateSharedSwapchainsKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateSwapchainKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroySwapchainKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetSwapchainImagesKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkAcquireNextImageKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkQueuePresentKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDebugMarkerSetObjectNameEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDebugMarkerSetObjectTagEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDebugMarkerBeginEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDebugMarkerEndEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDebugMarkerInsertEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryWin32HandleNV\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDrawIndirectCountAMD\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDrawIndexedIndirectCountAMD\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdProcessCommandsNVX\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdReserveSpaceForCommandsNVX\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateIndirectCommandsLayoutNVX\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyIndirectCommandsLayoutNVX\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateObjectTableNVX\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyObjectTableNVX\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkRegisterObjectsNVX\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkUnregisterObjectsNVX\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdPushDescriptorSetKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkTrimCommandPool\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryWin32HandleKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryWin32HandlePropertiesKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryFdKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryFdPropertiesKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetSemaphoreWin32HandleKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkImportSemaphoreWin32HandleKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetSemaphoreFdKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkImportSemaphoreFdKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetFenceWin32HandleKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkImportFenceWin32HandleKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetFenceFdKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkImportFenceFdKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDisplayPowerControlEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkRegisterDeviceEventEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkRegisterDisplayEventEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetSwapchainCounterEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetDeviceGroupPeerMemoryFeatures\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkBindBufferMemory2\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkBindImageMemory2\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetDeviceMask\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetDeviceGroupPresentCapabilitiesKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetDeviceGroupSurfacePresentModesKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkAcquireNextImage2KHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDispatchBase\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateDescriptorUpdateTemplate\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyDescriptorUpdateTemplate\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkUpdateDescriptorSetWithTemplate\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdPushDescriptorSetWithTemplateKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkSetHdrMetadataEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetSwapchainStatusKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetRefreshCycleDurationGOOGLE\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetPastPresentationTimingGOOGLE\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetViewportWScalingNV\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetDiscardRectangleEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdSetSampleLocationsEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetBufferMemoryRequirements2\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetImageMemoryRequirements2\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetImageSparseMemoryRequirements2\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateSamplerYcbcrConversion\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroySamplerYcbcrConversion\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetDeviceQueue2\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCreateValidationCacheEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDestroyValidationCacheEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetValidationCacheDataEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkMergeValidationCachesEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetDescriptorSetLayoutSupport\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetSwapchainGrallocUsageANDROID\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkAcquireImageANDROID\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkQueueSignalReleaseImageANDROID\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetShaderInfoAMD\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkSetDebugUtilsObjectNameEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkSetDebugUtilsObjectTagEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkQueueBeginDebugUtilsLabelEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkQueueEndDebugUtilsLabelEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkQueueInsertDebugUtilsLabelEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdBeginDebugUtilsLabelEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdEndDebugUtilsLabelEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdInsertDebugUtilsLabelEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryHostPointerPropertiesEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdWriteBufferMarkerAMD\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetAndroidHardwareBufferPropertiesANDROID\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryAndroidHardwareBufferANDROID\NUL"#)) + +initInstanceCmds :: VkInstance -> IO InstanceCmds +initInstanceCmds handle = InstanceCmds + <$> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkDestroyInstance\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkEnumeratePhysicalDevices\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetInstanceProcAddr\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceProperties\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceQueueFamilyProperties\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceMemoryProperties\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceFeatures\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceFormatProperties\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceImageFormatProperties\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateDevice\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkEnumerateDeviceLayerProperties\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkEnumerateDeviceExtensionProperties\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSparseImageFormatProperties\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateAndroidSurfaceKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceDisplayPropertiesKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceDisplayPlanePropertiesKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetDisplayPlaneSupportedDisplaysKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetDisplayModePropertiesKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateDisplayModeKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetDisplayPlaneCapabilitiesKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateDisplayPlaneSurfaceKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateMirSurfaceKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceMirPresentationSupportKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkDestroySurfaceKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfaceSupportKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfaceCapabilitiesKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfaceFormatsKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfacePresentModesKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateViSurfaceNN\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateWaylandSurfaceKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceWaylandPresentationSupportKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateWin32SurfaceKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceWin32PresentationSupportKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateXlibSurfaceKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceXlibPresentationSupportKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateXcbSurfaceKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceXcbPresentationSupportKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateDebugReportCallbackEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkDestroyDebugReportCallbackEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkDebugReportMessageEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceExternalImageFormatPropertiesNV\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceFeatures2\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceProperties2\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceFormatProperties2\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceImageFormatProperties2\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceQueueFamilyProperties2\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceMemoryProperties2\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSparseImageFormatProperties2\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceExternalBufferProperties\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceExternalSemaphoreProperties\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceExternalFenceProperties\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkReleaseDisplayEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkAcquireXlibDisplayEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetRandROutputDisplayEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfaceCapabilities2EXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkEnumeratePhysicalDeviceGroups\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDevicePresentRectanglesKHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateIOSSurfaceMVK\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateMacOSSurfaceMVK\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceMultisamplePropertiesEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfaceCapabilities2KHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfaceFormats2KHR\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateDebugUtilsMessengerEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkDestroyDebugUtilsMessengerEXT\NUL"#)) + <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkSubmitDebugUtilsMessageEXT\NUL"#)) + +hasGetDeviceProcAddr :: DeviceCmds -> Bool +hasGetDeviceProcAddr = (/= nullFunPtr) . pVkGetDeviceProcAddr +hasDestroyDevice :: DeviceCmds -> Bool +hasDestroyDevice = (/= nullFunPtr) . pVkDestroyDevice +hasGetDeviceQueue :: DeviceCmds -> Bool +hasGetDeviceQueue = (/= nullFunPtr) . pVkGetDeviceQueue +hasQueueSubmit :: DeviceCmds -> Bool +hasQueueSubmit = (/= nullFunPtr) . pVkQueueSubmit +hasQueueWaitIdle :: DeviceCmds -> Bool +hasQueueWaitIdle = (/= nullFunPtr) . pVkQueueWaitIdle +hasDeviceWaitIdle :: DeviceCmds -> Bool +hasDeviceWaitIdle = (/= nullFunPtr) . pVkDeviceWaitIdle +hasAllocateMemory :: DeviceCmds -> Bool +hasAllocateMemory = (/= nullFunPtr) . pVkAllocateMemory +hasFreeMemory :: DeviceCmds -> Bool +hasFreeMemory = (/= nullFunPtr) . pVkFreeMemory +hasMapMemory :: DeviceCmds -> Bool +hasMapMemory = (/= nullFunPtr) . pVkMapMemory +hasUnmapMemory :: DeviceCmds -> Bool +hasUnmapMemory = (/= nullFunPtr) . pVkUnmapMemory +hasFlushMappedMemoryRanges :: DeviceCmds -> Bool +hasFlushMappedMemoryRanges = (/= nullFunPtr) . pVkFlushMappedMemoryRanges +hasInvalidateMappedMemoryRanges :: DeviceCmds -> Bool +hasInvalidateMappedMemoryRanges = (/= nullFunPtr) . pVkInvalidateMappedMemoryRanges +hasGetDeviceMemoryCommitment :: DeviceCmds -> Bool +hasGetDeviceMemoryCommitment = (/= nullFunPtr) . pVkGetDeviceMemoryCommitment +hasGetBufferMemoryRequirements :: DeviceCmds -> Bool +hasGetBufferMemoryRequirements = (/= nullFunPtr) . pVkGetBufferMemoryRequirements +hasBindBufferMemory :: DeviceCmds -> Bool +hasBindBufferMemory = (/= nullFunPtr) . pVkBindBufferMemory +hasGetImageMemoryRequirements :: DeviceCmds -> Bool +hasGetImageMemoryRequirements = (/= nullFunPtr) . pVkGetImageMemoryRequirements +hasBindImageMemory :: DeviceCmds -> Bool +hasBindImageMemory = (/= nullFunPtr) . pVkBindImageMemory +hasGetImageSparseMemoryRequirements :: DeviceCmds -> Bool +hasGetImageSparseMemoryRequirements = (/= nullFunPtr) . pVkGetImageSparseMemoryRequirements +hasQueueBindSparse :: DeviceCmds -> Bool +hasQueueBindSparse = (/= nullFunPtr) . pVkQueueBindSparse +hasCreateFence :: DeviceCmds -> Bool +hasCreateFence = (/= nullFunPtr) . pVkCreateFence +hasDestroyFence :: DeviceCmds -> Bool +hasDestroyFence = (/= nullFunPtr) . pVkDestroyFence +hasResetFences :: DeviceCmds -> Bool +hasResetFences = (/= nullFunPtr) . pVkResetFences +hasGetFenceStatus :: DeviceCmds -> Bool +hasGetFenceStatus = (/= nullFunPtr) . pVkGetFenceStatus +hasWaitForFences :: DeviceCmds -> Bool +hasWaitForFences = (/= nullFunPtr) . pVkWaitForFences +hasCreateSemaphore :: DeviceCmds -> Bool +hasCreateSemaphore = (/= nullFunPtr) . pVkCreateSemaphore +hasDestroySemaphore :: DeviceCmds -> Bool +hasDestroySemaphore = (/= nullFunPtr) . pVkDestroySemaphore +hasCreateEvent :: DeviceCmds -> Bool +hasCreateEvent = (/= nullFunPtr) . pVkCreateEvent +hasDestroyEvent :: DeviceCmds -> Bool +hasDestroyEvent = (/= nullFunPtr) . pVkDestroyEvent +hasGetEventStatus :: DeviceCmds -> Bool +hasGetEventStatus = (/= nullFunPtr) . pVkGetEventStatus +hasSetEvent :: DeviceCmds -> Bool +hasSetEvent = (/= nullFunPtr) . pVkSetEvent +hasResetEvent :: DeviceCmds -> Bool +hasResetEvent = (/= nullFunPtr) . pVkResetEvent +hasCreateQueryPool :: DeviceCmds -> Bool +hasCreateQueryPool = (/= nullFunPtr) . pVkCreateQueryPool +hasDestroyQueryPool :: DeviceCmds -> Bool +hasDestroyQueryPool = (/= nullFunPtr) . pVkDestroyQueryPool +hasGetQueryPoolResults :: DeviceCmds -> Bool +hasGetQueryPoolResults = (/= nullFunPtr) . pVkGetQueryPoolResults +hasCreateBuffer :: DeviceCmds -> Bool +hasCreateBuffer = (/= nullFunPtr) . pVkCreateBuffer +hasDestroyBuffer :: DeviceCmds -> Bool +hasDestroyBuffer = (/= nullFunPtr) . pVkDestroyBuffer +hasCreateBufferView :: DeviceCmds -> Bool +hasCreateBufferView = (/= nullFunPtr) . pVkCreateBufferView +hasDestroyBufferView :: DeviceCmds -> Bool +hasDestroyBufferView = (/= nullFunPtr) . pVkDestroyBufferView +hasCreateImage :: DeviceCmds -> Bool +hasCreateImage = (/= nullFunPtr) . pVkCreateImage +hasDestroyImage :: DeviceCmds -> Bool +hasDestroyImage = (/= nullFunPtr) . pVkDestroyImage +hasGetImageSubresourceLayout :: DeviceCmds -> Bool +hasGetImageSubresourceLayout = (/= nullFunPtr) . pVkGetImageSubresourceLayout +hasCreateImageView :: DeviceCmds -> Bool +hasCreateImageView = (/= nullFunPtr) . pVkCreateImageView +hasDestroyImageView :: DeviceCmds -> Bool +hasDestroyImageView = (/= nullFunPtr) . pVkDestroyImageView +hasCreateShaderModule :: DeviceCmds -> Bool +hasCreateShaderModule = (/= nullFunPtr) . pVkCreateShaderModule +hasDestroyShaderModule :: DeviceCmds -> Bool +hasDestroyShaderModule = (/= nullFunPtr) . pVkDestroyShaderModule +hasCreatePipelineCache :: DeviceCmds -> Bool +hasCreatePipelineCache = (/= nullFunPtr) . pVkCreatePipelineCache +hasDestroyPipelineCache :: DeviceCmds -> Bool +hasDestroyPipelineCache = (/= nullFunPtr) . pVkDestroyPipelineCache +hasGetPipelineCacheData :: DeviceCmds -> Bool +hasGetPipelineCacheData = (/= nullFunPtr) . pVkGetPipelineCacheData +hasMergePipelineCaches :: DeviceCmds -> Bool +hasMergePipelineCaches = (/= nullFunPtr) . pVkMergePipelineCaches +hasCreateGraphicsPipelines :: DeviceCmds -> Bool +hasCreateGraphicsPipelines = (/= nullFunPtr) . pVkCreateGraphicsPipelines +hasCreateComputePipelines :: DeviceCmds -> Bool +hasCreateComputePipelines = (/= nullFunPtr) . pVkCreateComputePipelines +hasDestroyPipeline :: DeviceCmds -> Bool +hasDestroyPipeline = (/= nullFunPtr) . pVkDestroyPipeline +hasCreatePipelineLayout :: DeviceCmds -> Bool +hasCreatePipelineLayout = (/= nullFunPtr) . pVkCreatePipelineLayout +hasDestroyPipelineLayout :: DeviceCmds -> Bool +hasDestroyPipelineLayout = (/= nullFunPtr) . pVkDestroyPipelineLayout +hasCreateSampler :: DeviceCmds -> Bool +hasCreateSampler = (/= nullFunPtr) . pVkCreateSampler +hasDestroySampler :: DeviceCmds -> Bool +hasDestroySampler = (/= nullFunPtr) . pVkDestroySampler +hasCreateDescriptorSetLayout :: DeviceCmds -> Bool +hasCreateDescriptorSetLayout = (/= nullFunPtr) . pVkCreateDescriptorSetLayout +hasDestroyDescriptorSetLayout :: DeviceCmds -> Bool +hasDestroyDescriptorSetLayout = (/= nullFunPtr) . pVkDestroyDescriptorSetLayout +hasCreateDescriptorPool :: DeviceCmds -> Bool +hasCreateDescriptorPool = (/= nullFunPtr) . pVkCreateDescriptorPool +hasDestroyDescriptorPool :: DeviceCmds -> Bool +hasDestroyDescriptorPool = (/= nullFunPtr) . pVkDestroyDescriptorPool +hasResetDescriptorPool :: DeviceCmds -> Bool +hasResetDescriptorPool = (/= nullFunPtr) . pVkResetDescriptorPool +hasAllocateDescriptorSets :: DeviceCmds -> Bool +hasAllocateDescriptorSets = (/= nullFunPtr) . pVkAllocateDescriptorSets +hasFreeDescriptorSets :: DeviceCmds -> Bool +hasFreeDescriptorSets = (/= nullFunPtr) . pVkFreeDescriptorSets +hasUpdateDescriptorSets :: DeviceCmds -> Bool +hasUpdateDescriptorSets = (/= nullFunPtr) . pVkUpdateDescriptorSets +hasCreateFramebuffer :: DeviceCmds -> Bool +hasCreateFramebuffer = (/= nullFunPtr) . pVkCreateFramebuffer +hasDestroyFramebuffer :: DeviceCmds -> Bool +hasDestroyFramebuffer = (/= nullFunPtr) . pVkDestroyFramebuffer +hasCreateRenderPass :: DeviceCmds -> Bool +hasCreateRenderPass = (/= nullFunPtr) . pVkCreateRenderPass +hasDestroyRenderPass :: DeviceCmds -> Bool +hasDestroyRenderPass = (/= nullFunPtr) . pVkDestroyRenderPass +hasGetRenderAreaGranularity :: DeviceCmds -> Bool +hasGetRenderAreaGranularity = (/= nullFunPtr) . pVkGetRenderAreaGranularity +hasCreateCommandPool :: DeviceCmds -> Bool +hasCreateCommandPool = (/= nullFunPtr) . pVkCreateCommandPool +hasDestroyCommandPool :: DeviceCmds -> Bool +hasDestroyCommandPool = (/= nullFunPtr) . pVkDestroyCommandPool +hasResetCommandPool :: DeviceCmds -> Bool +hasResetCommandPool = (/= nullFunPtr) . pVkResetCommandPool +hasAllocateCommandBuffers :: DeviceCmds -> Bool +hasAllocateCommandBuffers = (/= nullFunPtr) . pVkAllocateCommandBuffers +hasFreeCommandBuffers :: DeviceCmds -> Bool +hasFreeCommandBuffers = (/= nullFunPtr) . pVkFreeCommandBuffers +hasBeginCommandBuffer :: DeviceCmds -> Bool +hasBeginCommandBuffer = (/= nullFunPtr) . pVkBeginCommandBuffer +hasEndCommandBuffer :: DeviceCmds -> Bool +hasEndCommandBuffer = (/= nullFunPtr) . pVkEndCommandBuffer +hasResetCommandBuffer :: DeviceCmds -> Bool +hasResetCommandBuffer = (/= nullFunPtr) . pVkResetCommandBuffer +hasCmdBindPipeline :: DeviceCmds -> Bool +hasCmdBindPipeline = (/= nullFunPtr) . pVkCmdBindPipeline +hasCmdSetViewport :: DeviceCmds -> Bool +hasCmdSetViewport = (/= nullFunPtr) . pVkCmdSetViewport +hasCmdSetScissor :: DeviceCmds -> Bool +hasCmdSetScissor = (/= nullFunPtr) . pVkCmdSetScissor +hasCmdSetLineWidth :: DeviceCmds -> Bool +hasCmdSetLineWidth = (/= nullFunPtr) . pVkCmdSetLineWidth +hasCmdSetDepthBias :: DeviceCmds -> Bool +hasCmdSetDepthBias = (/= nullFunPtr) . pVkCmdSetDepthBias +hasCmdSetBlendConstants :: DeviceCmds -> Bool +hasCmdSetBlendConstants = (/= nullFunPtr) . pVkCmdSetBlendConstants +hasCmdSetDepthBounds :: DeviceCmds -> Bool +hasCmdSetDepthBounds = (/= nullFunPtr) . pVkCmdSetDepthBounds +hasCmdSetStencilCompareMask :: DeviceCmds -> Bool +hasCmdSetStencilCompareMask = (/= nullFunPtr) . pVkCmdSetStencilCompareMask +hasCmdSetStencilWriteMask :: DeviceCmds -> Bool +hasCmdSetStencilWriteMask = (/= nullFunPtr) . pVkCmdSetStencilWriteMask +hasCmdSetStencilReference :: DeviceCmds -> Bool +hasCmdSetStencilReference = (/= nullFunPtr) . pVkCmdSetStencilReference +hasCmdBindDescriptorSets :: DeviceCmds -> Bool +hasCmdBindDescriptorSets = (/= nullFunPtr) . pVkCmdBindDescriptorSets +hasCmdBindIndexBuffer :: DeviceCmds -> Bool +hasCmdBindIndexBuffer = (/= nullFunPtr) . pVkCmdBindIndexBuffer +hasCmdBindVertexBuffers :: DeviceCmds -> Bool +hasCmdBindVertexBuffers = (/= nullFunPtr) . pVkCmdBindVertexBuffers +hasCmdDraw :: DeviceCmds -> Bool +hasCmdDraw = (/= nullFunPtr) . pVkCmdDraw +hasCmdDrawIndexed :: DeviceCmds -> Bool +hasCmdDrawIndexed = (/= nullFunPtr) . pVkCmdDrawIndexed +hasCmdDrawIndirect :: DeviceCmds -> Bool +hasCmdDrawIndirect = (/= nullFunPtr) . pVkCmdDrawIndirect +hasCmdDrawIndexedIndirect :: DeviceCmds -> Bool +hasCmdDrawIndexedIndirect = (/= nullFunPtr) . pVkCmdDrawIndexedIndirect +hasCmdDispatch :: DeviceCmds -> Bool +hasCmdDispatch = (/= nullFunPtr) . pVkCmdDispatch +hasCmdDispatchIndirect :: DeviceCmds -> Bool +hasCmdDispatchIndirect = (/= nullFunPtr) . pVkCmdDispatchIndirect +hasCmdCopyBuffer :: DeviceCmds -> Bool +hasCmdCopyBuffer = (/= nullFunPtr) . pVkCmdCopyBuffer +hasCmdCopyImage :: DeviceCmds -> Bool +hasCmdCopyImage = (/= nullFunPtr) . pVkCmdCopyImage +hasCmdBlitImage :: DeviceCmds -> Bool +hasCmdBlitImage = (/= nullFunPtr) . pVkCmdBlitImage +hasCmdCopyBufferToImage :: DeviceCmds -> Bool +hasCmdCopyBufferToImage = (/= nullFunPtr) . pVkCmdCopyBufferToImage +hasCmdCopyImageToBuffer :: DeviceCmds -> Bool +hasCmdCopyImageToBuffer = (/= nullFunPtr) . pVkCmdCopyImageToBuffer +hasCmdUpdateBuffer :: DeviceCmds -> Bool +hasCmdUpdateBuffer = (/= nullFunPtr) . pVkCmdUpdateBuffer +hasCmdFillBuffer :: DeviceCmds -> Bool +hasCmdFillBuffer = (/= nullFunPtr) . pVkCmdFillBuffer +hasCmdClearColorImage :: DeviceCmds -> Bool +hasCmdClearColorImage = (/= nullFunPtr) . pVkCmdClearColorImage +hasCmdClearDepthStencilImage :: DeviceCmds -> Bool +hasCmdClearDepthStencilImage = (/= nullFunPtr) . pVkCmdClearDepthStencilImage +hasCmdClearAttachments :: DeviceCmds -> Bool +hasCmdClearAttachments = (/= nullFunPtr) . pVkCmdClearAttachments +hasCmdResolveImage :: DeviceCmds -> Bool +hasCmdResolveImage = (/= nullFunPtr) . pVkCmdResolveImage +hasCmdSetEvent :: DeviceCmds -> Bool +hasCmdSetEvent = (/= nullFunPtr) . pVkCmdSetEvent +hasCmdResetEvent :: DeviceCmds -> Bool +hasCmdResetEvent = (/= nullFunPtr) . pVkCmdResetEvent +hasCmdWaitEvents :: DeviceCmds -> Bool +hasCmdWaitEvents = (/= nullFunPtr) . pVkCmdWaitEvents +hasCmdPipelineBarrier :: DeviceCmds -> Bool +hasCmdPipelineBarrier = (/= nullFunPtr) . pVkCmdPipelineBarrier +hasCmdBeginQuery :: DeviceCmds -> Bool +hasCmdBeginQuery = (/= nullFunPtr) . pVkCmdBeginQuery +hasCmdEndQuery :: DeviceCmds -> Bool +hasCmdEndQuery = (/= nullFunPtr) . pVkCmdEndQuery +hasCmdResetQueryPool :: DeviceCmds -> Bool +hasCmdResetQueryPool = (/= nullFunPtr) . pVkCmdResetQueryPool +hasCmdWriteTimestamp :: DeviceCmds -> Bool +hasCmdWriteTimestamp = (/= nullFunPtr) . pVkCmdWriteTimestamp +hasCmdCopyQueryPoolResults :: DeviceCmds -> Bool +hasCmdCopyQueryPoolResults = (/= nullFunPtr) . pVkCmdCopyQueryPoolResults +hasCmdPushConstants :: DeviceCmds -> Bool +hasCmdPushConstants = (/= nullFunPtr) . pVkCmdPushConstants +hasCmdBeginRenderPass :: DeviceCmds -> Bool +hasCmdBeginRenderPass = (/= nullFunPtr) . pVkCmdBeginRenderPass +hasCmdNextSubpass :: DeviceCmds -> Bool +hasCmdNextSubpass = (/= nullFunPtr) . pVkCmdNextSubpass +hasCmdEndRenderPass :: DeviceCmds -> Bool +hasCmdEndRenderPass = (/= nullFunPtr) . pVkCmdEndRenderPass +hasCmdExecuteCommands :: DeviceCmds -> Bool +hasCmdExecuteCommands = (/= nullFunPtr) . pVkCmdExecuteCommands +hasCreateSharedSwapchainsKHR :: DeviceCmds -> Bool +hasCreateSharedSwapchainsKHR = (/= nullFunPtr) . pVkCreateSharedSwapchainsKHR +hasCreateSwapchainKHR :: DeviceCmds -> Bool +hasCreateSwapchainKHR = (/= nullFunPtr) . pVkCreateSwapchainKHR +hasDestroySwapchainKHR :: DeviceCmds -> Bool +hasDestroySwapchainKHR = (/= nullFunPtr) . pVkDestroySwapchainKHR +hasGetSwapchainImagesKHR :: DeviceCmds -> Bool +hasGetSwapchainImagesKHR = (/= nullFunPtr) . pVkGetSwapchainImagesKHR +hasAcquireNextImageKHR :: DeviceCmds -> Bool +hasAcquireNextImageKHR = (/= nullFunPtr) . pVkAcquireNextImageKHR +hasQueuePresentKHR :: DeviceCmds -> Bool +hasQueuePresentKHR = (/= nullFunPtr) . pVkQueuePresentKHR +hasDebugMarkerSetObjectNameEXT :: DeviceCmds -> Bool +hasDebugMarkerSetObjectNameEXT = (/= nullFunPtr) . pVkDebugMarkerSetObjectNameEXT +hasDebugMarkerSetObjectTagEXT :: DeviceCmds -> Bool +hasDebugMarkerSetObjectTagEXT = (/= nullFunPtr) . pVkDebugMarkerSetObjectTagEXT +hasCmdDebugMarkerBeginEXT :: DeviceCmds -> Bool +hasCmdDebugMarkerBeginEXT = (/= nullFunPtr) . pVkCmdDebugMarkerBeginEXT +hasCmdDebugMarkerEndEXT :: DeviceCmds -> Bool +hasCmdDebugMarkerEndEXT = (/= nullFunPtr) . pVkCmdDebugMarkerEndEXT +hasCmdDebugMarkerInsertEXT :: DeviceCmds -> Bool +hasCmdDebugMarkerInsertEXT = (/= nullFunPtr) . pVkCmdDebugMarkerInsertEXT +hasGetMemoryWin32HandleNV :: DeviceCmds -> Bool +hasGetMemoryWin32HandleNV = (/= nullFunPtr) . pVkGetMemoryWin32HandleNV +hasCmdDrawIndirectCountAMD :: DeviceCmds -> Bool +hasCmdDrawIndirectCountAMD = (/= nullFunPtr) . pVkCmdDrawIndirectCountAMD +hasCmdDrawIndexedIndirectCountAMD :: DeviceCmds -> Bool +hasCmdDrawIndexedIndirectCountAMD = (/= nullFunPtr) . pVkCmdDrawIndexedIndirectCountAMD +hasCmdProcessCommandsNVX :: DeviceCmds -> Bool +hasCmdProcessCommandsNVX = (/= nullFunPtr) . pVkCmdProcessCommandsNVX +hasCmdReserveSpaceForCommandsNVX :: DeviceCmds -> Bool +hasCmdReserveSpaceForCommandsNVX = (/= nullFunPtr) . pVkCmdReserveSpaceForCommandsNVX +hasCreateIndirectCommandsLayoutNVX :: DeviceCmds -> Bool +hasCreateIndirectCommandsLayoutNVX = (/= nullFunPtr) . pVkCreateIndirectCommandsLayoutNVX +hasDestroyIndirectCommandsLayoutNVX :: DeviceCmds -> Bool +hasDestroyIndirectCommandsLayoutNVX = (/= nullFunPtr) . pVkDestroyIndirectCommandsLayoutNVX +hasCreateObjectTableNVX :: DeviceCmds -> Bool +hasCreateObjectTableNVX = (/= nullFunPtr) . pVkCreateObjectTableNVX +hasDestroyObjectTableNVX :: DeviceCmds -> Bool +hasDestroyObjectTableNVX = (/= nullFunPtr) . pVkDestroyObjectTableNVX +hasRegisterObjectsNVX :: DeviceCmds -> Bool +hasRegisterObjectsNVX = (/= nullFunPtr) . pVkRegisterObjectsNVX +hasUnregisterObjectsNVX :: DeviceCmds -> Bool +hasUnregisterObjectsNVX = (/= nullFunPtr) . pVkUnregisterObjectsNVX +hasCmdPushDescriptorSetKHR :: DeviceCmds -> Bool +hasCmdPushDescriptorSetKHR = (/= nullFunPtr) . pVkCmdPushDescriptorSetKHR +hasTrimCommandPool :: DeviceCmds -> Bool +hasTrimCommandPool = (/= nullFunPtr) . pVkTrimCommandPool +hasGetMemoryWin32HandleKHR :: DeviceCmds -> Bool +hasGetMemoryWin32HandleKHR = (/= nullFunPtr) . pVkGetMemoryWin32HandleKHR +hasGetMemoryWin32HandlePropertiesKHR :: DeviceCmds -> Bool +hasGetMemoryWin32HandlePropertiesKHR = (/= nullFunPtr) . pVkGetMemoryWin32HandlePropertiesKHR +hasGetMemoryFdKHR :: DeviceCmds -> Bool +hasGetMemoryFdKHR = (/= nullFunPtr) . pVkGetMemoryFdKHR +hasGetMemoryFdPropertiesKHR :: DeviceCmds -> Bool +hasGetMemoryFdPropertiesKHR = (/= nullFunPtr) . pVkGetMemoryFdPropertiesKHR +hasGetSemaphoreWin32HandleKHR :: DeviceCmds -> Bool +hasGetSemaphoreWin32HandleKHR = (/= nullFunPtr) . pVkGetSemaphoreWin32HandleKHR +hasImportSemaphoreWin32HandleKHR :: DeviceCmds -> Bool +hasImportSemaphoreWin32HandleKHR = (/= nullFunPtr) . pVkImportSemaphoreWin32HandleKHR +hasGetSemaphoreFdKHR :: DeviceCmds -> Bool +hasGetSemaphoreFdKHR = (/= nullFunPtr) . pVkGetSemaphoreFdKHR +hasImportSemaphoreFdKHR :: DeviceCmds -> Bool +hasImportSemaphoreFdKHR = (/= nullFunPtr) . pVkImportSemaphoreFdKHR +hasGetFenceWin32HandleKHR :: DeviceCmds -> Bool +hasGetFenceWin32HandleKHR = (/= nullFunPtr) . pVkGetFenceWin32HandleKHR +hasImportFenceWin32HandleKHR :: DeviceCmds -> Bool +hasImportFenceWin32HandleKHR = (/= nullFunPtr) . pVkImportFenceWin32HandleKHR +hasGetFenceFdKHR :: DeviceCmds -> Bool +hasGetFenceFdKHR = (/= nullFunPtr) . pVkGetFenceFdKHR +hasImportFenceFdKHR :: DeviceCmds -> Bool +hasImportFenceFdKHR = (/= nullFunPtr) . pVkImportFenceFdKHR +hasDisplayPowerControlEXT :: DeviceCmds -> Bool +hasDisplayPowerControlEXT = (/= nullFunPtr) . pVkDisplayPowerControlEXT +hasRegisterDeviceEventEXT :: DeviceCmds -> Bool +hasRegisterDeviceEventEXT = (/= nullFunPtr) . pVkRegisterDeviceEventEXT +hasRegisterDisplayEventEXT :: DeviceCmds -> Bool +hasRegisterDisplayEventEXT = (/= nullFunPtr) . pVkRegisterDisplayEventEXT +hasGetSwapchainCounterEXT :: DeviceCmds -> Bool +hasGetSwapchainCounterEXT = (/= nullFunPtr) . pVkGetSwapchainCounterEXT +hasGetDeviceGroupPeerMemoryFeatures :: DeviceCmds -> Bool +hasGetDeviceGroupPeerMemoryFeatures = (/= nullFunPtr) . pVkGetDeviceGroupPeerMemoryFeatures +hasBindBufferMemory2 :: DeviceCmds -> Bool +hasBindBufferMemory2 = (/= nullFunPtr) . pVkBindBufferMemory2 +hasBindImageMemory2 :: DeviceCmds -> Bool +hasBindImageMemory2 = (/= nullFunPtr) . pVkBindImageMemory2 +hasCmdSetDeviceMask :: DeviceCmds -> Bool +hasCmdSetDeviceMask = (/= nullFunPtr) . pVkCmdSetDeviceMask +hasGetDeviceGroupPresentCapabilitiesKHR :: DeviceCmds -> Bool +hasGetDeviceGroupPresentCapabilitiesKHR = (/= nullFunPtr) . pVkGetDeviceGroupPresentCapabilitiesKHR +hasGetDeviceGroupSurfacePresentModesKHR :: DeviceCmds -> Bool +hasGetDeviceGroupSurfacePresentModesKHR = (/= nullFunPtr) . pVkGetDeviceGroupSurfacePresentModesKHR +hasAcquireNextImage2KHR :: DeviceCmds -> Bool +hasAcquireNextImage2KHR = (/= nullFunPtr) . pVkAcquireNextImage2KHR +hasCmdDispatchBase :: DeviceCmds -> Bool +hasCmdDispatchBase = (/= nullFunPtr) . pVkCmdDispatchBase +hasCreateDescriptorUpdateTemplate :: DeviceCmds -> Bool +hasCreateDescriptorUpdateTemplate = (/= nullFunPtr) . pVkCreateDescriptorUpdateTemplate +hasDestroyDescriptorUpdateTemplate :: DeviceCmds -> Bool +hasDestroyDescriptorUpdateTemplate = (/= nullFunPtr) . pVkDestroyDescriptorUpdateTemplate +hasUpdateDescriptorSetWithTemplate :: DeviceCmds -> Bool +hasUpdateDescriptorSetWithTemplate = (/= nullFunPtr) . pVkUpdateDescriptorSetWithTemplate +hasCmdPushDescriptorSetWithTemplateKHR :: DeviceCmds -> Bool +hasCmdPushDescriptorSetWithTemplateKHR = (/= nullFunPtr) . pVkCmdPushDescriptorSetWithTemplateKHR +hasSetHdrMetadataEXT :: DeviceCmds -> Bool +hasSetHdrMetadataEXT = (/= nullFunPtr) . pVkSetHdrMetadataEXT +hasGetSwapchainStatusKHR :: DeviceCmds -> Bool +hasGetSwapchainStatusKHR = (/= nullFunPtr) . pVkGetSwapchainStatusKHR +hasGetRefreshCycleDurationGOOGLE :: DeviceCmds -> Bool +hasGetRefreshCycleDurationGOOGLE = (/= nullFunPtr) . pVkGetRefreshCycleDurationGOOGLE +hasGetPastPresentationTimingGOOGLE :: DeviceCmds -> Bool +hasGetPastPresentationTimingGOOGLE = (/= nullFunPtr) . pVkGetPastPresentationTimingGOOGLE +hasCmdSetViewportWScalingNV :: DeviceCmds -> Bool +hasCmdSetViewportWScalingNV = (/= nullFunPtr) . pVkCmdSetViewportWScalingNV +hasCmdSetDiscardRectangleEXT :: DeviceCmds -> Bool +hasCmdSetDiscardRectangleEXT = (/= nullFunPtr) . pVkCmdSetDiscardRectangleEXT +hasCmdSetSampleLocationsEXT :: DeviceCmds -> Bool +hasCmdSetSampleLocationsEXT = (/= nullFunPtr) . pVkCmdSetSampleLocationsEXT +hasGetBufferMemoryRequirements2 :: DeviceCmds -> Bool +hasGetBufferMemoryRequirements2 = (/= nullFunPtr) . pVkGetBufferMemoryRequirements2 +hasGetImageMemoryRequirements2 :: DeviceCmds -> Bool +hasGetImageMemoryRequirements2 = (/= nullFunPtr) . pVkGetImageMemoryRequirements2 +hasGetImageSparseMemoryRequirements2 :: DeviceCmds -> Bool +hasGetImageSparseMemoryRequirements2 = (/= nullFunPtr) . pVkGetImageSparseMemoryRequirements2 +hasCreateSamplerYcbcrConversion :: DeviceCmds -> Bool +hasCreateSamplerYcbcrConversion = (/= nullFunPtr) . pVkCreateSamplerYcbcrConversion +hasDestroySamplerYcbcrConversion :: DeviceCmds -> Bool +hasDestroySamplerYcbcrConversion = (/= nullFunPtr) . pVkDestroySamplerYcbcrConversion +hasGetDeviceQueue2 :: DeviceCmds -> Bool +hasGetDeviceQueue2 = (/= nullFunPtr) . pVkGetDeviceQueue2 +hasCreateValidationCacheEXT :: DeviceCmds -> Bool +hasCreateValidationCacheEXT = (/= nullFunPtr) . pVkCreateValidationCacheEXT +hasDestroyValidationCacheEXT :: DeviceCmds -> Bool +hasDestroyValidationCacheEXT = (/= nullFunPtr) . pVkDestroyValidationCacheEXT +hasGetValidationCacheDataEXT :: DeviceCmds -> Bool +hasGetValidationCacheDataEXT = (/= nullFunPtr) . pVkGetValidationCacheDataEXT +hasMergeValidationCachesEXT :: DeviceCmds -> Bool +hasMergeValidationCachesEXT = (/= nullFunPtr) . pVkMergeValidationCachesEXT +hasGetDescriptorSetLayoutSupport :: DeviceCmds -> Bool +hasGetDescriptorSetLayoutSupport = (/= nullFunPtr) . pVkGetDescriptorSetLayoutSupport +hasGetSwapchainGrallocUsageANDROID :: DeviceCmds -> Bool +hasGetSwapchainGrallocUsageANDROID = (/= nullFunPtr) . pVkGetSwapchainGrallocUsageANDROID +hasAcquireImageANDROID :: DeviceCmds -> Bool +hasAcquireImageANDROID = (/= nullFunPtr) . pVkAcquireImageANDROID +hasQueueSignalReleaseImageANDROID :: DeviceCmds -> Bool +hasQueueSignalReleaseImageANDROID = (/= nullFunPtr) . pVkQueueSignalReleaseImageANDROID +hasGetShaderInfoAMD :: DeviceCmds -> Bool +hasGetShaderInfoAMD = (/= nullFunPtr) . pVkGetShaderInfoAMD +hasSetDebugUtilsObjectNameEXT :: DeviceCmds -> Bool +hasSetDebugUtilsObjectNameEXT = (/= nullFunPtr) . pVkSetDebugUtilsObjectNameEXT +hasSetDebugUtilsObjectTagEXT :: DeviceCmds -> Bool +hasSetDebugUtilsObjectTagEXT = (/= nullFunPtr) . pVkSetDebugUtilsObjectTagEXT +hasQueueBeginDebugUtilsLabelEXT :: DeviceCmds -> Bool +hasQueueBeginDebugUtilsLabelEXT = (/= nullFunPtr) . pVkQueueBeginDebugUtilsLabelEXT +hasQueueEndDebugUtilsLabelEXT :: DeviceCmds -> Bool +hasQueueEndDebugUtilsLabelEXT = (/= nullFunPtr) . pVkQueueEndDebugUtilsLabelEXT +hasQueueInsertDebugUtilsLabelEXT :: DeviceCmds -> Bool +hasQueueInsertDebugUtilsLabelEXT = (/= nullFunPtr) . pVkQueueInsertDebugUtilsLabelEXT +hasCmdBeginDebugUtilsLabelEXT :: DeviceCmds -> Bool +hasCmdBeginDebugUtilsLabelEXT = (/= nullFunPtr) . pVkCmdBeginDebugUtilsLabelEXT +hasCmdEndDebugUtilsLabelEXT :: DeviceCmds -> Bool +hasCmdEndDebugUtilsLabelEXT = (/= nullFunPtr) . pVkCmdEndDebugUtilsLabelEXT +hasCmdInsertDebugUtilsLabelEXT :: DeviceCmds -> Bool +hasCmdInsertDebugUtilsLabelEXT = (/= nullFunPtr) . pVkCmdInsertDebugUtilsLabelEXT +hasGetMemoryHostPointerPropertiesEXT :: DeviceCmds -> Bool +hasGetMemoryHostPointerPropertiesEXT = (/= nullFunPtr) . pVkGetMemoryHostPointerPropertiesEXT +hasCmdWriteBufferMarkerAMD :: DeviceCmds -> Bool +hasCmdWriteBufferMarkerAMD = (/= nullFunPtr) . pVkCmdWriteBufferMarkerAMD +hasGetAndroidHardwareBufferPropertiesANDROID :: DeviceCmds -> Bool +hasGetAndroidHardwareBufferPropertiesANDROID = (/= nullFunPtr) . pVkGetAndroidHardwareBufferPropertiesANDROID +hasGetMemoryAndroidHardwareBufferANDROID :: DeviceCmds -> Bool +hasGetMemoryAndroidHardwareBufferANDROID = (/= nullFunPtr) . pVkGetMemoryAndroidHardwareBufferANDROID + +hasDestroyInstance :: InstanceCmds -> Bool +hasDestroyInstance = (/= nullFunPtr) . pVkDestroyInstance +hasEnumeratePhysicalDevices :: InstanceCmds -> Bool +hasEnumeratePhysicalDevices = (/= nullFunPtr) . pVkEnumeratePhysicalDevices +hasGetInstanceProcAddr :: InstanceCmds -> Bool +hasGetInstanceProcAddr = (/= nullFunPtr) . pVkGetInstanceProcAddr +hasGetPhysicalDeviceProperties :: InstanceCmds -> Bool +hasGetPhysicalDeviceProperties = (/= nullFunPtr) . pVkGetPhysicalDeviceProperties +hasGetPhysicalDeviceQueueFamilyProperties :: InstanceCmds -> Bool +hasGetPhysicalDeviceQueueFamilyProperties = (/= nullFunPtr) . pVkGetPhysicalDeviceQueueFamilyProperties +hasGetPhysicalDeviceMemoryProperties :: InstanceCmds -> Bool +hasGetPhysicalDeviceMemoryProperties = (/= nullFunPtr) . pVkGetPhysicalDeviceMemoryProperties +hasGetPhysicalDeviceFeatures :: InstanceCmds -> Bool +hasGetPhysicalDeviceFeatures = (/= nullFunPtr) . pVkGetPhysicalDeviceFeatures +hasGetPhysicalDeviceFormatProperties :: InstanceCmds -> Bool +hasGetPhysicalDeviceFormatProperties = (/= nullFunPtr) . pVkGetPhysicalDeviceFormatProperties +hasGetPhysicalDeviceImageFormatProperties :: InstanceCmds -> Bool +hasGetPhysicalDeviceImageFormatProperties = (/= nullFunPtr) . pVkGetPhysicalDeviceImageFormatProperties +hasCreateDevice :: InstanceCmds -> Bool +hasCreateDevice = (/= nullFunPtr) . pVkCreateDevice +hasEnumerateDeviceLayerProperties :: InstanceCmds -> Bool +hasEnumerateDeviceLayerProperties = (/= nullFunPtr) . pVkEnumerateDeviceLayerProperties +hasEnumerateDeviceExtensionProperties :: InstanceCmds -> Bool +hasEnumerateDeviceExtensionProperties = (/= nullFunPtr) . pVkEnumerateDeviceExtensionProperties +hasGetPhysicalDeviceSparseImageFormatProperties :: InstanceCmds -> Bool +hasGetPhysicalDeviceSparseImageFormatProperties = (/= nullFunPtr) . pVkGetPhysicalDeviceSparseImageFormatProperties +hasCreateAndroidSurfaceKHR :: InstanceCmds -> Bool +hasCreateAndroidSurfaceKHR = (/= nullFunPtr) . pVkCreateAndroidSurfaceKHR +hasGetPhysicalDeviceDisplayPropertiesKHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceDisplayPropertiesKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceDisplayPropertiesKHR +hasGetPhysicalDeviceDisplayPlanePropertiesKHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceDisplayPlanePropertiesKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceDisplayPlanePropertiesKHR +hasGetDisplayPlaneSupportedDisplaysKHR :: InstanceCmds -> Bool +hasGetDisplayPlaneSupportedDisplaysKHR = (/= nullFunPtr) . pVkGetDisplayPlaneSupportedDisplaysKHR +hasGetDisplayModePropertiesKHR :: InstanceCmds -> Bool +hasGetDisplayModePropertiesKHR = (/= nullFunPtr) . pVkGetDisplayModePropertiesKHR +hasCreateDisplayModeKHR :: InstanceCmds -> Bool +hasCreateDisplayModeKHR = (/= nullFunPtr) . pVkCreateDisplayModeKHR +hasGetDisplayPlaneCapabilitiesKHR :: InstanceCmds -> Bool +hasGetDisplayPlaneCapabilitiesKHR = (/= nullFunPtr) . pVkGetDisplayPlaneCapabilitiesKHR +hasCreateDisplayPlaneSurfaceKHR :: InstanceCmds -> Bool +hasCreateDisplayPlaneSurfaceKHR = (/= nullFunPtr) . pVkCreateDisplayPlaneSurfaceKHR +hasCreateMirSurfaceKHR :: InstanceCmds -> Bool +hasCreateMirSurfaceKHR = (/= nullFunPtr) . pVkCreateMirSurfaceKHR +hasGetPhysicalDeviceMirPresentationSupportKHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceMirPresentationSupportKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceMirPresentationSupportKHR +hasDestroySurfaceKHR :: InstanceCmds -> Bool +hasDestroySurfaceKHR = (/= nullFunPtr) . pVkDestroySurfaceKHR +hasGetPhysicalDeviceSurfaceSupportKHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceSurfaceSupportKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceSurfaceSupportKHR +hasGetPhysicalDeviceSurfaceCapabilitiesKHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceSurfaceCapabilitiesKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceSurfaceCapabilitiesKHR +hasGetPhysicalDeviceSurfaceFormatsKHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceSurfaceFormatsKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceSurfaceFormatsKHR +hasGetPhysicalDeviceSurfacePresentModesKHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceSurfacePresentModesKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceSurfacePresentModesKHR +hasCreateViSurfaceNN :: InstanceCmds -> Bool +hasCreateViSurfaceNN = (/= nullFunPtr) . pVkCreateViSurfaceNN +hasCreateWaylandSurfaceKHR :: InstanceCmds -> Bool +hasCreateWaylandSurfaceKHR = (/= nullFunPtr) . pVkCreateWaylandSurfaceKHR +hasGetPhysicalDeviceWaylandPresentationSupportKHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceWaylandPresentationSupportKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceWaylandPresentationSupportKHR +hasCreateWin32SurfaceKHR :: InstanceCmds -> Bool +hasCreateWin32SurfaceKHR = (/= nullFunPtr) . pVkCreateWin32SurfaceKHR +hasGetPhysicalDeviceWin32PresentationSupportKHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceWin32PresentationSupportKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceWin32PresentationSupportKHR +hasCreateXlibSurfaceKHR :: InstanceCmds -> Bool +hasCreateXlibSurfaceKHR = (/= nullFunPtr) . pVkCreateXlibSurfaceKHR +hasGetPhysicalDeviceXlibPresentationSupportKHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceXlibPresentationSupportKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceXlibPresentationSupportKHR +hasCreateXcbSurfaceKHR :: InstanceCmds -> Bool +hasCreateXcbSurfaceKHR = (/= nullFunPtr) . pVkCreateXcbSurfaceKHR +hasGetPhysicalDeviceXcbPresentationSupportKHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceXcbPresentationSupportKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceXcbPresentationSupportKHR +hasCreateDebugReportCallbackEXT :: InstanceCmds -> Bool +hasCreateDebugReportCallbackEXT = (/= nullFunPtr) . pVkCreateDebugReportCallbackEXT +hasDestroyDebugReportCallbackEXT :: InstanceCmds -> Bool +hasDestroyDebugReportCallbackEXT = (/= nullFunPtr) . pVkDestroyDebugReportCallbackEXT +hasDebugReportMessageEXT :: InstanceCmds -> Bool +hasDebugReportMessageEXT = (/= nullFunPtr) . pVkDebugReportMessageEXT +hasGetPhysicalDeviceExternalImageFormatPropertiesNV :: InstanceCmds -> Bool +hasGetPhysicalDeviceExternalImageFormatPropertiesNV = (/= nullFunPtr) . pVkGetPhysicalDeviceExternalImageFormatPropertiesNV +hasGetPhysicalDeviceGeneratedCommandsPropertiesNVX :: InstanceCmds -> Bool +hasGetPhysicalDeviceGeneratedCommandsPropertiesNVX = (/= nullFunPtr) . pVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX +hasGetPhysicalDeviceFeatures2 :: InstanceCmds -> Bool +hasGetPhysicalDeviceFeatures2 = (/= nullFunPtr) . pVkGetPhysicalDeviceFeatures2 +hasGetPhysicalDeviceProperties2 :: InstanceCmds -> Bool +hasGetPhysicalDeviceProperties2 = (/= nullFunPtr) . pVkGetPhysicalDeviceProperties2 +hasGetPhysicalDeviceFormatProperties2 :: InstanceCmds -> Bool +hasGetPhysicalDeviceFormatProperties2 = (/= nullFunPtr) . pVkGetPhysicalDeviceFormatProperties2 +hasGetPhysicalDeviceImageFormatProperties2 :: InstanceCmds -> Bool +hasGetPhysicalDeviceImageFormatProperties2 = (/= nullFunPtr) . pVkGetPhysicalDeviceImageFormatProperties2 +hasGetPhysicalDeviceQueueFamilyProperties2 :: InstanceCmds -> Bool +hasGetPhysicalDeviceQueueFamilyProperties2 = (/= nullFunPtr) . pVkGetPhysicalDeviceQueueFamilyProperties2 +hasGetPhysicalDeviceMemoryProperties2 :: InstanceCmds -> Bool +hasGetPhysicalDeviceMemoryProperties2 = (/= nullFunPtr) . pVkGetPhysicalDeviceMemoryProperties2 +hasGetPhysicalDeviceSparseImageFormatProperties2 :: InstanceCmds -> Bool +hasGetPhysicalDeviceSparseImageFormatProperties2 = (/= nullFunPtr) . pVkGetPhysicalDeviceSparseImageFormatProperties2 +hasGetPhysicalDeviceExternalBufferProperties :: InstanceCmds -> Bool +hasGetPhysicalDeviceExternalBufferProperties = (/= nullFunPtr) . pVkGetPhysicalDeviceExternalBufferProperties +hasGetPhysicalDeviceExternalSemaphoreProperties :: InstanceCmds -> Bool +hasGetPhysicalDeviceExternalSemaphoreProperties = (/= nullFunPtr) . pVkGetPhysicalDeviceExternalSemaphoreProperties +hasGetPhysicalDeviceExternalFenceProperties :: InstanceCmds -> Bool +hasGetPhysicalDeviceExternalFenceProperties = (/= nullFunPtr) . pVkGetPhysicalDeviceExternalFenceProperties +hasReleaseDisplayEXT :: InstanceCmds -> Bool +hasReleaseDisplayEXT = (/= nullFunPtr) . pVkReleaseDisplayEXT +hasAcquireXlibDisplayEXT :: InstanceCmds -> Bool +hasAcquireXlibDisplayEXT = (/= nullFunPtr) . pVkAcquireXlibDisplayEXT +hasGetRandROutputDisplayEXT :: InstanceCmds -> Bool +hasGetRandROutputDisplayEXT = (/= nullFunPtr) . pVkGetRandROutputDisplayEXT +hasGetPhysicalDeviceSurfaceCapabilities2EXT :: InstanceCmds -> Bool +hasGetPhysicalDeviceSurfaceCapabilities2EXT = (/= nullFunPtr) . pVkGetPhysicalDeviceSurfaceCapabilities2EXT +hasEnumeratePhysicalDeviceGroups :: InstanceCmds -> Bool +hasEnumeratePhysicalDeviceGroups = (/= nullFunPtr) . pVkEnumeratePhysicalDeviceGroups +hasGetPhysicalDevicePresentRectanglesKHR :: InstanceCmds -> Bool +hasGetPhysicalDevicePresentRectanglesKHR = (/= nullFunPtr) . pVkGetPhysicalDevicePresentRectanglesKHR +hasCreateIOSSurfaceMVK :: InstanceCmds -> Bool +hasCreateIOSSurfaceMVK = (/= nullFunPtr) . pVkCreateIOSSurfaceMVK +hasCreateMacOSSurfaceMVK :: InstanceCmds -> Bool +hasCreateMacOSSurfaceMVK = (/= nullFunPtr) . pVkCreateMacOSSurfaceMVK +hasGetPhysicalDeviceMultisamplePropertiesEXT :: InstanceCmds -> Bool +hasGetPhysicalDeviceMultisamplePropertiesEXT = (/= nullFunPtr) . pVkGetPhysicalDeviceMultisamplePropertiesEXT +hasGetPhysicalDeviceSurfaceCapabilities2KHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceSurfaceCapabilities2KHR = (/= nullFunPtr) . pVkGetPhysicalDeviceSurfaceCapabilities2KHR +hasGetPhysicalDeviceSurfaceFormats2KHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceSurfaceFormats2KHR = (/= nullFunPtr) . pVkGetPhysicalDeviceSurfaceFormats2KHR +hasCreateDebugUtilsMessengerEXT :: InstanceCmds -> Bool +hasCreateDebugUtilsMessengerEXT = (/= nullFunPtr) . pVkCreateDebugUtilsMessengerEXT +hasDestroyDebugUtilsMessengerEXT :: InstanceCmds -> Bool +hasDestroyDebugUtilsMessengerEXT = (/= nullFunPtr) . pVkDestroyDebugUtilsMessengerEXT +hasSubmitDebugUtilsMessageEXT :: InstanceCmds -> Bool +hasSubmitDebugUtilsMessageEXT = (/= nullFunPtr) . pVkSubmitDebugUtilsMessageEXT + +-- * Device commands +getDeviceProcAddr :: DeviceCmds -> (("device" ::: VkDevice) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) +getDeviceProcAddr deviceCmds = mkVkGetDeviceProcAddr (pVkGetDeviceProcAddr deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetDeviceProcAddr + :: FunPtr (("device" ::: VkDevice) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) -> (("device" ::: VkDevice) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) +destroyDevice :: DeviceCmds -> (("device" ::: VkDevice) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyDevice deviceCmds = mkVkDestroyDevice (pVkDestroyDevice deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyDevice + :: FunPtr (("device" ::: VkDevice) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +getDeviceQueue :: DeviceCmds -> (("device" ::: VkDevice) -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) +getDeviceQueue deviceCmds = mkVkGetDeviceQueue (pVkGetDeviceQueue deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetDeviceQueue + :: FunPtr (("device" ::: VkDevice) -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) -> (("device" ::: VkDevice) -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) +queueSubmit :: DeviceCmds -> (("queue" ::: VkQueue) -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr VkSubmitInfo) -> ("fence" ::: VkFence) -> IO VkResult) +queueSubmit deviceCmds = mkVkQueueSubmit (pVkQueueSubmit deviceCmds) +foreign import ccall unsafe "dynamic" mkVkQueueSubmit + :: FunPtr (("queue" ::: VkQueue) -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr VkSubmitInfo) -> ("fence" ::: VkFence) -> IO VkResult) -> (("queue" ::: VkQueue) -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr VkSubmitInfo) -> ("fence" ::: VkFence) -> IO VkResult) +queueWaitIdle :: DeviceCmds -> (("queue" ::: VkQueue) -> IO VkResult) +queueWaitIdle deviceCmds = mkVkQueueWaitIdle (pVkQueueWaitIdle deviceCmds) +foreign import ccall unsafe "dynamic" mkVkQueueWaitIdle + :: FunPtr (("queue" ::: VkQueue) -> IO VkResult) -> (("queue" ::: VkQueue) -> IO VkResult) +deviceWaitIdle :: DeviceCmds -> (("device" ::: VkDevice) -> IO VkResult) +deviceWaitIdle deviceCmds = mkVkDeviceWaitIdle (pVkDeviceWaitIdle deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDeviceWaitIdle + :: FunPtr (("device" ::: VkDevice) -> IO VkResult) -> (("device" ::: VkDevice) -> IO VkResult) +allocateMemory :: DeviceCmds -> (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkMemoryAllocateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMemory" ::: Ptr VkDeviceMemory) -> IO VkResult) +allocateMemory deviceCmds = mkVkAllocateMemory (pVkAllocateMemory deviceCmds) +foreign import ccall unsafe "dynamic" mkVkAllocateMemory + :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkMemoryAllocateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMemory" ::: Ptr VkDeviceMemory) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkMemoryAllocateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMemory" ::: Ptr VkDeviceMemory) -> IO VkResult) +freeMemory :: DeviceCmds -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +freeMemory deviceCmds = mkVkFreeMemory (pVkFreeMemory deviceCmds) +foreign import ccall unsafe "dynamic" mkVkFreeMemory + :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +mapMemory :: DeviceCmds -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("offset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("flags" ::: VkMemoryMapFlags) -> ("ppData" ::: Ptr (Ptr ())) -> IO VkResult) +mapMemory deviceCmds = mkVkMapMemory (pVkMapMemory deviceCmds) +foreign import ccall unsafe "dynamic" mkVkMapMemory + :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("offset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("flags" ::: VkMemoryMapFlags) -> ("ppData" ::: Ptr (Ptr ())) -> IO VkResult) -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("offset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("flags" ::: VkMemoryMapFlags) -> ("ppData" ::: Ptr (Ptr ())) -> IO VkResult) +unmapMemory :: DeviceCmds -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> IO ()) +unmapMemory deviceCmds = mkVkUnmapMemory (pVkUnmapMemory deviceCmds) +foreign import ccall unsafe "dynamic" mkVkUnmapMemory + :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> IO ()) -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> IO ()) +flushMappedMemoryRanges :: DeviceCmds -> (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) +flushMappedMemoryRanges deviceCmds = mkVkFlushMappedMemoryRanges (pVkFlushMappedMemoryRanges deviceCmds) +foreign import ccall unsafe "dynamic" mkVkFlushMappedMemoryRanges + :: FunPtr (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) -> (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) +invalidateMappedMemoryRanges :: DeviceCmds -> (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) +invalidateMappedMemoryRanges deviceCmds = mkVkInvalidateMappedMemoryRanges (pVkInvalidateMappedMemoryRanges deviceCmds) +foreign import ccall unsafe "dynamic" mkVkInvalidateMappedMemoryRanges + :: FunPtr (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) -> (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) +getDeviceMemoryCommitment :: DeviceCmds -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pCommittedMemoryInBytes" ::: Ptr VkDeviceSize) -> IO ()) +getDeviceMemoryCommitment deviceCmds = mkVkGetDeviceMemoryCommitment (pVkGetDeviceMemoryCommitment deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetDeviceMemoryCommitment + :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pCommittedMemoryInBytes" ::: Ptr VkDeviceSize) -> IO ()) -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pCommittedMemoryInBytes" ::: Ptr VkDeviceSize) -> IO ()) +getBufferMemoryRequirements :: DeviceCmds -> (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) +getBufferMemoryRequirements deviceCmds = mkVkGetBufferMemoryRequirements (pVkGetBufferMemoryRequirements deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetBufferMemoryRequirements + :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) -> (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) +bindBufferMemory :: DeviceCmds -> (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) +bindBufferMemory deviceCmds = mkVkBindBufferMemory (pVkBindBufferMemory deviceCmds) +foreign import ccall unsafe "dynamic" mkVkBindBufferMemory + :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) -> (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) +getImageMemoryRequirements :: DeviceCmds -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) +getImageMemoryRequirements deviceCmds = mkVkGetImageMemoryRequirements (pVkGetImageMemoryRequirements deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetImageMemoryRequirements + :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) +bindImageMemory :: DeviceCmds -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) +bindImageMemory deviceCmds = mkVkBindImageMemory (pVkBindImageMemory deviceCmds) +foreign import ccall unsafe "dynamic" mkVkBindImageMemory + :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) +getImageSparseMemoryRequirements :: DeviceCmds -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements) -> IO ()) +getImageSparseMemoryRequirements deviceCmds = mkVkGetImageSparseMemoryRequirements (pVkGetImageSparseMemoryRequirements deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetImageSparseMemoryRequirements + :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements) -> IO ()) -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements) -> IO ()) +queueBindSparse :: DeviceCmds -> (("queue" ::: VkQueue) -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr VkBindSparseInfo) -> ("fence" ::: VkFence) -> IO VkResult) +queueBindSparse deviceCmds = mkVkQueueBindSparse (pVkQueueBindSparse deviceCmds) +foreign import ccall unsafe "dynamic" mkVkQueueBindSparse + :: FunPtr (("queue" ::: VkQueue) -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr VkBindSparseInfo) -> ("fence" ::: VkFence) -> IO VkResult) -> (("queue" ::: VkQueue) -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr VkBindSparseInfo) -> ("fence" ::: VkFence) -> IO VkResult) +createFence :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFenceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) +createFence deviceCmds = mkVkCreateFence (pVkCreateFence deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateFence + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFenceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFenceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) +destroyFence :: DeviceCmds -> (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyFence deviceCmds = mkVkDestroyFence (pVkDestroyFence deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyFence + :: FunPtr (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +resetFences :: DeviceCmds -> (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> IO VkResult) +resetFences deviceCmds = mkVkResetFences (pVkResetFences deviceCmds) +foreign import ccall unsafe "dynamic" mkVkResetFences + :: FunPtr (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> IO VkResult) -> (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> IO VkResult) +getFenceStatus :: DeviceCmds -> (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> IO VkResult) +getFenceStatus deviceCmds = mkVkGetFenceStatus (pVkGetFenceStatus deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetFenceStatus + :: FunPtr (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> IO VkResult) -> (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> IO VkResult) +waitForFences :: DeviceCmds -> (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> ("waitAll" ::: VkBool32) -> ("timeout" ::: Word64) -> IO VkResult) +waitForFences deviceCmds = mkVkWaitForFences (pVkWaitForFences deviceCmds) +foreign import ccall unsafe "dynamic" mkVkWaitForFences + :: FunPtr (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> ("waitAll" ::: VkBool32) -> ("timeout" ::: Word64) -> IO VkResult) -> (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> ("waitAll" ::: VkBool32) -> ("timeout" ::: Word64) -> IO VkResult) +createSemaphore :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSemaphoreCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSemaphore" ::: Ptr VkSemaphore) -> IO VkResult) +createSemaphore deviceCmds = mkVkCreateSemaphore (pVkCreateSemaphore deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateSemaphore + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSemaphoreCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSemaphore" ::: Ptr VkSemaphore) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSemaphoreCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSemaphore" ::: Ptr VkSemaphore) -> IO VkResult) +destroySemaphore :: DeviceCmds -> (("device" ::: VkDevice) -> ("semaphore" ::: VkSemaphore) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroySemaphore deviceCmds = mkVkDestroySemaphore (pVkDestroySemaphore deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroySemaphore + :: FunPtr (("device" ::: VkDevice) -> ("semaphore" ::: VkSemaphore) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("semaphore" ::: VkSemaphore) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +createEvent :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkEventCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pEvent" ::: Ptr VkEvent) -> IO VkResult) +createEvent deviceCmds = mkVkCreateEvent (pVkCreateEvent deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateEvent + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkEventCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pEvent" ::: Ptr VkEvent) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkEventCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pEvent" ::: Ptr VkEvent) -> IO VkResult) +destroyEvent :: DeviceCmds -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyEvent deviceCmds = mkVkDestroyEvent (pVkDestroyEvent deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyEvent + :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +getEventStatus :: DeviceCmds -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) +getEventStatus deviceCmds = mkVkGetEventStatus (pVkGetEventStatus deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetEventStatus + :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) +setEvent :: DeviceCmds -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) +setEvent deviceCmds = mkVkSetEvent (pVkSetEvent deviceCmds) +foreign import ccall unsafe "dynamic" mkVkSetEvent + :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) +resetEvent :: DeviceCmds -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) +resetEvent deviceCmds = mkVkResetEvent (pVkResetEvent deviceCmds) +foreign import ccall unsafe "dynamic" mkVkResetEvent + :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) +createQueryPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkQueryPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pQueryPool" ::: Ptr VkQueryPool) -> IO VkResult) +createQueryPool deviceCmds = mkVkCreateQueryPool (pVkCreateQueryPool deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateQueryPool + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkQueryPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pQueryPool" ::: Ptr VkQueryPool) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkQueryPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pQueryPool" ::: Ptr VkQueryPool) -> IO VkResult) +destroyQueryPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyQueryPool deviceCmds = mkVkDestroyQueryPool (pVkDestroyQueryPool deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyQueryPool + :: FunPtr (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +getQueryPoolResults :: DeviceCmds -> (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO VkResult) +getQueryPoolResults deviceCmds = mkVkGetQueryPoolResults (pVkGetQueryPoolResults deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetQueryPoolResults + :: FunPtr (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO VkResult) -> (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO VkResult) +createBuffer :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pBuffer" ::: Ptr VkBuffer) -> IO VkResult) +createBuffer deviceCmds = mkVkCreateBuffer (pVkCreateBuffer deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateBuffer + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pBuffer" ::: Ptr VkBuffer) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pBuffer" ::: Ptr VkBuffer) -> IO VkResult) +destroyBuffer :: DeviceCmds -> (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyBuffer deviceCmds = mkVkDestroyBuffer (pVkDestroyBuffer deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyBuffer + :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +createBufferView :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkBufferView) -> IO VkResult) +createBufferView deviceCmds = mkVkCreateBufferView (pVkCreateBufferView deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateBufferView + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkBufferView) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkBufferView) -> IO VkResult) +destroyBufferView :: DeviceCmds -> (("device" ::: VkDevice) -> ("bufferView" ::: VkBufferView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyBufferView deviceCmds = mkVkDestroyBufferView (pVkDestroyBufferView deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyBufferView + :: FunPtr (("device" ::: VkDevice) -> ("bufferView" ::: VkBufferView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("bufferView" ::: VkBufferView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +createImage :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pImage" ::: Ptr VkImage) -> IO VkResult) +createImage deviceCmds = mkVkCreateImage (pVkCreateImage deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateImage + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pImage" ::: Ptr VkImage) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pImage" ::: Ptr VkImage) -> IO VkResult) +destroyImage :: DeviceCmds -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyImage deviceCmds = mkVkDestroyImage (pVkDestroyImage deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyImage + :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +getImageSubresourceLayout :: DeviceCmds -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSubresource" ::: Ptr VkImageSubresource) -> ("pLayout" ::: Ptr VkSubresourceLayout) -> IO ()) +getImageSubresourceLayout deviceCmds = mkVkGetImageSubresourceLayout (pVkGetImageSubresourceLayout deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetImageSubresourceLayout + :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSubresource" ::: Ptr VkImageSubresource) -> ("pLayout" ::: Ptr VkSubresourceLayout) -> IO ()) -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSubresource" ::: Ptr VkImageSubresource) -> ("pLayout" ::: Ptr VkSubresourceLayout) -> IO ()) +createImageView :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkImageView) -> IO VkResult) +createImageView deviceCmds = mkVkCreateImageView (pVkCreateImageView deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateImageView + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkImageView) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkImageView) -> IO VkResult) +destroyImageView :: DeviceCmds -> (("device" ::: VkDevice) -> ("imageView" ::: VkImageView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyImageView deviceCmds = mkVkDestroyImageView (pVkDestroyImageView deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyImageView + :: FunPtr (("device" ::: VkDevice) -> ("imageView" ::: VkImageView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("imageView" ::: VkImageView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +createShaderModule :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkShaderModuleCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pShaderModule" ::: Ptr VkShaderModule) -> IO VkResult) +createShaderModule deviceCmds = mkVkCreateShaderModule (pVkCreateShaderModule deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateShaderModule + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkShaderModuleCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pShaderModule" ::: Ptr VkShaderModule) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkShaderModuleCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pShaderModule" ::: Ptr VkShaderModule) -> IO VkResult) +destroyShaderModule :: DeviceCmds -> (("device" ::: VkDevice) -> ("shaderModule" ::: VkShaderModule) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyShaderModule deviceCmds = mkVkDestroyShaderModule (pVkDestroyShaderModule deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyShaderModule + :: FunPtr (("device" ::: VkDevice) -> ("shaderModule" ::: VkShaderModule) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("shaderModule" ::: VkShaderModule) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +createPipelineCache :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineCache" ::: Ptr VkPipelineCache) -> IO VkResult) +createPipelineCache deviceCmds = mkVkCreatePipelineCache (pVkCreatePipelineCache deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreatePipelineCache + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineCache" ::: Ptr VkPipelineCache) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineCache" ::: Ptr VkPipelineCache) -> IO VkResult) +destroyPipelineCache :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyPipelineCache deviceCmds = mkVkDestroyPipelineCache (pVkDestroyPipelineCache deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyPipelineCache + :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +getPipelineCacheData :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) +getPipelineCacheData deviceCmds = mkVkGetPipelineCacheData (pVkGetPipelineCacheData deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPipelineCacheData + :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) +mergePipelineCaches :: DeviceCmds -> (("device" ::: VkDevice) -> ("dstCache" ::: VkPipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkPipelineCache) -> IO VkResult) +mergePipelineCaches deviceCmds = mkVkMergePipelineCaches (pVkMergePipelineCaches deviceCmds) +foreign import ccall unsafe "dynamic" mkVkMergePipelineCaches + :: FunPtr (("device" ::: VkDevice) -> ("dstCache" ::: VkPipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkPipelineCache) -> IO VkResult) -> (("device" ::: VkDevice) -> ("dstCache" ::: VkPipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkPipelineCache) -> IO VkResult) +createGraphicsPipelines :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkGraphicsPipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) +createGraphicsPipelines deviceCmds = mkVkCreateGraphicsPipelines (pVkCreateGraphicsPipelines deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateGraphicsPipelines + :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkGraphicsPipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkGraphicsPipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) +createComputePipelines :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkComputePipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) +createComputePipelines deviceCmds = mkVkCreateComputePipelines (pVkCreateComputePipelines deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateComputePipelines + :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkComputePipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkComputePipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) +destroyPipeline :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyPipeline deviceCmds = mkVkDestroyPipeline (pVkDestroyPipeline deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyPipeline + :: FunPtr (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +createPipelineLayout :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineLayout" ::: Ptr VkPipelineLayout) -> IO VkResult) +createPipelineLayout deviceCmds = mkVkCreatePipelineLayout (pVkCreatePipelineLayout deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreatePipelineLayout + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineLayout" ::: Ptr VkPipelineLayout) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineLayout" ::: Ptr VkPipelineLayout) -> IO VkResult) +destroyPipelineLayout :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipelineLayout" ::: VkPipelineLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyPipelineLayout deviceCmds = mkVkDestroyPipelineLayout (pVkDestroyPipelineLayout deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyPipelineLayout + :: FunPtr (("device" ::: VkDevice) -> ("pipelineLayout" ::: VkPipelineLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("pipelineLayout" ::: VkPipelineLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +createSampler :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSampler" ::: Ptr VkSampler) -> IO VkResult) +createSampler deviceCmds = mkVkCreateSampler (pVkCreateSampler deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateSampler + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSampler" ::: Ptr VkSampler) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSampler" ::: Ptr VkSampler) -> IO VkResult) +destroySampler :: DeviceCmds -> (("device" ::: VkDevice) -> ("sampler" ::: VkSampler) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroySampler deviceCmds = mkVkDestroySampler (pVkDestroySampler deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroySampler + :: FunPtr (("device" ::: VkDevice) -> ("sampler" ::: VkSampler) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("sampler" ::: VkSampler) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +createDescriptorSetLayout :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSetLayout" ::: Ptr VkDescriptorSetLayout) -> IO VkResult) +createDescriptorSetLayout deviceCmds = mkVkCreateDescriptorSetLayout (pVkCreateDescriptorSetLayout deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateDescriptorSetLayout + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSetLayout" ::: Ptr VkDescriptorSetLayout) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSetLayout" ::: Ptr VkDescriptorSetLayout) -> IO VkResult) +destroyDescriptorSetLayout :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorSetLayout" ::: VkDescriptorSetLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyDescriptorSetLayout deviceCmds = mkVkDestroyDescriptorSetLayout (pVkDestroyDescriptorSetLayout deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyDescriptorSetLayout + :: FunPtr (("device" ::: VkDevice) -> ("descriptorSetLayout" ::: VkDescriptorSetLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("descriptorSetLayout" ::: VkDescriptorSetLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +createDescriptorPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorPool" ::: Ptr VkDescriptorPool) -> IO VkResult) +createDescriptorPool deviceCmds = mkVkCreateDescriptorPool (pVkCreateDescriptorPool deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateDescriptorPool + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorPool" ::: Ptr VkDescriptorPool) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorPool" ::: Ptr VkDescriptorPool) -> IO VkResult) +destroyDescriptorPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyDescriptorPool deviceCmds = mkVkDestroyDescriptorPool (pVkDestroyDescriptorPool deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyDescriptorPool + :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +resetDescriptorPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("flags" ::: VkDescriptorPoolResetFlags) -> IO VkResult) +resetDescriptorPool deviceCmds = mkVkResetDescriptorPool (pVkResetDescriptorPool deviceCmds) +foreign import ccall unsafe "dynamic" mkVkResetDescriptorPool + :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("flags" ::: VkDescriptorPoolResetFlags) -> IO VkResult) -> (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("flags" ::: VkDescriptorPoolResetFlags) -> IO VkResult) +allocateDescriptorSets :: DeviceCmds -> (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkDescriptorSetAllocateInfo) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) +allocateDescriptorSets deviceCmds = mkVkAllocateDescriptorSets (pVkAllocateDescriptorSets deviceCmds) +foreign import ccall unsafe "dynamic" mkVkAllocateDescriptorSets + :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkDescriptorSetAllocateInfo) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkDescriptorSetAllocateInfo) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) +freeDescriptorSets :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) +freeDescriptorSets deviceCmds = mkVkFreeDescriptorSets (pVkFreeDescriptorSets deviceCmds) +foreign import ccall unsafe "dynamic" mkVkFreeDescriptorSets + :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) -> (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) +updateDescriptorSets :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr VkCopyDescriptorSet) -> IO ()) +updateDescriptorSets deviceCmds = mkVkUpdateDescriptorSets (pVkUpdateDescriptorSets deviceCmds) +foreign import ccall unsafe "dynamic" mkVkUpdateDescriptorSets + :: FunPtr (("device" ::: VkDevice) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr VkCopyDescriptorSet) -> IO ()) -> (("device" ::: VkDevice) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr VkCopyDescriptorSet) -> IO ()) +createFramebuffer :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFramebufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFramebuffer" ::: Ptr VkFramebuffer) -> IO VkResult) +createFramebuffer deviceCmds = mkVkCreateFramebuffer (pVkCreateFramebuffer deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateFramebuffer + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFramebufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFramebuffer" ::: Ptr VkFramebuffer) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFramebufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFramebuffer" ::: Ptr VkFramebuffer) -> IO VkResult) +destroyFramebuffer :: DeviceCmds -> (("device" ::: VkDevice) -> ("framebuffer" ::: VkFramebuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyFramebuffer deviceCmds = mkVkDestroyFramebuffer (pVkDestroyFramebuffer deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyFramebuffer + :: FunPtr (("device" ::: VkDevice) -> ("framebuffer" ::: VkFramebuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("framebuffer" ::: VkFramebuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +createRenderPass :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkRenderPassCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pRenderPass" ::: Ptr VkRenderPass) -> IO VkResult) +createRenderPass deviceCmds = mkVkCreateRenderPass (pVkCreateRenderPass deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateRenderPass + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkRenderPassCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pRenderPass" ::: Ptr VkRenderPass) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkRenderPassCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pRenderPass" ::: Ptr VkRenderPass) -> IO VkResult) +destroyRenderPass :: DeviceCmds -> (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyRenderPass deviceCmds = mkVkDestroyRenderPass (pVkDestroyRenderPass deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyRenderPass + :: FunPtr (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +getRenderAreaGranularity :: DeviceCmds -> (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pGranularity" ::: Ptr VkExtent2D) -> IO ()) +getRenderAreaGranularity deviceCmds = mkVkGetRenderAreaGranularity (pVkGetRenderAreaGranularity deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetRenderAreaGranularity + :: FunPtr (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pGranularity" ::: Ptr VkExtent2D) -> IO ()) -> (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pGranularity" ::: Ptr VkExtent2D) -> IO ()) +createCommandPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkCommandPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCommandPool" ::: Ptr VkCommandPool) -> IO VkResult) +createCommandPool deviceCmds = mkVkCreateCommandPool (pVkCreateCommandPool deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateCommandPool + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkCommandPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCommandPool" ::: Ptr VkCommandPool) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkCommandPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCommandPool" ::: Ptr VkCommandPool) -> IO VkResult) +destroyCommandPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyCommandPool deviceCmds = mkVkDestroyCommandPool (pVkDestroyCommandPool deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyCommandPool + :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +resetCommandPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolResetFlags) -> IO VkResult) +resetCommandPool deviceCmds = mkVkResetCommandPool (pVkResetCommandPool deviceCmds) +foreign import ccall unsafe "dynamic" mkVkResetCommandPool + :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolResetFlags) -> IO VkResult) -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolResetFlags) -> IO VkResult) +allocateCommandBuffers :: DeviceCmds -> (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkCommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO VkResult) +allocateCommandBuffers deviceCmds = mkVkAllocateCommandBuffers (pVkAllocateCommandBuffers deviceCmds) +foreign import ccall unsafe "dynamic" mkVkAllocateCommandBuffers + :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkCommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkCommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO VkResult) +freeCommandBuffers :: DeviceCmds -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) +freeCommandBuffers deviceCmds = mkVkFreeCommandBuffers (pVkFreeCommandBuffers deviceCmds) +foreign import ccall unsafe "dynamic" mkVkFreeCommandBuffers + :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) +beginCommandBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pBeginInfo" ::: Ptr VkCommandBufferBeginInfo) -> IO VkResult) +beginCommandBuffer deviceCmds = mkVkBeginCommandBuffer (pVkBeginCommandBuffer deviceCmds) +foreign import ccall unsafe "dynamic" mkVkBeginCommandBuffer + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pBeginInfo" ::: Ptr VkCommandBufferBeginInfo) -> IO VkResult) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pBeginInfo" ::: Ptr VkCommandBufferBeginInfo) -> IO VkResult) +endCommandBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> IO VkResult) +endCommandBuffer deviceCmds = mkVkEndCommandBuffer (pVkEndCommandBuffer deviceCmds) +foreign import ccall unsafe "dynamic" mkVkEndCommandBuffer + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO VkResult) -> (("commandBuffer" ::: VkCommandBuffer) -> IO VkResult) +resetCommandBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("flags" ::: VkCommandBufferResetFlags) -> IO VkResult) +resetCommandBuffer deviceCmds = mkVkResetCommandBuffer (pVkResetCommandBuffer deviceCmds) +foreign import ccall unsafe "dynamic" mkVkResetCommandBuffer + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("flags" ::: VkCommandBufferResetFlags) -> IO VkResult) -> (("commandBuffer" ::: VkCommandBuffer) -> ("flags" ::: VkCommandBufferResetFlags) -> IO VkResult) +cmdBindPipeline :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("pipeline" ::: VkPipeline) -> IO ()) +cmdBindPipeline deviceCmds = mkVkCmdBindPipeline (pVkCmdBindPipeline deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdBindPipeline + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("pipeline" ::: VkPipeline) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("pipeline" ::: VkPipeline) -> IO ()) +cmdSetViewport :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr VkViewport) -> IO ()) +cmdSetViewport deviceCmds = mkVkCmdSetViewport (pVkCmdSetViewport deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetViewport + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr VkViewport) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr VkViewport) -> IO ()) +cmdSetScissor :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr VkRect2D) -> IO ()) +cmdSetScissor deviceCmds = mkVkCmdSetScissor (pVkCmdSetScissor deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetScissor + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr VkRect2D) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr VkRect2D) -> IO ()) +cmdSetLineWidth :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("lineWidth" ::: CFloat) -> IO ()) +cmdSetLineWidth deviceCmds = mkVkCmdSetLineWidth (pVkCmdSetLineWidth deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetLineWidth + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("lineWidth" ::: CFloat) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("lineWidth" ::: CFloat) -> IO ()) +cmdSetDepthBias :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ()) +cmdSetDepthBias deviceCmds = mkVkCmdSetDepthBias (pVkCmdSetDepthBias deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetDepthBias + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ()) +cmdSetBlendConstants :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("blendConstants" ::: Ptr CFloat) -> IO ()) +cmdSetBlendConstants deviceCmds = mkVkCmdSetBlendConstants (pVkCmdSetBlendConstants deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetBlendConstants + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("blendConstants" ::: Ptr CFloat) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("blendConstants" ::: Ptr CFloat) -> IO ()) +cmdSetDepthBounds :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ()) +cmdSetDepthBounds deviceCmds = mkVkCmdSetDepthBounds (pVkCmdSetDepthBounds deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetDepthBounds + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ()) +cmdSetStencilCompareMask :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ()) +cmdSetStencilCompareMask deviceCmds = mkVkCmdSetStencilCompareMask (pVkCmdSetStencilCompareMask deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetStencilCompareMask + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ()) +cmdSetStencilWriteMask :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ()) +cmdSetStencilWriteMask deviceCmds = mkVkCmdSetStencilWriteMask (pVkCmdSetStencilWriteMask deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetStencilWriteMask + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ()) +cmdSetStencilReference :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("reference" ::: Word32) -> IO ()) +cmdSetStencilReference deviceCmds = mkVkCmdSetStencilReference (pVkCmdSetStencilReference deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetStencilReference + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("reference" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("reference" ::: Word32) -> IO ()) +cmdBindDescriptorSets :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ()) +cmdBindDescriptorSets deviceCmds = mkVkCmdBindDescriptorSets (pVkCmdBindDescriptorSets deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdBindDescriptorSets + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ()) +cmdBindIndexBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("indexType" ::: VkIndexType) -> IO ()) +cmdBindIndexBuffer deviceCmds = mkVkCmdBindIndexBuffer (pVkCmdBindIndexBuffer deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdBindIndexBuffer + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("indexType" ::: VkIndexType) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("indexType" ::: VkIndexType) -> IO ()) +cmdBindVertexBuffers :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr VkBuffer) -> ("pOffsets" ::: Ptr VkDeviceSize) -> IO ()) +cmdBindVertexBuffers deviceCmds = mkVkCmdBindVertexBuffers (pVkCmdBindVertexBuffers deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdBindVertexBuffers + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr VkBuffer) -> ("pOffsets" ::: Ptr VkDeviceSize) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr VkBuffer) -> ("pOffsets" ::: Ptr VkDeviceSize) -> IO ()) +cmdDraw :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ()) +cmdDraw deviceCmds = mkVkCmdDraw (pVkCmdDraw deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdDraw + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ()) +cmdDrawIndexed :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ()) +cmdDrawIndexed deviceCmds = mkVkCmdDrawIndexed (pVkCmdDrawIndexed deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdDrawIndexed + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ()) +cmdDrawIndirect :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) +cmdDrawIndirect deviceCmds = mkVkCmdDrawIndirect (pVkCmdDrawIndirect deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdDrawIndirect + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) +cmdDrawIndexedIndirect :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) +cmdDrawIndexedIndirect deviceCmds = mkVkCmdDrawIndexedIndirect (pVkCmdDrawIndexedIndirect deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdDrawIndexedIndirect + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) +cmdDispatch :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) +cmdDispatch deviceCmds = mkVkCmdDispatch (pVkCmdDispatch deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdDispatch + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) +cmdDispatchIndirect :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> IO ()) +cmdDispatchIndirect deviceCmds = mkVkCmdDispatchIndirect (pVkCmdDispatchIndirect deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdDispatchIndirect + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> IO ()) +cmdCopyBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferCopy) -> IO ()) +cmdCopyBuffer deviceCmds = mkVkCmdCopyBuffer (pVkCmdCopyBuffer deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdCopyBuffer + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferCopy) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferCopy) -> IO ()) +cmdCopyImage :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageCopy) -> IO ()) +cmdCopyImage deviceCmds = mkVkCmdCopyImage (pVkCmdCopyImage deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdCopyImage + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageCopy) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageCopy) -> IO ()) +cmdBlitImage :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageBlit) -> ("filter" ::: VkFilter) -> IO ()) +cmdBlitImage deviceCmds = mkVkCmdBlitImage (pVkCmdBlitImage deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdBlitImage + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageBlit) -> ("filter" ::: VkFilter) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageBlit) -> ("filter" ::: VkFilter) -> IO ()) +cmdCopyBufferToImage :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) +cmdCopyBufferToImage deviceCmds = mkVkCmdCopyBufferToImage (pVkCmdCopyBufferToImage deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdCopyBufferToImage + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) +cmdCopyImageToBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) +cmdCopyImageToBuffer deviceCmds = mkVkCmdCopyImageToBuffer (pVkCmdCopyImageToBuffer deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdCopyImageToBuffer + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) +cmdUpdateBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("dataSize" ::: VkDeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) +cmdUpdateBuffer deviceCmds = mkVkCmdUpdateBuffer (pVkCmdUpdateBuffer deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdUpdateBuffer + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("dataSize" ::: VkDeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("dataSize" ::: VkDeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) +cmdFillBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("data" ::: Word32) -> IO ()) +cmdFillBuffer deviceCmds = mkVkCmdFillBuffer (pVkCmdFillBuffer deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdFillBuffer + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("data" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("data" ::: Word32) -> IO ()) +cmdClearColorImage :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pColor" ::: Ptr VkClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) +cmdClearColorImage deviceCmds = mkVkCmdClearColorImage (pVkCmdClearColorImage deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdClearColorImage + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pColor" ::: Ptr VkClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pColor" ::: Ptr VkClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) +cmdClearDepthStencilImage :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pDepthStencil" ::: Ptr VkClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) +cmdClearDepthStencilImage deviceCmds = mkVkCmdClearDepthStencilImage (pVkCmdClearDepthStencilImage deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdClearDepthStencilImage + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pDepthStencil" ::: Ptr VkClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pDepthStencil" ::: Ptr VkClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) +cmdClearAttachments :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr VkClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr VkClearRect) -> IO ()) +cmdClearAttachments deviceCmds = mkVkCmdClearAttachments (pVkCmdClearAttachments deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdClearAttachments + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr VkClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr VkClearRect) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr VkClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr VkClearRect) -> IO ()) +cmdResolveImage :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageResolve) -> IO ()) +cmdResolveImage deviceCmds = mkVkCmdResolveImage (pVkCmdResolveImage deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdResolveImage + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageResolve) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageResolve) -> IO ()) +cmdSetEvent :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) +cmdSetEvent deviceCmds = mkVkCmdSetEvent (pVkCmdSetEvent deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetEvent + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) +cmdResetEvent :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) +cmdResetEvent deviceCmds = mkVkCmdResetEvent (pVkCmdResetEvent deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdResetEvent + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) +cmdWaitEvents :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr VkEvent) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) +cmdWaitEvents deviceCmds = mkVkCmdWaitEvents (pVkCmdWaitEvents deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdWaitEvents + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr VkEvent) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr VkEvent) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) +cmdPipelineBarrier :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("dependencyFlags" ::: VkDependencyFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) +cmdPipelineBarrier deviceCmds = mkVkCmdPipelineBarrier (pVkCmdPipelineBarrier deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdPipelineBarrier + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("dependencyFlags" ::: VkDependencyFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("dependencyFlags" ::: VkDependencyFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) +cmdBeginQuery :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> ("flags" ::: VkQueryControlFlags) -> IO ()) +cmdBeginQuery deviceCmds = mkVkCmdBeginQuery (pVkCmdBeginQuery deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdBeginQuery + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> ("flags" ::: VkQueryControlFlags) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> ("flags" ::: VkQueryControlFlags) -> IO ()) +cmdEndQuery :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) +cmdEndQuery deviceCmds = mkVkCmdEndQuery (pVkCmdEndQuery deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdEndQuery + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) +cmdResetQueryPool :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) +cmdResetQueryPool deviceCmds = mkVkCmdResetQueryPool (pVkCmdResetQueryPool deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdResetQueryPool + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) +cmdWriteTimestamp :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) +cmdWriteTimestamp deviceCmds = mkVkCmdWriteTimestamp (pVkCmdWriteTimestamp deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdWriteTimestamp + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) +cmdCopyQueryPoolResults :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO ()) +cmdCopyQueryPoolResults deviceCmds = mkVkCmdCopyQueryPoolResults (pVkCmdCopyQueryPoolResults deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdCopyQueryPoolResults + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO ()) +cmdPushConstants :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("layout" ::: VkPipelineLayout) -> ("stageFlags" ::: VkShaderStageFlags) -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO ()) +cmdPushConstants deviceCmds = mkVkCmdPushConstants (pVkCmdPushConstants deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdPushConstants + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("layout" ::: VkPipelineLayout) -> ("stageFlags" ::: VkShaderStageFlags) -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("layout" ::: VkPipelineLayout) -> ("stageFlags" ::: VkShaderStageFlags) -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO ()) +cmdBeginRenderPass :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pRenderPassBegin" ::: Ptr VkRenderPassBeginInfo) -> ("contents" ::: VkSubpassContents) -> IO ()) +cmdBeginRenderPass deviceCmds = mkVkCmdBeginRenderPass (pVkCmdBeginRenderPass deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdBeginRenderPass + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pRenderPassBegin" ::: Ptr VkRenderPassBeginInfo) -> ("contents" ::: VkSubpassContents) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pRenderPassBegin" ::: Ptr VkRenderPassBeginInfo) -> ("contents" ::: VkSubpassContents) -> IO ()) +cmdNextSubpass :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("contents" ::: VkSubpassContents) -> IO ()) +cmdNextSubpass deviceCmds = mkVkCmdNextSubpass (pVkCmdNextSubpass deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdNextSubpass + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("contents" ::: VkSubpassContents) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("contents" ::: VkSubpassContents) -> IO ()) +cmdEndRenderPass :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> IO ()) +cmdEndRenderPass deviceCmds = mkVkCmdEndRenderPass (pVkCmdEndRenderPass deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdEndRenderPass + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> IO ()) +cmdExecuteCommands :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) +cmdExecuteCommands deviceCmds = mkVkCmdExecuteCommands (pVkCmdExecuteCommands deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdExecuteCommands + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) +createSharedSwapchainsKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> IO VkResult) +createSharedSwapchainsKHR deviceCmds = mkVkCreateSharedSwapchainsKHR (pVkCreateSharedSwapchainsKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateSharedSwapchainsKHR + :: FunPtr (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> IO VkResult) +createSwapchainKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchain" ::: Ptr VkSwapchainKHR) -> IO VkResult) +createSwapchainKHR deviceCmds = mkVkCreateSwapchainKHR (pVkCreateSwapchainKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateSwapchainKHR + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchain" ::: Ptr VkSwapchainKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchain" ::: Ptr VkSwapchainKHR) -> IO VkResult) +destroySwapchainKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroySwapchainKHR deviceCmds = mkVkDestroySwapchainKHR (pVkDestroySwapchainKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroySwapchainKHR + :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +getSwapchainImagesKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr VkImage) -> IO VkResult) +getSwapchainImagesKHR deviceCmds = mkVkGetSwapchainImagesKHR (pVkGetSwapchainImagesKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetSwapchainImagesKHR + :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr VkImage) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr VkImage) -> IO VkResult) +acquireNextImageKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("timeout" ::: Word64) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) +acquireNextImageKHR deviceCmds = mkVkAcquireNextImageKHR (pVkAcquireNextImageKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkAcquireNextImageKHR + :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("timeout" ::: Word64) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("timeout" ::: Word64) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) +queuePresentKHR :: DeviceCmds -> (("queue" ::: VkQueue) -> ("pPresentInfo" ::: Ptr VkPresentInfoKHR) -> IO VkResult) +queuePresentKHR deviceCmds = mkVkQueuePresentKHR (pVkQueuePresentKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkQueuePresentKHR + :: FunPtr (("queue" ::: VkQueue) -> ("pPresentInfo" ::: Ptr VkPresentInfoKHR) -> IO VkResult) -> (("queue" ::: VkQueue) -> ("pPresentInfo" ::: Ptr VkPresentInfoKHR) -> IO VkResult) +debugMarkerSetObjectNameEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugMarkerObjectNameInfoEXT) -> IO VkResult) +debugMarkerSetObjectNameEXT deviceCmds = mkVkDebugMarkerSetObjectNameEXT (pVkDebugMarkerSetObjectNameEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDebugMarkerSetObjectNameEXT + :: FunPtr (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugMarkerObjectNameInfoEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugMarkerObjectNameInfoEXT) -> IO VkResult) +debugMarkerSetObjectTagEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugMarkerObjectTagInfoEXT) -> IO VkResult) +debugMarkerSetObjectTagEXT deviceCmds = mkVkDebugMarkerSetObjectTagEXT (pVkDebugMarkerSetObjectTagEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDebugMarkerSetObjectTagEXT + :: FunPtr (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugMarkerObjectTagInfoEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugMarkerObjectTagInfoEXT) -> IO VkResult) +cmdDebugMarkerBeginEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) +cmdDebugMarkerBeginEXT deviceCmds = mkVkCmdDebugMarkerBeginEXT (pVkCmdDebugMarkerBeginEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdDebugMarkerBeginEXT + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) +cmdDebugMarkerEndEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> IO ()) +cmdDebugMarkerEndEXT deviceCmds = mkVkCmdDebugMarkerEndEXT (pVkCmdDebugMarkerEndEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdDebugMarkerEndEXT + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> IO ()) +cmdDebugMarkerInsertEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) +cmdDebugMarkerInsertEXT deviceCmds = mkVkCmdDebugMarkerInsertEXT (pVkCmdDebugMarkerInsertEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdDebugMarkerInsertEXT + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) +getMemoryWin32HandleNV :: DeviceCmds -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) +getMemoryWin32HandleNV deviceCmds = mkVkGetMemoryWin32HandleNV (pVkGetMemoryWin32HandleNV deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetMemoryWin32HandleNV + :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) +cmdDrawIndirectCountAMD :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) +cmdDrawIndirectCountAMD deviceCmds = mkVkCmdDrawIndirectCountAMD (pVkCmdDrawIndirectCountAMD deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdDrawIndirectCountAMD + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) +cmdDrawIndexedIndirectCountAMD :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) +cmdDrawIndexedIndirectCountAMD deviceCmds = mkVkCmdDrawIndexedIndirectCountAMD (pVkCmdDrawIndexedIndirectCountAMD deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdDrawIndexedIndirectCountAMD + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) +cmdProcessCommandsNVX :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pProcessCommandsInfo" ::: Ptr VkCmdProcessCommandsInfoNVX) -> IO ()) +cmdProcessCommandsNVX deviceCmds = mkVkCmdProcessCommandsNVX (pVkCmdProcessCommandsNVX deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdProcessCommandsNVX + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pProcessCommandsInfo" ::: Ptr VkCmdProcessCommandsInfoNVX) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pProcessCommandsInfo" ::: Ptr VkCmdProcessCommandsInfoNVX) -> IO ()) +cmdReserveSpaceForCommandsNVX :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pReserveSpaceInfo" ::: Ptr VkCmdReserveSpaceForCommandsInfoNVX) -> IO ()) +cmdReserveSpaceForCommandsNVX deviceCmds = mkVkCmdReserveSpaceForCommandsNVX (pVkCmdReserveSpaceForCommandsNVX deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdReserveSpaceForCommandsNVX + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pReserveSpaceInfo" ::: Ptr VkCmdReserveSpaceForCommandsInfoNVX) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pReserveSpaceInfo" ::: Ptr VkCmdReserveSpaceForCommandsInfoNVX) -> IO ()) +createIndirectCommandsLayoutNVX :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkIndirectCommandsLayoutCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr VkIndirectCommandsLayoutNVX) -> IO VkResult) +createIndirectCommandsLayoutNVX deviceCmds = mkVkCreateIndirectCommandsLayoutNVX (pVkCreateIndirectCommandsLayoutNVX deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateIndirectCommandsLayoutNVX + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkIndirectCommandsLayoutCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr VkIndirectCommandsLayoutNVX) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkIndirectCommandsLayoutCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr VkIndirectCommandsLayoutNVX) -> IO VkResult) +destroyIndirectCommandsLayoutNVX :: DeviceCmds -> (("device" ::: VkDevice) -> ("indirectCommandsLayout" ::: VkIndirectCommandsLayoutNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyIndirectCommandsLayoutNVX deviceCmds = mkVkDestroyIndirectCommandsLayoutNVX (pVkDestroyIndirectCommandsLayoutNVX deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyIndirectCommandsLayoutNVX + :: FunPtr (("device" ::: VkDevice) -> ("indirectCommandsLayout" ::: VkIndirectCommandsLayoutNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("indirectCommandsLayout" ::: VkIndirectCommandsLayoutNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +createObjectTableNVX :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkObjectTableCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pObjectTable" ::: Ptr VkObjectTableNVX) -> IO VkResult) +createObjectTableNVX deviceCmds = mkVkCreateObjectTableNVX (pVkCreateObjectTableNVX deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateObjectTableNVX + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkObjectTableCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pObjectTable" ::: Ptr VkObjectTableNVX) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkObjectTableCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pObjectTable" ::: Ptr VkObjectTableNVX) -> IO VkResult) +destroyObjectTableNVX :: DeviceCmds -> (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyObjectTableNVX deviceCmds = mkVkDestroyObjectTableNVX (pVkDestroyObjectTableNVX deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyObjectTableNVX + :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +registerObjectsNVX :: DeviceCmds -> (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("ppObjectTableEntries" ::: Ptr (Ptr VkObjectTableEntryNVX)) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) +registerObjectsNVX deviceCmds = mkVkRegisterObjectsNVX (pVkRegisterObjectsNVX deviceCmds) +foreign import ccall unsafe "dynamic" mkVkRegisterObjectsNVX + :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("ppObjectTableEntries" ::: Ptr (Ptr VkObjectTableEntryNVX)) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) -> (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("ppObjectTableEntries" ::: Ptr (Ptr VkObjectTableEntryNVX)) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) +unregisterObjectsNVX :: DeviceCmds -> (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("pObjectEntryTypes" ::: Ptr VkObjectEntryTypeNVX) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) +unregisterObjectsNVX deviceCmds = mkVkUnregisterObjectsNVX (pVkUnregisterObjectsNVX deviceCmds) +foreign import ccall unsafe "dynamic" mkVkUnregisterObjectsNVX + :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("pObjectEntryTypes" ::: Ptr VkObjectEntryTypeNVX) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) -> (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("pObjectEntryTypes" ::: Ptr VkObjectEntryTypeNVX) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) +cmdPushDescriptorSetKHR :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> IO ()) +cmdPushDescriptorSetKHR deviceCmds = mkVkCmdPushDescriptorSetKHR (pVkCmdPushDescriptorSetKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdPushDescriptorSetKHR + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> IO ()) +trimCommandPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolTrimFlags) -> IO ()) +trimCommandPool deviceCmds = mkVkTrimCommandPool (pVkTrimCommandPool deviceCmds) +foreign import ccall unsafe "dynamic" mkVkTrimCommandPool + :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolTrimFlags) -> IO ()) -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolTrimFlags) -> IO ()) +getMemoryWin32HandleKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkMemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) +getMemoryWin32HandleKHR deviceCmds = mkVkGetMemoryWin32HandleKHR (pVkGetMemoryWin32HandleKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetMemoryWin32HandleKHR + :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkMemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkMemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) +getMemoryWin32HandlePropertiesKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("handle" ::: HANDLE) -> ("pMemoryWin32HandleProperties" ::: Ptr VkMemoryWin32HandlePropertiesKHR) -> IO VkResult) +getMemoryWin32HandlePropertiesKHR deviceCmds = mkVkGetMemoryWin32HandlePropertiesKHR (pVkGetMemoryWin32HandlePropertiesKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetMemoryWin32HandlePropertiesKHR + :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("handle" ::: HANDLE) -> ("pMemoryWin32HandleProperties" ::: Ptr VkMemoryWin32HandlePropertiesKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("handle" ::: HANDLE) -> ("pMemoryWin32HandleProperties" ::: Ptr VkMemoryWin32HandlePropertiesKHR) -> IO VkResult) +getMemoryFdKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkMemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) +getMemoryFdKHR deviceCmds = mkVkGetMemoryFdKHR (pVkGetMemoryFdKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetMemoryFdKHR + :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkMemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkMemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) +getMemoryFdPropertiesKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr VkMemoryFdPropertiesKHR) -> IO VkResult) +getMemoryFdPropertiesKHR deviceCmds = mkVkGetMemoryFdPropertiesKHR (pVkGetMemoryFdPropertiesKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetMemoryFdPropertiesKHR + :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr VkMemoryFdPropertiesKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr VkMemoryFdPropertiesKHR) -> IO VkResult) +getSemaphoreWin32HandleKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkSemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) +getSemaphoreWin32HandleKHR deviceCmds = mkVkGetSemaphoreWin32HandleKHR (pVkGetSemaphoreWin32HandleKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetSemaphoreWin32HandleKHR + :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkSemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkSemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) +importSemaphoreWin32HandleKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr VkImportSemaphoreWin32HandleInfoKHR) -> IO VkResult) +importSemaphoreWin32HandleKHR deviceCmds = mkVkImportSemaphoreWin32HandleKHR (pVkImportSemaphoreWin32HandleKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkImportSemaphoreWin32HandleKHR + :: FunPtr (("device" ::: VkDevice) -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr VkImportSemaphoreWin32HandleInfoKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr VkImportSemaphoreWin32HandleInfoKHR) -> IO VkResult) +getSemaphoreFdKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkSemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) +getSemaphoreFdKHR deviceCmds = mkVkGetSemaphoreFdKHR (pVkGetSemaphoreFdKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetSemaphoreFdKHR + :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkSemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkSemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) +importSemaphoreFdKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pImportSemaphoreFdInfo" ::: Ptr VkImportSemaphoreFdInfoKHR) -> IO VkResult) +importSemaphoreFdKHR deviceCmds = mkVkImportSemaphoreFdKHR (pVkImportSemaphoreFdKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkImportSemaphoreFdKHR + :: FunPtr (("device" ::: VkDevice) -> ("pImportSemaphoreFdInfo" ::: Ptr VkImportSemaphoreFdInfoKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pImportSemaphoreFdInfo" ::: Ptr VkImportSemaphoreFdInfoKHR) -> IO VkResult) +getFenceWin32HandleKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkFenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) +getFenceWin32HandleKHR deviceCmds = mkVkGetFenceWin32HandleKHR (pVkGetFenceWin32HandleKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetFenceWin32HandleKHR + :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkFenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkFenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) +importFenceWin32HandleKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pImportFenceWin32HandleInfo" ::: Ptr VkImportFenceWin32HandleInfoKHR) -> IO VkResult) +importFenceWin32HandleKHR deviceCmds = mkVkImportFenceWin32HandleKHR (pVkImportFenceWin32HandleKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkImportFenceWin32HandleKHR + :: FunPtr (("device" ::: VkDevice) -> ("pImportFenceWin32HandleInfo" ::: Ptr VkImportFenceWin32HandleInfoKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pImportFenceWin32HandleInfo" ::: Ptr VkImportFenceWin32HandleInfoKHR) -> IO VkResult) +getFenceFdKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkFenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) +getFenceFdKHR deviceCmds = mkVkGetFenceFdKHR (pVkGetFenceFdKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetFenceFdKHR + :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkFenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkFenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) +importFenceFdKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pImportFenceFdInfo" ::: Ptr VkImportFenceFdInfoKHR) -> IO VkResult) +importFenceFdKHR deviceCmds = mkVkImportFenceFdKHR (pVkImportFenceFdKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkImportFenceFdKHR + :: FunPtr (("device" ::: VkDevice) -> ("pImportFenceFdInfo" ::: Ptr VkImportFenceFdInfoKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pImportFenceFdInfo" ::: Ptr VkImportFenceFdInfoKHR) -> IO VkResult) +displayPowerControlEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayPowerInfo" ::: Ptr VkDisplayPowerInfoEXT) -> IO VkResult) +displayPowerControlEXT deviceCmds = mkVkDisplayPowerControlEXT (pVkDisplayPowerControlEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDisplayPowerControlEXT + :: FunPtr (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayPowerInfo" ::: Ptr VkDisplayPowerInfoEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayPowerInfo" ::: Ptr VkDisplayPowerInfoEXT) -> IO VkResult) +registerDeviceEventEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("pDeviceEventInfo" ::: Ptr VkDeviceEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) +registerDeviceEventEXT deviceCmds = mkVkRegisterDeviceEventEXT (pVkRegisterDeviceEventEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkRegisterDeviceEventEXT + :: FunPtr (("device" ::: VkDevice) -> ("pDeviceEventInfo" ::: Ptr VkDeviceEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pDeviceEventInfo" ::: Ptr VkDeviceEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) +registerDisplayEventEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayEventInfo" ::: Ptr VkDisplayEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) +registerDisplayEventEXT deviceCmds = mkVkRegisterDisplayEventEXT (pVkRegisterDisplayEventEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkRegisterDisplayEventEXT + :: FunPtr (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayEventInfo" ::: Ptr VkDisplayEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) -> (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayEventInfo" ::: Ptr VkDisplayEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) +getSwapchainCounterEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("counter" ::: VkSurfaceCounterFlagBitsEXT) -> ("pCounterValue" ::: Ptr Word64) -> IO VkResult) +getSwapchainCounterEXT deviceCmds = mkVkGetSwapchainCounterEXT (pVkGetSwapchainCounterEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetSwapchainCounterEXT + :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("counter" ::: VkSurfaceCounterFlagBitsEXT) -> ("pCounterValue" ::: Ptr Word64) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("counter" ::: VkSurfaceCounterFlagBitsEXT) -> ("pCounterValue" ::: Ptr Word64) -> IO VkResult) +getDeviceGroupPeerMemoryFeatures :: DeviceCmds -> (("device" ::: VkDevice) -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr VkPeerMemoryFeatureFlags) -> IO ()) +getDeviceGroupPeerMemoryFeatures deviceCmds = mkVkGetDeviceGroupPeerMemoryFeatures (pVkGetDeviceGroupPeerMemoryFeatures deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetDeviceGroupPeerMemoryFeatures + :: FunPtr (("device" ::: VkDevice) -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr VkPeerMemoryFeatureFlags) -> IO ()) -> (("device" ::: VkDevice) -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr VkPeerMemoryFeatureFlags) -> IO ()) +bindBufferMemory2 :: DeviceCmds -> (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindBufferMemoryInfo) -> IO VkResult) +bindBufferMemory2 deviceCmds = mkVkBindBufferMemory2 (pVkBindBufferMemory2 deviceCmds) +foreign import ccall unsafe "dynamic" mkVkBindBufferMemory2 + :: FunPtr (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindBufferMemoryInfo) -> IO VkResult) -> (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindBufferMemoryInfo) -> IO VkResult) +bindImageMemory2 :: DeviceCmds -> (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindImageMemoryInfo) -> IO VkResult) +bindImageMemory2 deviceCmds = mkVkBindImageMemory2 (pVkBindImageMemory2 deviceCmds) +foreign import ccall unsafe "dynamic" mkVkBindImageMemory2 + :: FunPtr (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindImageMemoryInfo) -> IO VkResult) -> (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindImageMemoryInfo) -> IO VkResult) +cmdSetDeviceMask :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("deviceMask" ::: Word32) -> IO ()) +cmdSetDeviceMask deviceCmds = mkVkCmdSetDeviceMask (pVkCmdSetDeviceMask deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetDeviceMask + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("deviceMask" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("deviceMask" ::: Word32) -> IO ()) +getDeviceGroupPresentCapabilitiesKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pDeviceGroupPresentCapabilities" ::: Ptr VkDeviceGroupPresentCapabilitiesKHR) -> IO VkResult) +getDeviceGroupPresentCapabilitiesKHR deviceCmds = mkVkGetDeviceGroupPresentCapabilitiesKHR (pVkGetDeviceGroupPresentCapabilitiesKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetDeviceGroupPresentCapabilitiesKHR + :: FunPtr (("device" ::: VkDevice) -> ("pDeviceGroupPresentCapabilities" ::: Ptr VkDeviceGroupPresentCapabilitiesKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pDeviceGroupPresentCapabilities" ::: Ptr VkDeviceGroupPresentCapabilitiesKHR) -> IO VkResult) +getDeviceGroupSurfacePresentModesKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pModes" ::: Ptr VkDeviceGroupPresentModeFlagsKHR) -> IO VkResult) +getDeviceGroupSurfacePresentModesKHR deviceCmds = mkVkGetDeviceGroupSurfacePresentModesKHR (pVkGetDeviceGroupSurfacePresentModesKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetDeviceGroupSurfacePresentModesKHR + :: FunPtr (("device" ::: VkDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pModes" ::: Ptr VkDeviceGroupPresentModeFlagsKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pModes" ::: Ptr VkDeviceGroupPresentModeFlagsKHR) -> IO VkResult) +acquireNextImage2KHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pAcquireInfo" ::: Ptr VkAcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) +acquireNextImage2KHR deviceCmds = mkVkAcquireNextImage2KHR (pVkAcquireNextImage2KHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkAcquireNextImage2KHR + :: FunPtr (("device" ::: VkDevice) -> ("pAcquireInfo" ::: Ptr VkAcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pAcquireInfo" ::: Ptr VkAcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) +cmdDispatchBase :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) +cmdDispatchBase deviceCmds = mkVkCmdDispatchBase (pVkCmdDispatchBase deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdDispatchBase + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) +createDescriptorUpdateTemplate :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr VkDescriptorUpdateTemplate) -> IO VkResult) +createDescriptorUpdateTemplate deviceCmds = mkVkCreateDescriptorUpdateTemplate (pVkCreateDescriptorUpdateTemplate deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateDescriptorUpdateTemplate + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr VkDescriptorUpdateTemplate) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr VkDescriptorUpdateTemplate) -> IO VkResult) +destroyDescriptorUpdateTemplate :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyDescriptorUpdateTemplate deviceCmds = mkVkDestroyDescriptorUpdateTemplate (pVkDestroyDescriptorUpdateTemplate deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyDescriptorUpdateTemplate + :: FunPtr (("device" ::: VkDevice) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +updateDescriptorSetWithTemplate :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorSet" ::: VkDescriptorSet) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pData" ::: Ptr ()) -> IO ()) +updateDescriptorSetWithTemplate deviceCmds = mkVkUpdateDescriptorSetWithTemplate (pVkUpdateDescriptorSetWithTemplate deviceCmds) +foreign import ccall unsafe "dynamic" mkVkUpdateDescriptorSetWithTemplate + :: FunPtr (("device" ::: VkDevice) -> ("descriptorSet" ::: VkDescriptorSet) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pData" ::: Ptr ()) -> IO ()) -> (("device" ::: VkDevice) -> ("descriptorSet" ::: VkDescriptorSet) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pData" ::: Ptr ()) -> IO ()) +cmdPushDescriptorSetWithTemplateKHR :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO ()) +cmdPushDescriptorSetWithTemplateKHR deviceCmds = mkVkCmdPushDescriptorSetWithTemplateKHR (pVkCmdPushDescriptorSetWithTemplateKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdPushDescriptorSetWithTemplateKHR + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO ()) +setHdrMetadataEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> ("pMetadata" ::: Ptr VkHdrMetadataEXT) -> IO ()) +setHdrMetadataEXT deviceCmds = mkVkSetHdrMetadataEXT (pVkSetHdrMetadataEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkSetHdrMetadataEXT + :: FunPtr (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> ("pMetadata" ::: Ptr VkHdrMetadataEXT) -> IO ()) -> (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> ("pMetadata" ::: Ptr VkHdrMetadataEXT) -> IO ()) +getSwapchainStatusKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> IO VkResult) +getSwapchainStatusKHR deviceCmds = mkVkGetSwapchainStatusKHR (pVkGetSwapchainStatusKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetSwapchainStatusKHR + :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> IO VkResult) +getRefreshCycleDurationGOOGLE :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pDisplayTimingProperties" ::: Ptr VkRefreshCycleDurationGOOGLE) -> IO VkResult) +getRefreshCycleDurationGOOGLE deviceCmds = mkVkGetRefreshCycleDurationGOOGLE (pVkGetRefreshCycleDurationGOOGLE deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetRefreshCycleDurationGOOGLE + :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pDisplayTimingProperties" ::: Ptr VkRefreshCycleDurationGOOGLE) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pDisplayTimingProperties" ::: Ptr VkRefreshCycleDurationGOOGLE) -> IO VkResult) +getPastPresentationTimingGOOGLE :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr VkPastPresentationTimingGOOGLE) -> IO VkResult) +getPastPresentationTimingGOOGLE deviceCmds = mkVkGetPastPresentationTimingGOOGLE (pVkGetPastPresentationTimingGOOGLE deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPastPresentationTimingGOOGLE + :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr VkPastPresentationTimingGOOGLE) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr VkPastPresentationTimingGOOGLE) -> IO VkResult) +cmdSetViewportWScalingNV :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr VkViewportWScalingNV) -> IO ()) +cmdSetViewportWScalingNV deviceCmds = mkVkCmdSetViewportWScalingNV (pVkCmdSetViewportWScalingNV deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetViewportWScalingNV + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr VkViewportWScalingNV) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr VkViewportWScalingNV) -> IO ()) +cmdSetDiscardRectangleEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr VkRect2D) -> IO ()) +cmdSetDiscardRectangleEXT deviceCmds = mkVkCmdSetDiscardRectangleEXT (pVkCmdSetDiscardRectangleEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetDiscardRectangleEXT + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr VkRect2D) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr VkRect2D) -> IO ()) +cmdSetSampleLocationsEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pSampleLocationsInfo" ::: Ptr VkSampleLocationsInfoEXT) -> IO ()) +cmdSetSampleLocationsEXT deviceCmds = mkVkCmdSetSampleLocationsEXT (pVkCmdSetSampleLocationsEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdSetSampleLocationsEXT + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pSampleLocationsInfo" ::: Ptr VkSampleLocationsInfoEXT) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pSampleLocationsInfo" ::: Ptr VkSampleLocationsInfoEXT) -> IO ()) +getBufferMemoryRequirements2 :: DeviceCmds -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkBufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) +getBufferMemoryRequirements2 deviceCmds = mkVkGetBufferMemoryRequirements2 (pVkGetBufferMemoryRequirements2 deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetBufferMemoryRequirements2 + :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkBufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkBufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) +getImageMemoryRequirements2 :: DeviceCmds -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) +getImageMemoryRequirements2 deviceCmds = mkVkGetImageMemoryRequirements2 (pVkGetImageMemoryRequirements2 deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetImageMemoryRequirements2 + :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) +getImageSparseMemoryRequirements2 :: DeviceCmds -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements2) -> IO ()) +getImageSparseMemoryRequirements2 deviceCmds = mkVkGetImageSparseMemoryRequirements2 (pVkGetImageSparseMemoryRequirements2 deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetImageSparseMemoryRequirements2 + :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements2) -> IO ()) -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements2) -> IO ()) +createSamplerYcbcrConversion :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerYcbcrConversionCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr VkSamplerYcbcrConversion) -> IO VkResult) +createSamplerYcbcrConversion deviceCmds = mkVkCreateSamplerYcbcrConversion (pVkCreateSamplerYcbcrConversion deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateSamplerYcbcrConversion + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerYcbcrConversionCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr VkSamplerYcbcrConversion) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerYcbcrConversionCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr VkSamplerYcbcrConversion) -> IO VkResult) +destroySamplerYcbcrConversion :: DeviceCmds -> (("device" ::: VkDevice) -> ("ycbcrConversion" ::: VkSamplerYcbcrConversion) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroySamplerYcbcrConversion deviceCmds = mkVkDestroySamplerYcbcrConversion (pVkDestroySamplerYcbcrConversion deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroySamplerYcbcrConversion + :: FunPtr (("device" ::: VkDevice) -> ("ycbcrConversion" ::: VkSamplerYcbcrConversion) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("ycbcrConversion" ::: VkSamplerYcbcrConversion) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +getDeviceQueue2 :: DeviceCmds -> (("device" ::: VkDevice) -> ("pQueueInfo" ::: Ptr VkDeviceQueueInfo2) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) +getDeviceQueue2 deviceCmds = mkVkGetDeviceQueue2 (pVkGetDeviceQueue2 deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetDeviceQueue2 + :: FunPtr (("device" ::: VkDevice) -> ("pQueueInfo" ::: Ptr VkDeviceQueueInfo2) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) -> (("device" ::: VkDevice) -> ("pQueueInfo" ::: Ptr VkDeviceQueueInfo2) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) +createValidationCacheEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pValidationCache" ::: Ptr VkValidationCacheEXT) -> IO VkResult) +createValidationCacheEXT deviceCmds = mkVkCreateValidationCacheEXT (pVkCreateValidationCacheEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateValidationCacheEXT + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pValidationCache" ::: Ptr VkValidationCacheEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pValidationCache" ::: Ptr VkValidationCacheEXT) -> IO VkResult) +destroyValidationCacheEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyValidationCacheEXT deviceCmds = mkVkDestroyValidationCacheEXT (pVkDestroyValidationCacheEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyValidationCacheEXT + :: FunPtr (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +getValidationCacheDataEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) +getValidationCacheDataEXT deviceCmds = mkVkGetValidationCacheDataEXT (pVkGetValidationCacheDataEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetValidationCacheDataEXT + :: FunPtr (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) -> (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) +mergeValidationCachesEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("dstCache" ::: VkValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkValidationCacheEXT) -> IO VkResult) +mergeValidationCachesEXT deviceCmds = mkVkMergeValidationCachesEXT (pVkMergeValidationCachesEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkMergeValidationCachesEXT + :: FunPtr (("device" ::: VkDevice) -> ("dstCache" ::: VkValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkValidationCacheEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("dstCache" ::: VkValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkValidationCacheEXT) -> IO VkResult) +getDescriptorSetLayoutSupport :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pSupport" ::: Ptr VkDescriptorSetLayoutSupport) -> IO ()) +getDescriptorSetLayoutSupport deviceCmds = mkVkGetDescriptorSetLayoutSupport (pVkGetDescriptorSetLayoutSupport deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetDescriptorSetLayoutSupport + :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pSupport" ::: Ptr VkDescriptorSetLayoutSupport) -> IO ()) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pSupport" ::: Ptr VkDescriptorSetLayoutSupport) -> IO ()) +getSwapchainGrallocUsageANDROID :: DeviceCmds -> (("device" ::: VkDevice) -> ("format" ::: VkFormat) -> ("imageUsage" ::: VkImageUsageFlags) -> ("grallocUsage" ::: Ptr CInt) -> IO VkResult) +getSwapchainGrallocUsageANDROID deviceCmds = mkVkGetSwapchainGrallocUsageANDROID (pVkGetSwapchainGrallocUsageANDROID deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetSwapchainGrallocUsageANDROID + :: FunPtr (("device" ::: VkDevice) -> ("format" ::: VkFormat) -> ("imageUsage" ::: VkImageUsageFlags) -> ("grallocUsage" ::: Ptr CInt) -> IO VkResult) -> (("device" ::: VkDevice) -> ("format" ::: VkFormat) -> ("imageUsage" ::: VkImageUsageFlags) -> ("grallocUsage" ::: Ptr CInt) -> IO VkResult) +acquireImageANDROID :: DeviceCmds -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("nativeFenceFd" ::: CInt) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> IO VkResult) +acquireImageANDROID deviceCmds = mkVkAcquireImageANDROID (pVkAcquireImageANDROID deviceCmds) +foreign import ccall unsafe "dynamic" mkVkAcquireImageANDROID + :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("nativeFenceFd" ::: CInt) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> IO VkResult) -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("nativeFenceFd" ::: CInt) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> IO VkResult) +queueSignalReleaseImageANDROID :: DeviceCmds -> (("queue" ::: VkQueue) -> ("waitSemaphoreCount" ::: Word32) -> ("pWaitSemaphores" ::: Ptr VkSemaphore) -> ("image" ::: VkImage) -> ("pNativeFenceFd" ::: Ptr CInt) -> IO VkResult) +queueSignalReleaseImageANDROID deviceCmds = mkVkQueueSignalReleaseImageANDROID (pVkQueueSignalReleaseImageANDROID deviceCmds) +foreign import ccall unsafe "dynamic" mkVkQueueSignalReleaseImageANDROID + :: FunPtr (("queue" ::: VkQueue) -> ("waitSemaphoreCount" ::: Word32) -> ("pWaitSemaphores" ::: Ptr VkSemaphore) -> ("image" ::: VkImage) -> ("pNativeFenceFd" ::: Ptr CInt) -> IO VkResult) -> (("queue" ::: VkQueue) -> ("waitSemaphoreCount" ::: Word32) -> ("pWaitSemaphores" ::: Ptr VkSemaphore) -> ("image" ::: VkImage) -> ("pNativeFenceFd" ::: Ptr CInt) -> IO VkResult) +getShaderInfoAMD :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("shaderStage" ::: VkShaderStageFlagBits) -> ("infoType" ::: VkShaderInfoTypeAMD) -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO VkResult) +getShaderInfoAMD deviceCmds = mkVkGetShaderInfoAMD (pVkGetShaderInfoAMD deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetShaderInfoAMD + :: FunPtr (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("shaderStage" ::: VkShaderStageFlagBits) -> ("infoType" ::: VkShaderInfoTypeAMD) -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("shaderStage" ::: VkShaderStageFlagBits) -> ("infoType" ::: VkShaderInfoTypeAMD) -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO VkResult) +setDebugUtilsObjectNameEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult) +setDebugUtilsObjectNameEXT deviceCmds = mkVkSetDebugUtilsObjectNameEXT (pVkSetDebugUtilsObjectNameEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkSetDebugUtilsObjectNameEXT + :: FunPtr (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult) +setDebugUtilsObjectTagEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult) +setDebugUtilsObjectTagEXT deviceCmds = mkVkSetDebugUtilsObjectTagEXT (pVkSetDebugUtilsObjectTagEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkSetDebugUtilsObjectTagEXT + :: FunPtr (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult) +queueBeginDebugUtilsLabelEXT :: DeviceCmds -> (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) +queueBeginDebugUtilsLabelEXT deviceCmds = mkVkQueueBeginDebugUtilsLabelEXT (pVkQueueBeginDebugUtilsLabelEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkQueueBeginDebugUtilsLabelEXT + :: FunPtr (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) -> (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) +queueEndDebugUtilsLabelEXT :: DeviceCmds -> (("queue" ::: VkQueue) -> IO ()) +queueEndDebugUtilsLabelEXT deviceCmds = mkVkQueueEndDebugUtilsLabelEXT (pVkQueueEndDebugUtilsLabelEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkQueueEndDebugUtilsLabelEXT + :: FunPtr (("queue" ::: VkQueue) -> IO ()) -> (("queue" ::: VkQueue) -> IO ()) +queueInsertDebugUtilsLabelEXT :: DeviceCmds -> (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) +queueInsertDebugUtilsLabelEXT deviceCmds = mkVkQueueInsertDebugUtilsLabelEXT (pVkQueueInsertDebugUtilsLabelEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkQueueInsertDebugUtilsLabelEXT + :: FunPtr (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) -> (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) +cmdBeginDebugUtilsLabelEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) +cmdBeginDebugUtilsLabelEXT deviceCmds = mkVkCmdBeginDebugUtilsLabelEXT (pVkCmdBeginDebugUtilsLabelEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdBeginDebugUtilsLabelEXT + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) +cmdEndDebugUtilsLabelEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> IO ()) +cmdEndDebugUtilsLabelEXT deviceCmds = mkVkCmdEndDebugUtilsLabelEXT (pVkCmdEndDebugUtilsLabelEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdEndDebugUtilsLabelEXT + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> IO ()) +cmdInsertDebugUtilsLabelEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) +cmdInsertDebugUtilsLabelEXT deviceCmds = mkVkCmdInsertDebugUtilsLabelEXT (pVkCmdInsertDebugUtilsLabelEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdInsertDebugUtilsLabelEXT + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) +getMemoryHostPointerPropertiesEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr VkMemoryHostPointerPropertiesEXT) -> IO VkResult) +getMemoryHostPointerPropertiesEXT deviceCmds = mkVkGetMemoryHostPointerPropertiesEXT (pVkGetMemoryHostPointerPropertiesEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetMemoryHostPointerPropertiesEXT + :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr VkMemoryHostPointerPropertiesEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr VkMemoryHostPointerPropertiesEXT) -> IO VkResult) +cmdWriteBufferMarkerAMD :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("marker" ::: Word32) -> IO ()) +cmdWriteBufferMarkerAMD deviceCmds = mkVkCmdWriteBufferMarkerAMD (pVkCmdWriteBufferMarkerAMD deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCmdWriteBufferMarkerAMD + :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("marker" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("marker" ::: Word32) -> IO ()) +getAndroidHardwareBufferPropertiesANDROID :: DeviceCmds -> (("device" ::: VkDevice) -> ("buffer" ::: Ptr AHardwareBuffer) -> ("pProperties" ::: Ptr VkAndroidHardwareBufferPropertiesANDROID) -> IO VkResult) +getAndroidHardwareBufferPropertiesANDROID deviceCmds = mkVkGetAndroidHardwareBufferPropertiesANDROID (pVkGetAndroidHardwareBufferPropertiesANDROID deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetAndroidHardwareBufferPropertiesANDROID + :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: Ptr AHardwareBuffer) -> ("pProperties" ::: Ptr VkAndroidHardwareBufferPropertiesANDROID) -> IO VkResult) -> (("device" ::: VkDevice) -> ("buffer" ::: Ptr AHardwareBuffer) -> ("pProperties" ::: Ptr VkAndroidHardwareBufferPropertiesANDROID) -> IO VkResult) +getMemoryAndroidHardwareBufferANDROID :: DeviceCmds -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO VkResult) +getMemoryAndroidHardwareBufferANDROID deviceCmds = mkVkGetMemoryAndroidHardwareBufferANDROID (pVkGetMemoryAndroidHardwareBufferANDROID deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetMemoryAndroidHardwareBufferANDROID + :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO VkResult) + +-- * Instance commands +destroyInstance :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyInstance deviceCmds = mkVkDestroyInstance (pVkDestroyInstance deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyInstance + :: FunPtr (("instance" ::: VkInstance) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("instance" ::: VkInstance) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +enumeratePhysicalDevices :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr VkPhysicalDevice) -> IO VkResult) +enumeratePhysicalDevices deviceCmds = mkVkEnumeratePhysicalDevices (pVkEnumeratePhysicalDevices deviceCmds) +foreign import ccall unsafe "dynamic" mkVkEnumeratePhysicalDevices + :: FunPtr (("instance" ::: VkInstance) -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr VkPhysicalDevice) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr VkPhysicalDevice) -> IO VkResult) +getInstanceProcAddr :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) +getInstanceProcAddr deviceCmds = mkVkGetInstanceProcAddr (pVkGetInstanceProcAddr deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetInstanceProcAddr + :: FunPtr (("instance" ::: VkInstance) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) -> (("instance" ::: VkInstance) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) +getPhysicalDeviceProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties) -> IO ()) +getPhysicalDeviceProperties deviceCmds = mkVkGetPhysicalDeviceProperties (pVkGetPhysicalDeviceProperties deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceProperties + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties) -> IO ()) +getPhysicalDeviceQueueFamilyProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties) -> IO ()) +getPhysicalDeviceQueueFamilyProperties deviceCmds = mkVkGetPhysicalDeviceQueueFamilyProperties (pVkGetPhysicalDeviceQueueFamilyProperties deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceQueueFamilyProperties + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties) -> IO ()) +getPhysicalDeviceMemoryProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties) -> IO ()) +getPhysicalDeviceMemoryProperties deviceCmds = mkVkGetPhysicalDeviceMemoryProperties (pVkGetPhysicalDeviceMemoryProperties deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceMemoryProperties + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties) -> IO ()) +getPhysicalDeviceFeatures :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures) -> IO ()) +getPhysicalDeviceFeatures deviceCmds = mkVkGetPhysicalDeviceFeatures (pVkGetPhysicalDeviceFeatures deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceFeatures + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures) -> IO ()) +getPhysicalDeviceFormatProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties) -> IO ()) +getPhysicalDeviceFormatProperties deviceCmds = mkVkGetPhysicalDeviceFormatProperties (pVkGetPhysicalDeviceFormatProperties deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceFormatProperties + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties) -> IO ()) +getPhysicalDeviceImageFormatProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties) -> IO VkResult) +getPhysicalDeviceImageFormatProperties deviceCmds = mkVkGetPhysicalDeviceImageFormatProperties (pVkGetPhysicalDeviceImageFormatProperties deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceImageFormatProperties + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties) -> IO VkResult) +createDevice :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pCreateInfo" ::: Ptr VkDeviceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDevice" ::: Ptr VkDevice) -> IO VkResult) +createDevice deviceCmds = mkVkCreateDevice (pVkCreateDevice deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateDevice + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pCreateInfo" ::: Ptr VkDeviceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDevice" ::: Ptr VkDevice) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pCreateInfo" ::: Ptr VkDeviceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDevice" ::: Ptr VkDevice) -> IO VkResult) +enumerateDeviceLayerProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkLayerProperties) -> IO VkResult) +enumerateDeviceLayerProperties deviceCmds = mkVkEnumerateDeviceLayerProperties (pVkEnumerateDeviceLayerProperties deviceCmds) +foreign import ccall unsafe "dynamic" mkVkEnumerateDeviceLayerProperties + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkLayerProperties) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkLayerProperties) -> IO VkResult) +enumerateDeviceExtensionProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkExtensionProperties) -> IO VkResult) +enumerateDeviceExtensionProperties deviceCmds = mkVkEnumerateDeviceExtensionProperties (pVkEnumerateDeviceExtensionProperties deviceCmds) +foreign import ccall unsafe "dynamic" mkVkEnumerateDeviceExtensionProperties + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkExtensionProperties) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkExtensionProperties) -> IO VkResult) +getPhysicalDeviceSparseImageFormatProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("samples" ::: VkSampleCountFlagBits) -> ("usage" ::: VkImageUsageFlags) -> ("tiling" ::: VkImageTiling) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties) -> IO ()) +getPhysicalDeviceSparseImageFormatProperties deviceCmds = mkVkGetPhysicalDeviceSparseImageFormatProperties (pVkGetPhysicalDeviceSparseImageFormatProperties deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSparseImageFormatProperties + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("samples" ::: VkSampleCountFlagBits) -> ("usage" ::: VkImageUsageFlags) -> ("tiling" ::: VkImageTiling) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("samples" ::: VkSampleCountFlagBits) -> ("usage" ::: VkImageUsageFlags) -> ("tiling" ::: VkImageTiling) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties) -> IO ()) +createAndroidSurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkAndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +createAndroidSurfaceKHR deviceCmds = mkVkCreateAndroidSurfaceKHR (pVkCreateAndroidSurfaceKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateAndroidSurfaceKHR + :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkAndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkAndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +getPhysicalDeviceDisplayPropertiesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPropertiesKHR) -> IO VkResult) +getPhysicalDeviceDisplayPropertiesKHR deviceCmds = mkVkGetPhysicalDeviceDisplayPropertiesKHR (pVkGetPhysicalDeviceDisplayPropertiesKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceDisplayPropertiesKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPropertiesKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPropertiesKHR) -> IO VkResult) +getPhysicalDeviceDisplayPlanePropertiesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPlanePropertiesKHR) -> IO VkResult) +getPhysicalDeviceDisplayPlanePropertiesKHR deviceCmds = mkVkGetPhysicalDeviceDisplayPlanePropertiesKHR (pVkGetPhysicalDeviceDisplayPlanePropertiesKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceDisplayPlanePropertiesKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPlanePropertiesKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPlanePropertiesKHR) -> IO VkResult) +getDisplayPlaneSupportedDisplaysKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr VkDisplayKHR) -> IO VkResult) +getDisplayPlaneSupportedDisplaysKHR deviceCmds = mkVkGetDisplayPlaneSupportedDisplaysKHR (pVkGetDisplayPlaneSupportedDisplaysKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetDisplayPlaneSupportedDisplaysKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr VkDisplayKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr VkDisplayKHR) -> IO VkResult) +getDisplayModePropertiesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayModePropertiesKHR) -> IO VkResult) +getDisplayModePropertiesKHR deviceCmds = mkVkGetDisplayModePropertiesKHR (pVkGetDisplayModePropertiesKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetDisplayModePropertiesKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayModePropertiesKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayModePropertiesKHR) -> IO VkResult) +createDisplayModeKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pCreateInfo" ::: Ptr VkDisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMode" ::: Ptr VkDisplayModeKHR) -> IO VkResult) +createDisplayModeKHR deviceCmds = mkVkCreateDisplayModeKHR (pVkCreateDisplayModeKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateDisplayModeKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pCreateInfo" ::: Ptr VkDisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMode" ::: Ptr VkDisplayModeKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pCreateInfo" ::: Ptr VkDisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMode" ::: Ptr VkDisplayModeKHR) -> IO VkResult) +getDisplayPlaneCapabilitiesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("mode" ::: VkDisplayModeKHR) -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr VkDisplayPlaneCapabilitiesKHR) -> IO VkResult) +getDisplayPlaneCapabilitiesKHR deviceCmds = mkVkGetDisplayPlaneCapabilitiesKHR (pVkGetDisplayPlaneCapabilitiesKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetDisplayPlaneCapabilitiesKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("mode" ::: VkDisplayModeKHR) -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr VkDisplayPlaneCapabilitiesKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("mode" ::: VkDisplayModeKHR) -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr VkDisplayPlaneCapabilitiesKHR) -> IO VkResult) +createDisplayPlaneSurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +createDisplayPlaneSurfaceKHR deviceCmds = mkVkCreateDisplayPlaneSurfaceKHR (pVkCreateDisplayPlaneSurfaceKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateDisplayPlaneSurfaceKHR + :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +createMirSurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMirSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +createMirSurfaceKHR deviceCmds = mkVkCreateMirSurfaceKHR (pVkCreateMirSurfaceKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateMirSurfaceKHR + :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMirSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMirSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +getPhysicalDeviceMirPresentationSupportKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr MirConnection) -> IO VkBool32) +getPhysicalDeviceMirPresentationSupportKHR deviceCmds = mkVkGetPhysicalDeviceMirPresentationSupportKHR (pVkGetPhysicalDeviceMirPresentationSupportKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceMirPresentationSupportKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr MirConnection) -> IO VkBool32) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr MirConnection) -> IO VkBool32) +destroySurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("surface" ::: VkSurfaceKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroySurfaceKHR deviceCmds = mkVkDestroySurfaceKHR (pVkDestroySurfaceKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroySurfaceKHR + :: FunPtr (("instance" ::: VkInstance) -> ("surface" ::: VkSurfaceKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("instance" ::: VkInstance) -> ("surface" ::: VkSurfaceKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +getPhysicalDeviceSurfaceSupportKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("surface" ::: VkSurfaceKHR) -> ("pSupported" ::: Ptr VkBool32) -> IO VkResult) +getPhysicalDeviceSurfaceSupportKHR deviceCmds = mkVkGetPhysicalDeviceSurfaceSupportKHR (pVkGetPhysicalDeviceSurfaceSupportKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfaceSupportKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("surface" ::: VkSurfaceKHR) -> ("pSupported" ::: Ptr VkBool32) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("surface" ::: VkSurfaceKHR) -> ("pSupported" ::: Ptr VkBool32) -> IO VkResult) +getPhysicalDeviceSurfaceCapabilitiesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilitiesKHR) -> IO VkResult) +getPhysicalDeviceSurfaceCapabilitiesKHR deviceCmds = mkVkGetPhysicalDeviceSurfaceCapabilitiesKHR (pVkGetPhysicalDeviceSurfaceCapabilitiesKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfaceCapabilitiesKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilitiesKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilitiesKHR) -> IO VkResult) +getPhysicalDeviceSurfaceFormatsKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormatKHR) -> IO VkResult) +getPhysicalDeviceSurfaceFormatsKHR deviceCmds = mkVkGetPhysicalDeviceSurfaceFormatsKHR (pVkGetPhysicalDeviceSurfaceFormatsKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfaceFormatsKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormatKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormatKHR) -> IO VkResult) +getPhysicalDeviceSurfacePresentModesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr VkPresentModeKHR) -> IO VkResult) +getPhysicalDeviceSurfacePresentModesKHR deviceCmds = mkVkGetPhysicalDeviceSurfacePresentModesKHR (pVkGetPhysicalDeviceSurfacePresentModesKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfacePresentModesKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr VkPresentModeKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr VkPresentModeKHR) -> IO VkResult) +createViSurfaceNN :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +createViSurfaceNN deviceCmds = mkVkCreateViSurfaceNN (pVkCreateViSurfaceNN deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateViSurfaceNN + :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +createWaylandSurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +createWaylandSurfaceKHR deviceCmds = mkVkCreateWaylandSurfaceKHR (pVkCreateWaylandSurfaceKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateWaylandSurfaceKHR + :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +getPhysicalDeviceWaylandPresentationSupportKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("display" ::: Ptr Wl_display) -> IO VkBool32) +getPhysicalDeviceWaylandPresentationSupportKHR deviceCmds = mkVkGetPhysicalDeviceWaylandPresentationSupportKHR (pVkGetPhysicalDeviceWaylandPresentationSupportKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceWaylandPresentationSupportKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("display" ::: Ptr Wl_display) -> IO VkBool32) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("display" ::: Ptr Wl_display) -> IO VkBool32) +createWin32SurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWin32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +createWin32SurfaceKHR deviceCmds = mkVkCreateWin32SurfaceKHR (pVkCreateWin32SurfaceKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateWin32SurfaceKHR + :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWin32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWin32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +getPhysicalDeviceWin32PresentationSupportKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> IO VkBool32) +getPhysicalDeviceWin32PresentationSupportKHR deviceCmds = mkVkGetPhysicalDeviceWin32PresentationSupportKHR (pVkGetPhysicalDeviceWin32PresentationSupportKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceWin32PresentationSupportKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> IO VkBool32) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> IO VkBool32) +createXlibSurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +createXlibSurfaceKHR deviceCmds = mkVkCreateXlibSurfaceKHR (pVkCreateXlibSurfaceKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateXlibSurfaceKHR + :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +getPhysicalDeviceXlibPresentationSupportKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> ("visualID" ::: VisualID) -> IO VkBool32) +getPhysicalDeviceXlibPresentationSupportKHR deviceCmds = mkVkGetPhysicalDeviceXlibPresentationSupportKHR (pVkGetPhysicalDeviceXlibPresentationSupportKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceXlibPresentationSupportKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> ("visualID" ::: VisualID) -> IO VkBool32) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> ("visualID" ::: VisualID) -> IO VkBool32) +createXcbSurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +createXcbSurfaceKHR deviceCmds = mkVkCreateXcbSurfaceKHR (pVkCreateXcbSurfaceKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateXcbSurfaceKHR + :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +getPhysicalDeviceXcbPresentationSupportKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr Xcb_connection_t) -> ("visual_id" ::: Xcb_visualid_t) -> IO VkBool32) +getPhysicalDeviceXcbPresentationSupportKHR deviceCmds = mkVkGetPhysicalDeviceXcbPresentationSupportKHR (pVkGetPhysicalDeviceXcbPresentationSupportKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceXcbPresentationSupportKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr Xcb_connection_t) -> ("visual_id" ::: Xcb_visualid_t) -> IO VkBool32) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr Xcb_connection_t) -> ("visual_id" ::: Xcb_visualid_t) -> IO VkBool32) +createDebugReportCallbackEXT :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCallback" ::: Ptr VkDebugReportCallbackEXT) -> IO VkResult) +createDebugReportCallbackEXT deviceCmds = mkVkCreateDebugReportCallbackEXT (pVkCreateDebugReportCallbackEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateDebugReportCallbackEXT + :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCallback" ::: Ptr VkDebugReportCallbackEXT) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCallback" ::: Ptr VkDebugReportCallbackEXT) -> IO VkResult) +destroyDebugReportCallbackEXT :: InstanceCmds -> (("instance" ::: VkInstance) -> ("callback" ::: VkDebugReportCallbackEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyDebugReportCallbackEXT deviceCmds = mkVkDestroyDebugReportCallbackEXT (pVkDestroyDebugReportCallbackEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyDebugReportCallbackEXT + :: FunPtr (("instance" ::: VkInstance) -> ("callback" ::: VkDebugReportCallbackEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("instance" ::: VkInstance) -> ("callback" ::: VkDebugReportCallbackEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +debugReportMessageEXT :: InstanceCmds -> (("instance" ::: VkInstance) -> ("flags" ::: VkDebugReportFlagsEXT) -> ("objectType" ::: VkDebugReportObjectTypeEXT) -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO ()) +debugReportMessageEXT deviceCmds = mkVkDebugReportMessageEXT (pVkDebugReportMessageEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDebugReportMessageEXT + :: FunPtr (("instance" ::: VkInstance) -> ("flags" ::: VkDebugReportFlagsEXT) -> ("objectType" ::: VkDebugReportObjectTypeEXT) -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO ()) -> (("instance" ::: VkInstance) -> ("flags" ::: VkDebugReportFlagsEXT) -> ("objectType" ::: VkDebugReportObjectTypeEXT) -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO ()) +getPhysicalDeviceExternalImageFormatPropertiesNV :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("externalHandleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr VkExternalImageFormatPropertiesNV) -> IO VkResult) +getPhysicalDeviceExternalImageFormatPropertiesNV deviceCmds = mkVkGetPhysicalDeviceExternalImageFormatPropertiesNV (pVkGetPhysicalDeviceExternalImageFormatPropertiesNV deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceExternalImageFormatPropertiesNV + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("externalHandleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr VkExternalImageFormatPropertiesNV) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("externalHandleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr VkExternalImageFormatPropertiesNV) -> IO VkResult) +getPhysicalDeviceGeneratedCommandsPropertiesNVX :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkDeviceGeneratedCommandsFeaturesNVX) -> ("pLimits" ::: Ptr VkDeviceGeneratedCommandsLimitsNVX) -> IO ()) +getPhysicalDeviceGeneratedCommandsPropertiesNVX deviceCmds = mkVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX (pVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkDeviceGeneratedCommandsFeaturesNVX) -> ("pLimits" ::: Ptr VkDeviceGeneratedCommandsLimitsNVX) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkDeviceGeneratedCommandsFeaturesNVX) -> ("pLimits" ::: Ptr VkDeviceGeneratedCommandsLimitsNVX) -> IO ()) +getPhysicalDeviceFeatures2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures2) -> IO ()) +getPhysicalDeviceFeatures2 deviceCmds = mkVkGetPhysicalDeviceFeatures2 (pVkGetPhysicalDeviceFeatures2 deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceFeatures2 + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures2) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures2) -> IO ()) +getPhysicalDeviceProperties2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties2) -> IO ()) +getPhysicalDeviceProperties2 deviceCmds = mkVkGetPhysicalDeviceProperties2 (pVkGetPhysicalDeviceProperties2 deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceProperties2 + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties2) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties2) -> IO ()) +getPhysicalDeviceFormatProperties2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties2) -> IO ()) +getPhysicalDeviceFormatProperties2 deviceCmds = mkVkGetPhysicalDeviceFormatProperties2 (pVkGetPhysicalDeviceFormatProperties2 deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceFormatProperties2 + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties2) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties2) -> IO ()) +getPhysicalDeviceImageFormatProperties2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pImageFormatInfo" ::: Ptr VkPhysicalDeviceImageFormatInfo2) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties2) -> IO VkResult) +getPhysicalDeviceImageFormatProperties2 deviceCmds = mkVkGetPhysicalDeviceImageFormatProperties2 (pVkGetPhysicalDeviceImageFormatProperties2 deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceImageFormatProperties2 + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pImageFormatInfo" ::: Ptr VkPhysicalDeviceImageFormatInfo2) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties2) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pImageFormatInfo" ::: Ptr VkPhysicalDeviceImageFormatInfo2) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties2) -> IO VkResult) +getPhysicalDeviceQueueFamilyProperties2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties2) -> IO ()) +getPhysicalDeviceQueueFamilyProperties2 deviceCmds = mkVkGetPhysicalDeviceQueueFamilyProperties2 (pVkGetPhysicalDeviceQueueFamilyProperties2 deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceQueueFamilyProperties2 + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties2) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties2) -> IO ()) +getPhysicalDeviceMemoryProperties2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties2) -> IO ()) +getPhysicalDeviceMemoryProperties2 deviceCmds = mkVkGetPhysicalDeviceMemoryProperties2 (pVkGetPhysicalDeviceMemoryProperties2 deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceMemoryProperties2 + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties2) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties2) -> IO ()) +getPhysicalDeviceSparseImageFormatProperties2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFormatInfo" ::: Ptr VkPhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties2) -> IO ()) +getPhysicalDeviceSparseImageFormatProperties2 deviceCmds = mkVkGetPhysicalDeviceSparseImageFormatProperties2 (pVkGetPhysicalDeviceSparseImageFormatProperties2 deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSparseImageFormatProperties2 + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFormatInfo" ::: Ptr VkPhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties2) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFormatInfo" ::: Ptr VkPhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties2) -> IO ()) +getPhysicalDeviceExternalBufferProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalBufferInfo" ::: Ptr VkPhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr VkExternalBufferProperties) -> IO ()) +getPhysicalDeviceExternalBufferProperties deviceCmds = mkVkGetPhysicalDeviceExternalBufferProperties (pVkGetPhysicalDeviceExternalBufferProperties deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceExternalBufferProperties + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalBufferInfo" ::: Ptr VkPhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr VkExternalBufferProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalBufferInfo" ::: Ptr VkPhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr VkExternalBufferProperties) -> IO ()) +getPhysicalDeviceExternalSemaphoreProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalSemaphoreInfo" ::: Ptr VkPhysicalDeviceExternalSemaphoreInfo) -> ("pExternalSemaphoreProperties" ::: Ptr VkExternalSemaphoreProperties) -> IO ()) +getPhysicalDeviceExternalSemaphoreProperties deviceCmds = mkVkGetPhysicalDeviceExternalSemaphoreProperties (pVkGetPhysicalDeviceExternalSemaphoreProperties deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceExternalSemaphoreProperties + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalSemaphoreInfo" ::: Ptr VkPhysicalDeviceExternalSemaphoreInfo) -> ("pExternalSemaphoreProperties" ::: Ptr VkExternalSemaphoreProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalSemaphoreInfo" ::: Ptr VkPhysicalDeviceExternalSemaphoreInfo) -> ("pExternalSemaphoreProperties" ::: Ptr VkExternalSemaphoreProperties) -> IO ()) +getPhysicalDeviceExternalFenceProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalFenceInfo" ::: Ptr VkPhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr VkExternalFenceProperties) -> IO ()) +getPhysicalDeviceExternalFenceProperties deviceCmds = mkVkGetPhysicalDeviceExternalFenceProperties (pVkGetPhysicalDeviceExternalFenceProperties deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceExternalFenceProperties + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalFenceInfo" ::: Ptr VkPhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr VkExternalFenceProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalFenceInfo" ::: Ptr VkPhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr VkExternalFenceProperties) -> IO ()) +releaseDisplayEXT :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> IO VkResult) +releaseDisplayEXT deviceCmds = mkVkReleaseDisplayEXT (pVkReleaseDisplayEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkReleaseDisplayEXT + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> IO VkResult) +acquireXlibDisplayEXT :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("display" ::: VkDisplayKHR) -> IO VkResult) +acquireXlibDisplayEXT deviceCmds = mkVkAcquireXlibDisplayEXT (pVkAcquireXlibDisplayEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkAcquireXlibDisplayEXT + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("display" ::: VkDisplayKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("display" ::: VkDisplayKHR) -> IO VkResult) +getRandROutputDisplayEXT :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("rrOutput" ::: RROutput) -> ("pDisplay" ::: Ptr VkDisplayKHR) -> IO VkResult) +getRandROutputDisplayEXT deviceCmds = mkVkGetRandROutputDisplayEXT (pVkGetRandROutputDisplayEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetRandROutputDisplayEXT + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("rrOutput" ::: RROutput) -> ("pDisplay" ::: Ptr VkDisplayKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("rrOutput" ::: RROutput) -> ("pDisplay" ::: Ptr VkDisplayKHR) -> IO VkResult) +getPhysicalDeviceSurfaceCapabilities2EXT :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2EXT) -> IO VkResult) +getPhysicalDeviceSurfaceCapabilities2EXT deviceCmds = mkVkGetPhysicalDeviceSurfaceCapabilities2EXT (pVkGetPhysicalDeviceSurfaceCapabilities2EXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfaceCapabilities2EXT + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2EXT) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2EXT) -> IO VkResult) +enumeratePhysicalDeviceGroups :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr VkPhysicalDeviceGroupProperties) -> IO VkResult) +enumeratePhysicalDeviceGroups deviceCmds = mkVkEnumeratePhysicalDeviceGroups (pVkEnumeratePhysicalDeviceGroups deviceCmds) +foreign import ccall unsafe "dynamic" mkVkEnumeratePhysicalDeviceGroups + :: FunPtr (("instance" ::: VkInstance) -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr VkPhysicalDeviceGroupProperties) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr VkPhysicalDeviceGroupProperties) -> IO VkResult) +getPhysicalDevicePresentRectanglesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr VkRect2D) -> IO VkResult) +getPhysicalDevicePresentRectanglesKHR deviceCmds = mkVkGetPhysicalDevicePresentRectanglesKHR (pVkGetPhysicalDevicePresentRectanglesKHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDevicePresentRectanglesKHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr VkRect2D) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr VkRect2D) -> IO VkResult) +createIOSSurfaceMVK :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkIOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +createIOSSurfaceMVK deviceCmds = mkVkCreateIOSSurfaceMVK (pVkCreateIOSSurfaceMVK deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateIOSSurfaceMVK + :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkIOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkIOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +createMacOSSurfaceMVK :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +createMacOSSurfaceMVK deviceCmds = mkVkCreateMacOSSurfaceMVK (pVkCreateMacOSSurfaceMVK deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateMacOSSurfaceMVK + :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +getPhysicalDeviceMultisamplePropertiesEXT :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("samples" ::: VkSampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr VkMultisamplePropertiesEXT) -> IO ()) +getPhysicalDeviceMultisamplePropertiesEXT deviceCmds = mkVkGetPhysicalDeviceMultisamplePropertiesEXT (pVkGetPhysicalDeviceMultisamplePropertiesEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceMultisamplePropertiesEXT + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("samples" ::: VkSampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr VkMultisamplePropertiesEXT) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("samples" ::: VkSampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr VkMultisamplePropertiesEXT) -> IO ()) +getPhysicalDeviceSurfaceCapabilities2KHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2KHR) -> IO VkResult) +getPhysicalDeviceSurfaceCapabilities2KHR deviceCmds = mkVkGetPhysicalDeviceSurfaceCapabilities2KHR (pVkGetPhysicalDeviceSurfaceCapabilities2KHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfaceCapabilities2KHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2KHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2KHR) -> IO VkResult) +getPhysicalDeviceSurfaceFormats2KHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormat2KHR) -> IO VkResult) +getPhysicalDeviceSurfaceFormats2KHR deviceCmds = mkVkGetPhysicalDeviceSurfaceFormats2KHR (pVkGetPhysicalDeviceSurfaceFormats2KHR deviceCmds) +foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfaceFormats2KHR + :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormat2KHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormat2KHR) -> IO VkResult) +createDebugUtilsMessengerEXT :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult) +createDebugUtilsMessengerEXT deviceCmds = mkVkCreateDebugUtilsMessengerEXT (pVkCreateDebugUtilsMessengerEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkCreateDebugUtilsMessengerEXT + :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult) +destroyDebugUtilsMessengerEXT :: InstanceCmds -> (("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +destroyDebugUtilsMessengerEXT deviceCmds = mkVkDestroyDebugUtilsMessengerEXT (pVkDestroyDebugUtilsMessengerEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkDestroyDebugUtilsMessengerEXT + :: FunPtr (("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +submitDebugUtilsMessageEXT :: InstanceCmds -> (("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO ()) +submitDebugUtilsMessageEXT deviceCmds = mkVkSubmitDebugUtilsMessageEXT (pVkSubmitDebugUtilsMessageEXT deviceCmds) +foreign import ccall unsafe "dynamic" mkVkSubmitDebugUtilsMessageEXT + :: FunPtr (("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO ()) -> (("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO ()) diff --git a/vulkan.cabal b/vulkan.cabal index f4d65525..1632e338 100644 --- a/vulkan.cabal +++ b/vulkan.cabal @@ -216,6 +216,7 @@ library , Graphics.Vulkan.Extensions.VK_AMD_shader_core_properties , Graphics.Vulkan.Extensions.VK_EXT_vertex_attribute_divisor , Graphics.Vulkan.Extensions.VK_NV_shader_subgroup_partitioned + , Graphics.Vulkan.Dynamic , Graphics.Vulkan , Graphics.Vulkan.Core10 , Graphics.Vulkan.Core11 From c53b497305bda8d490b046ebb0ca77fe55a85783 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 13:07:00 +0800 Subject: [PATCH 09/16] Guards in dynamic loader --- generate/src/Main.hs | 3 +- generate/src/Spec/Savvy/Command.hs | 22 ++- generate/src/Spec/Savvy/Spec.hs | 5 +- generate/src/Spec/Savvy/Type.hs | 12 ++ generate/src/Write/Alias.hs | 16 +-- generate/src/Write/BaseType.hs | 4 +- generate/src/Write/Bespoke.hs | 12 +- generate/src/Write/Command.hs | 13 +- generate/src/Write/Constant.hs | 8 +- generate/src/Write/ConstantExtension.hs | 4 +- generate/src/Write/Element.hs | 17 ++- generate/src/Write/EnumExtension.hs | 4 +- generate/src/Write/Handle.hs | 2 +- generate/src/Write/HeaderVersion.hs | 2 +- generate/src/Write/Loader.hs | 180 ++++++++++++++++-------- generate/src/Write/Module.hs | 82 ++++++----- generate/src/Write/Partition.hs | 12 +- generate/src/Write/Spec.hs | 2 +- generate/src/Write/Struct.hs | 42 +++--- generate/src/Write/Type/Enum.hs | 4 +- generate/src/Write/Type/FuncPointer.hs | 4 +- generate/src/Write/Util.hs | 66 +++++++++ 22 files changed, 355 insertions(+), 161 deletions(-) diff --git a/generate/src/Main.hs b/generate/src/Main.hs index 59249fa1..e52648bb 100644 --- a/generate/src/Main.hs +++ b/generate/src/Main.hs @@ -38,5 +38,6 @@ main = do exitFailure Right s -> do let allExtensionNames = extName <$> sExtensions s - documentation <- loadAllDocumentation allExtensionNames vkDir manPath + -- documentation <- loadAllDocumentation allExtensionNames vkDir manPath + let documentation = const Nothing writeSpec documentation outDir cabalPath s diff --git a/generate/src/Spec/Savvy/Command.hs b/generate/src/Spec/Savvy/Command.hs index 335b4641..b9c065eb 100644 --- a/generate/src/Spec/Savvy/Command.hs +++ b/generate/src/Spec/Savvy/Command.hs @@ -18,15 +18,19 @@ import Data.Closure import Data.Either.Validation import Data.Foldable import qualified Data.Map as Map +import Data.Maybe import qualified Data.MultiMap as MultiMap import Data.Text import Data.Traversable import qualified Spec.Command as P import Spec.Savvy.Error +import Spec.Savvy.Extension +import Spec.Savvy.Feature (Requirement (..)) import Spec.Savvy.Handle import Spec.Savvy.Type import qualified Spec.Spec as P +import Write.Element (HaskellName (TermName)) data Command = Command { cName :: Text @@ -37,6 +41,8 @@ data Command = Command -- ^ The closure of aliases to this command, doesn't include aliases in -- extensions , cCommandLevel :: Maybe CommandLevel + , cPlatform :: Maybe Text + -- ^ The platform this command runs on if it is not universal } deriving (Show) @@ -55,8 +61,13 @@ data CommandLevel | Device deriving (Show, Eq) -specCommands :: TypeParseContext -> P.Spec -> [Handle] -> Validation [SpecError] [Command] -specCommands pc P.Spec {..} handles +specCommands + :: TypeParseContext + -> P.Spec + -> [Handle] + -> [Extension] + -> Validation [SpecError] [Command] +specCommands pc P.Spec {..} handles extensions = let commandAliases :: [(Text, Text)] commandAliases = @@ -75,6 +86,13 @@ specCommands pc P.Spec {..} handles $ let cAliases = closeNonReflexive (`MultiMap.lookup` aliasMap) [cName] cCommandLevel = commandLevel' ps + cPlatform = listToMaybe + [ p + | e <- extensions + , TermName n <- rRequiredNames =<< extRequirements e + , n == cName + , Just p <- [extPlatform e] + ] in Command {cReturnType = ret, cParameters = ps, ..} commandType :: Command -> Type diff --git a/generate/src/Spec/Savvy/Spec.hs b/generate/src/Spec/Savvy/Spec.hs index e90915af..3a8514ff 100644 --- a/generate/src/Spec/Savvy/Spec.hs +++ b/generate/src/Spec/Savvy/Spec.hs @@ -89,7 +89,10 @@ spec s = do ) (sCommands, sStructs) <- - validationToEither $ (,) <$> specCommands pc s sHandles <*> specStructs tc s + validationToEither + $ (,) + <$> specCommands pc s sHandles sExtensions + <*> specStructs tc s sAliases <- validationToEither $ specAliases s sCommands sEnums sHandles sStructs sConstants requirements diff --git a/generate/src/Spec/Savvy/Type.hs b/generate/src/Spec/Savvy/Type.hs index e7db9500..194f8a07 100644 --- a/generate/src/Spec/Savvy/Type.hs +++ b/generate/src/Spec/Savvy/Type.hs @@ -16,6 +16,8 @@ module Spec.Savvy.Type , stringToTypeExpected , specParserContext , typeDepends + , isPtrType + , isArrayType ) where import Control.Applicative @@ -221,3 +223,13 @@ typeDepends = \case TypeName "Integral a => a" -> [] TypeName t -> [WE.TypeName t] Proto t ps -> typeDepends t ++ [ p | (_, pt) <- ps, p <- typeDepends pt ] + +isPtrType :: Type -> Bool +isPtrType = \case + Ptr _ -> True + _ -> False + +isArrayType :: Type -> Bool +isArrayType = \case + Array _ _ -> True + _ -> False diff --git a/generate/src/Write/Alias.hs b/generate/src/Write/Alias.hs index 1aa925b8..a5e2a8d9 100644 --- a/generate/src/Write/Alias.hs +++ b/generate/src/Write/Alias.hs @@ -54,8 +54,8 @@ writeValueAlias getType alias@Alias{..} = eitherToValidation $ do |] weExtensions = es weName = "Value Alias: " <> aName - weProvides = [Term aName] - weDepends = [TermName aAliasName] ++ typeDepends (getType target) + weProvides = [Unguarded $ Term aName] + weDepends = Unguarded <$> [TermName aAliasName] ++ typeDepends (getType target) pure WriteElement {..} writePatternAlias @@ -73,8 +73,8 @@ writePatternAlias getType alias@Alias{..} = eitherToValidation $ do |] weExtensions = "PatternSynonyms" : es weName = "Pattern Alias: " <> aName - weProvides = [Pattern aName] - weDepends = PatternName aAliasName : typeDepends (getType target) + weProvides = [Unguarded $ Pattern aName] + weDepends = Unguarded <$> PatternName aAliasName : typeDepends (getType target) pure WriteElement {..} writeTypeAlias @@ -88,8 +88,8 @@ writeTypeAlias Alias{..} = |] weExtensions = [] weName = "Type Alias: " <> aName - weProvides = [TypeAlias aName] - weDepends = [WE.TypeName aAliasName] + weProvides = [Unguarded $ TypeAlias aName] + weDepends = [Unguarded $ WE.TypeName aAliasName] in WriteElement {..} writeStructPatternAlias :: Alias Struct -> Validation [SpecError] WriteElement @@ -106,9 +106,9 @@ writeStructPatternAlias alias@Alias{..} = eitherToValidation $ do |] weExtensions = "PatternSynonyms" : es weName = "Struct Pattern Alias: " <> aName - weProvides = [Pattern aName] + weProvides = [Unguarded $ Pattern aName] weDepends = -- This is not correct if we have a struct alias of a struct alias - [WE.TypeName aAliasName] ++ + Unguarded <$> [WE.TypeName aAliasName] ++ (typeDepends . smType =<< sMembers) pure WriteElement {..} diff --git a/generate/src/Write/BaseType.hs b/generate/src/Write/BaseType.hs index 17824c95..de98d3dd 100644 --- a/generate/src/Write/BaseType.hs +++ b/generate/src/Write/BaseType.hs @@ -23,8 +23,8 @@ writeBaseType :: BaseType -> Either [SpecError] WriteElement writeBaseType bt@BaseType {..} = do (weDoc, weImports, weExtensions) <- hDoc bt let weName = "BaseType: " <> btName - weProvides = [TypeAlias btName] - weDepends = typeDepends btType + weProvides = [Unguarded $ TypeAlias btName] + weDepends = Unguarded <$> typeDepends btType pure WriteElement {..} hDoc :: BaseType -> Either [SpecError] (DocMap -> Doc (), [Import], [Text]) diff --git a/generate/src/Write/Bespoke.hs b/generate/src/Write/Bespoke.hs index 91a8ecb7..ee1fbec2 100644 --- a/generate/src/Write/Bespoke.hs +++ b/generate/src/Write/Bespoke.hs @@ -28,7 +28,7 @@ namedType = weImports = [] weExtensions = ["PolyKinds", "TypeOperators"] weName = "NamedType" - weProvides = [ TypeAlias "(:::)" ] + weProvides = Unguarded <$> [ TypeAlias "(:::)" ] weDepends = [] in WriteElement{..} @@ -66,7 +66,8 @@ versions = ] weExtensions = ["PatternSynonyms", "ViewPatterns"] weName = "Version Macros" - weProvides = [ Pattern "VK_MAKE_VERSION" + weProvides = Unguarded <$> + [ Pattern "VK_MAKE_VERSION" , Pattern "VK_API_VERSION_1_0" , Pattern "VK_API_VERSION_1_1" , Term "_VK_VERSION_MAJOR" @@ -87,7 +88,7 @@ nullHandle = weImports = [Import "Foreign.Ptr" ["Ptr", "nullPtr"]] weExtensions = ["PatternSynonyms", "ViewPatterns"] weName = "Null handle" - weProvides = [Pattern "VK_NULL_HANDLE"] + weProvides = [Unguarded $ Pattern "VK_NULL_HANDLE"] weDepends = [] in WriteElement{..} @@ -112,7 +113,7 @@ voidDataWriteElement n = weImports = [] weExtensions = [] weName = n - weProvides = [WithoutConstructors (TypeName n)] + weProvides = [Unguarded $ WithoutConstructors (TypeName n)] weDepends = [] in WriteElement{..} @@ -163,7 +164,8 @@ newtypeOrTypeWriteElement decl n t is = weExtensions = [] weName = t -- TODO: Tidy - weProvides = if decl == "newtype" + weProvides = Unguarded <$> + if decl == "newtype" then [WithConstructors (TypeName n)] else [WithoutConstructors (TypeName n)] weDepends = [] diff --git a/generate/src/Write/Command.hs b/generate/src/Write/Command.hs index a5a55fda..f4c9ce44 100644 --- a/generate/src/Write/Command.hs +++ b/generate/src/Write/Command.hs @@ -30,17 +30,18 @@ writeCommand getEnumName fp@Command {..} = do (weDoc, weImports, weExtensions) <- commandDoc fp let weName = "Command: " <> cName - weProvides = [Term cName] protoDepends = typeDepends $ Proto cReturnType [ (Just n, lowerArrayToPointer t) | Parameter n t <- cParameters ] + weProvides = [Unguarded $ Term cName] weDepends = - protoDepends + Unguarded + <$> protoDepends <> -- The constructors for an enum type need to be in scope - [ TypeName e - | TypeName n <- protoDepends - , Just e <- [getEnumName n] - ] + [ TypeName e + | TypeName n <- protoDepends + , Just e <- [getEnumName n] + ] pure WriteElement {..} commandDoc :: Command -> Either [SpecError] (DocMap -> Doc (), [Import], [Text]) diff --git a/generate/src/Write/Constant.hs b/generate/src/Write/Constant.hs index 63c96d05..ca12d413 100644 --- a/generate/src/Write/Constant.hs +++ b/generate/src/Write/Constant.hs @@ -26,23 +26,23 @@ writeAPIConstant ac@APIConstant {..} = IntegralValue _ -> let weExtensions = ["PatternSynonyms", "DataKinds"] weImports = [] - weProvides = + weProvides = Unguarded <$> [TypeAlias acName, Pattern acName] in WriteElement {..} FloatValue _ -> let weExtensions = ["PatternSynonyms"] weImports = [Import "Foreign.C.Types" ["CFloat"]] - weProvides = [Pattern acName] + weProvides = [Unguarded $ Pattern acName] in WriteElement {..} Word32Value _ -> let weExtensions = ["PatternSynonyms"] weImports = [Import "Data.Word" ["Word32"]] - weProvides = [Pattern acName] + weProvides = [Unguarded $ Pattern acName] in WriteElement {..} Word64Value _ -> let weExtensions = ["PatternSynonyms"] weImports = [Import "Data.Word" ["Word64"]] - weProvides = [Pattern acName] + weProvides = [Unguarded $ Pattern acName] in WriteElement {..} constantDoc :: APIConstant -> DocMap -> Doc () diff --git a/generate/src/Write/ConstantExtension.hs b/generate/src/Write/ConstantExtension.hs index f794294c..f79c7b7f 100644 --- a/generate/src/Write/ConstantExtension.hs +++ b/generate/src/Write/ConstantExtension.hs @@ -31,8 +31,8 @@ writeConstantExtension getEnumerantEnumName ce@ConstantExtension {..} = EnumValueInt _ -> [] EnumValueAlias _ -> [] weName = "ConstantExtension: " <> ceName - weProvides = [Pattern ceName] - weDepends = case ceValue of + weProvides = [Unguarded $ Pattern ceName] + weDepends = Unguarded <$> case ceValue of EnumValueAlias n -> [ PatternName n , TypeName (fromMaybe (error (show n)) (getEnumerantEnumName n)) diff --git a/generate/src/Write/Element.hs b/generate/src/Write/Element.hs index fa877947..21d4526a 100644 --- a/generate/src/Write/Element.hs +++ b/generate/src/Write/Element.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternSynonyms #-} @@ -6,6 +7,8 @@ module Write.Element , Export(..) , HaskellName(..) , Import(..) + , Guarded(..) + , unGuarded , pattern Pattern , pattern Term , pattern TypeConstructor @@ -27,9 +30,9 @@ data WriteElement = WriteElement , weImports :: [Import] -- ^ "system" imports , weDoc :: DocMap -> Doc () - , weProvides :: [Export] + , weProvides :: [Guarded Export] -- ^ The names this element declares - , weDepends :: [HaskellName] + , weDepends :: [Guarded HaskellName] -- ^ Other Vulkan names to expose } @@ -44,6 +47,16 @@ data HaskellName | PatternName { unHaskellName :: Text } deriving (Show, Eq, Ord) +data Guarded a + = Guarded Text a + | Unguarded a + deriving (Show, Eq, Ord) + +unGuarded :: Guarded a -> a +unGuarded = \case + Guarded _ n -> n + Unguarded n -> n + pattern Pattern :: Text -> Export pattern Pattern n = WithoutConstructors (PatternName n) diff --git a/generate/src/Write/EnumExtension.hs b/generate/src/Write/EnumExtension.hs index 254d7ace..da7dfc10 100644 --- a/generate/src/Write/EnumExtension.hs +++ b/generate/src/Write/EnumExtension.hs @@ -30,9 +30,9 @@ writeEnumExtension enumName e@EnumExtension {..} = weDoc = enumExtensionDoc enumName e weExtensions = ["PatternSynonyms"] weImports = [] - weProvides = [Pattern exName] + weProvides = [Unguarded $ Pattern exName] -- TODO: add the enum type to the depends - weDepends = [TypeName enumName] + weDepends = [Unguarded $ TypeName enumName] in WriteElement {..} enumExtensionDoc :: Text -> EnumExtension -> DocMap -> Doc () diff --git a/generate/src/Write/Handle.hs b/generate/src/Write/Handle.hs index 32aa3a6b..e9c109f1 100644 --- a/generate/src/Write/Handle.hs +++ b/generate/src/Write/Handle.hs @@ -21,9 +21,9 @@ writeHandle :: Handle -> Either [SpecError] WriteElement writeHandle h@Handle {..} = do weDoc <- hDoc h let weName = "Handle: " <> hName - weProvides = [TypeAlias hName] weExtensions = [] weImports = [Import "Foreign.Ptr" ["Ptr"]] + weProvides = [Unguarded $ TypeAlias hName] weDepends = [] pure WriteElement {..} diff --git a/generate/src/Write/HeaderVersion.hs b/generate/src/Write/HeaderVersion.hs index 3bcdb5ca..469ffe65 100644 --- a/generate/src/Write/HeaderVersion.hs +++ b/generate/src/Write/HeaderVersion.hs @@ -22,6 +22,6 @@ writeHeaderVersion version = weImports = [] weExtensions = ["PatternSynonyms"] weName = "Header Version" - weProvides = [Pattern "VK_HEADER_VERSION"] + weProvides = [Unguarded $ Pattern "VK_HEADER_VERSION"] weDepends = [] in WriteElement{..} diff --git a/generate/src/Write/Loader.hs b/generate/src/Write/Loader.hs index cf4881d9..c04c5367 100644 --- a/generate/src/Write/Loader.hs +++ b/generate/src/Write/Loader.hs @@ -1,4 +1,5 @@ {-# LANGUAGE ApplicativeDo #-} +{-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE RecordWildCards #-} @@ -7,8 +8,12 @@ module Write.Loader ( writeLoader ) where +import Control.Arrow ((&&&)) +import Control.Monad import Data.Either.Validation import Data.List.Extra +import qualified Data.Map as Map +import Data.Maybe import Data.Text.Extra (Text) import qualified Data.Text.Extra as T import Data.Text.Prettyprint.Doc @@ -18,35 +23,78 @@ import Text.InterpolatedString.Perl6.Unindented import Spec.Savvy.Command import Spec.Savvy.Enum import Spec.Savvy.Error +import Spec.Savvy.Platform import Spec.Savvy.Type hiding (TypeName) import Spec.Savvy.Type.Haskell import Write.Element import Write.Type.Enum import Write.Util -writeLoader :: (Text -> Maybe Text) -> [Command] -> Either [SpecError] WriteElement -writeLoader getEnumName commands = do - (weDoc, is, es) <- writeLoaderDoc commands - let weName = "Dynamic Function Pointer Loaders" - weExtensions = ["ForeignFunctionInterface", "MagicHash"] ++ es - weImports = - [ Import "Foreign.Ptr" ["FunPtr", "castPtrToFunPtr", "nullFunPtr"] - , QualifiedImport "GHC.Ptr" ["Ptr(..)"] +writeLoader + :: (Text -> Maybe Text) + -- ^ Enum name resolver + -> [Platform] + -- ^ Platform guard info + -> [Command] + -- ^ Commands in the spec + -> Either [SpecError] WriteElement +writeLoader getEnumName platforms commands = do + let + platformGuardMap :: Text -> Maybe Text + platformGuardMap = + (`Map.lookup` (Map.fromList + ((Spec.Savvy.Platform.pName &&& pProtect) <$> platforms) + ) + ) + (weDoc, is, es) <- writeLoaderDoc platformGuardMap commands + let + exposedCommands = (filter (isJust . cCommandLevel) commands) + weName = "Dynamic Function Pointer Loaders" + weExtensions = ["CPP", "ForeignFunctionInterface", "MagicHash"] ++ es + weImports = + [ Import "Foreign.Ptr" ["FunPtr", "castPtrToFunPtr", "nullFunPtr"] + , QualifiedImport "GHC.Ptr" ["Ptr(..)"] + ] + ++ is + cmdProvides :: Command -> [Guarded Export] + cmdProvides Command {..} = + (case platformGuardMap =<< cPlatform of + Nothing -> Unguarded + Just g -> Guarded g + ) + <$> ( [Term (dropVk cName)] + ++ [Term (("has" <>) . T.upperCaseFirst . dropVk $ cName)] + ) + weProvides = + ( Unguarded + <$> ([TypeConstructor, Term] <*> ["DeviceCmds", "InstanceCmds"]) + ) + ++ (Unguarded . Term <$> ["initDeviceCmds", "initInstanceCmds"]) + ++ (cmdProvides =<< exposedCommands) + weReexports = [] + weReexportable = [] + -- TODO: Write these like the imports and extensions, and move all that + -- to some writer monad. + weDepends = + concat + [ case platformGuardMap =<< cPlatform c of + Nothing -> Unguarded <$> (commandDepends getEnumName $ c) + Just g -> Guarded g <$> (commandDepends getEnumName $ c) + | c <- exposedCommands ] - ++ is - weProvides = [TypeConstructor, Term] <*> ["DeviceCmds", "InstanceCmds"] - weReexports = [] - weReexportable = [] - -- TODO: Write these like the imports and extensions, and move all that - -- to some writer monad. - weDepends = - nubOrd - $ [TermName "vkGetDeviceProcAddr", TermName "vkGetInstanceProcAddr"] - ++ (commandDepends getEnumName =<< commands) + ++ ( Unguarded + <$> [ TermName "vkGetDeviceProcAddr" + , TermName "vkGetInstanceProcAddr" + ] + ) pure WriteElement {..} -writeLoaderDoc :: [Command] -> Either [SpecError] (DocMap -> Doc (), [Import], [Text]) -writeLoaderDoc commands = do +writeLoaderDoc + :: (Text -> Maybe Text) + -- ^ Platform guard info + -> [Command] + -> Either [SpecError] (DocMap -> Doc (), [Import], [Text]) +writeLoaderDoc platformGuardMap commands = do let deviceLevelCommands = [ c | c <- commands, cCommandLevel c == Just Device ] instanceLevelCommands = @@ -54,66 +102,78 @@ writeLoaderDoc commands = do | c <- commands , cCommandLevel c `elem` [Just Instance, Just PhysicalDevice] ] - (drs, is, es) <- unzip3 <$> traverseP writeRecordMember deviceLevelCommands - (dfs, is', es') <- unzip3 <$> traverseP (writeFunction "Device") deviceLevelCommands + (drs, is , es ) <- unzip3 <$> traverseP (writeRecordMember platformGuardMap) deviceLevelCommands + (dfs, is', es') <- + unzip3 <$> traverseP (writeFunction platformGuardMap "Device") deviceLevelCommands (irs, is'', es'') <- - unzip3 <$> traverseP writeRecordMember instanceLevelCommands + unzip3 <$> traverseP (writeRecordMember platformGuardMap) instanceLevelCommands (ifs, is''', es''') <- - unzip3 <$> traverseP (writeFunction "Instance") instanceLevelCommands + unzip3 <$> traverseP (writeFunction platformGuardMap "Instance") instanceLevelCommands pure $ let d = \_ -> [qci| data DeviceCmds = DeviceCmds - \{ {indent (-2) . vcat . intercalatePrepend "," $ drs} + \{ {indent (-2) . separatedWithGuards "," $ drs} } + deriving (Show) data InstanceCmds = InstanceCmds - \{ {indent (-2) . vcat . intercalatePrepend "," $ irs} + \{ {indent (-2) . separatedWithGuards "," $ irs} } + deriving (Show) - {initFunction "Device" deviceLevelCommands} + {initFunction platformGuardMap "Device" deviceLevelCommands} - {initFunction "Instance" instanceLevelCommands} + {initFunction platformGuardMap "Instance" instanceLevelCommands} - {vcat $ hasFunction "Device" <$> deviceLevelCommands} + {separatedWithGuards "" $ hasFunction platformGuardMap "Device" <$> deviceLevelCommands} - {vcat $ hasFunction "Instance" <$> instanceLevelCommands} + {separatedWithGuards "" $ hasFunction platformGuardMap "Instance" <$> instanceLevelCommands} -- * Device commands - {vcat $ dfs} + {separatedWithGuards "" $ dfs} -- * Instance commands - {vcat $ ifs} + {separatedWithGuards "" $ ifs} |] in (d, concat $ concat [is, is', is'', is'''], concat $ concat [es, es', es'', es''']) -hasFunction :: Text -> Command -> Doc () -hasFunction domain Command{..} = [qci| +hasFunction :: (Text -> Maybe Text) -> Text -> Command -> (Doc (), Maybe Text) +hasFunction gm domain Command{..} = ([qci| has{T.upperCaseFirst $ dropVk cName} :: {domain}Cmds -> Bool has{T.upperCaseFirst $ dropVk cName} = (/= nullFunPtr) . p{T.upperCaseFirst cName} - |] + |], gm =<< cPlatform) -- | The initialization function for a set of command pointers -initFunction :: Text -> [Command] -> Doc () -initFunction domain commands = [qci| +initFunction :: (Text -> Maybe Text) -> Text -> [Command] -> Doc () +initFunction gm domain commands = [qci| init{domain}Cmds :: Vk{domain} -> IO {domain}Cmds init{domain}Cmds handle = {domain}Cmds - <$> {indent (-4) . vcat . intercalatePrepend "<*>" $ - initLine domain <$> commands} + <$> {indent (-4) $ separatedWithGuards "<*>" + ((initLine domain &&& (gm <=< cPlatform)) <$> commands)} |] where initLine :: Text -> Command -> Doc () initLine domain Command{..} = [qci|(castPtrToFunPtr <$> vkGet{domain}ProcAddr handle (GHC.Ptr.Ptr "{cName}\NUL"#))|] -writeRecordMember :: Command -> Either [SpecError] (Doc (), [Import], [Text]) -writeRecordMember c@Command{..} = do +writeRecordMember + :: (Text -> Maybe Text) + -- ^ platform to guard + -> Command + -> Either [SpecError] ((Doc (), Maybe Text), [Import], [Text]) +writeRecordMember gp c@Command{..} = do (t, (is, es)) <- toHsTypePrec 10 (commandType c) let d= [qci| p{T.upperCaseFirst cName} :: FunPtr {t} |] - pure (d, is, es) - -writeFunction :: Text -> Command -> Either [SpecError] (Doc (), [Import], [Text]) -writeFunction domain c@Command{..} = do + pure ((d, gp =<< cPlatform), is, es) + +writeFunction + :: (Text -> Maybe Text) + -- ^ platform to guard + -> Text + -> Command + -> Either [SpecError] ((Doc (), Maybe Text), [Import], [Text]) +writeFunction gm domain c@Command{..} = do (t, (is, es)) <- toHsTypePrec 10 (commandType c) let upperCaseName = T.upperCaseFirst cName d= [qci| @@ -122,7 +182,7 @@ writeFunction domain c@Command{..} = do foreign import ccall unsafe "dynamic" mk{upperCaseName} :: FunPtr {t} -> {t} |] - pure (d, is, es) + pure ((d, gm =<< cPlatform), is, es) traverseP f xs = validationToEither $ traverse (eitherToValidation . f) xs @@ -130,13 +190,21 @@ dropVk :: Text -> Text dropVk = T.lowerCaseFirst . T.dropPrefix' "vk" commandDepends :: (Text -> Maybe Text) -> Command -> [HaskellName] -commandDepends getEnumName Command {..} - = let protoDepends = typeDepends $ Proto - cReturnType - [ (Just n, lowerArrayToPointer t) | Parameter n t <- cParameters ] - in protoDepends - <> -- The constructors for an enum type need to be in scope - [ TypeName e - | TypeName n <- protoDepends - , Just e <- [getEnumName n] - ] +commandDepends getEnumName Command {..} = + let protoDepends = typeDepends $ Proto + cReturnType + [ (Just n, lowerArrayToPointer t) | Parameter n t <- cParameters ] + protoDependsNoPointers = typeDepends $ Proto + cReturnType + [ (Just n, t) + | Parameter n t <- cParameters + , not (isPtrType t) + , not (isArrayType t) + ] + in protoDepends + <> -- The constructors for an enum type need to be in scope + -- Unless they're just used as pointers + [ TypeName e + | TypeName n <- protoDependsNoPointers + , Just e <- [getEnumName n] + ] diff --git a/generate/src/Write/Module.hs b/generate/src/Write/Module.hs index cfda8c5e..47eb7cb8 100644 --- a/generate/src/Write/Module.hs +++ b/generate/src/Write/Module.hs @@ -4,6 +4,7 @@ {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE RecordWildCards #-} +{-# LANGUAGE TupleSections #-} module Write.Module ( Module(..) @@ -18,6 +19,7 @@ import Data.Functor.Extra import Data.List.Extra import qualified Data.Map as Map import Data.Maybe +import qualified Data.Set as Set import Data.Text (Text) import qualified Data.Text.Extra as T import Data.Text.Prettyprint.Doc @@ -76,18 +78,15 @@ getModuleDoc findDoc findModule thisModule name = do writeModule :: (Documentee -> Maybe Haddock) - -> (HaskellName -> Maybe (Text, Export)) + -> (HaskellName -> Maybe (Text, Guarded Export)) -> Module -> Doc () writeModule getDoc getModule m@Module{..} = [qci| \{-# language Strict #-} - \{-# language CPP #-} {vcat $ moduleExtensions m} module {mName} - ( {indent (-2) $ separatedSections "," - [ (Nothing, moduleExports m) - ]}{vcat $ moduleReexports (null (moduleExports m)) m} + ( {indent (-2) $ separatedWithGuards "," (moduleExports m)} ) where {vcat $ moduleImports m} @@ -98,23 +97,10 @@ writeModule getDoc getModule m@Module{..} = [qci| {vcatPara $ (flip weDoc getDoc) <$> mWriteElements} |] -moduleExports :: Module -> [Doc ()] +moduleExports :: Module -> [(Doc (), Maybe Text)] moduleExports Module {..} = mapMaybe exportHaskellName (weProvides =<< mWriteElements) - -moduleReexports :: Bool -> Module -> [Doc ()] -moduleReexports first Module {..} = - mapMaybe exportHaskellName mReexports - ++ zipWith reexportModule (first : repeat False) mReexportedModules - -reexportModule :: Bool -> ReexportedModule -> Doc () -reexportModule first ReexportedModule {..} = case rmGuard of - Nothing -> [qci|{indent 2 $ if first then " " else ","} module {rmName}|] - Just g -> indent (-100) [qci| - #if defined({g}) - {if first then " " else "," :: Doc a} module {rmName} - #endif - |] + ++ [("module " <> pretty (rmName r), rmGuard r)| r <- mReexportedModules] importReexportedModule :: ReexportedModule -> Doc () importReexportedModule ReexportedModule {..} = case rmGuard of @@ -125,16 +111,22 @@ importReexportedModule ReexportedModule {..} = case rmGuard of #endif |] -exportHaskellName :: Export -> Maybe (Doc ()) +exportHaskellName :: Guarded Export -> Maybe (Doc (), Maybe Text) exportHaskellName e = - let s = case unExport e of + let s = case unExport (unGuarded e) of TypeName n -> Just (pretty n) TermName n | isConstructor n -> Nothing | otherwise -> Just (pretty n) PatternName n -> Just ("pattern" <+> pretty n) - in case e of + doc = case unGuarded e of WithConstructors _ -> (<> "(..)") <$> s WithoutConstructors _ -> s + in ( + , (case e of + Guarded g _ -> Just g + Unguarded _ -> Nothing + ) + ) <$> doc isConstructor :: Text -> Bool isConstructor = \case @@ -158,10 +150,10 @@ moduleImports Module {..} = in (makeImport " " <$> Map.assocs unqualifiedImportMap) ++ (makeImport " qualified " <$> Map.assocs qualifiedImportMap) -findModuleHN :: [Module] -> HaskellName -> Maybe (Text, Export) +findModuleHN :: [Module] -> HaskellName -> Maybe (Text, Guarded Export) findModuleHN ms = let nameMap = Map.fromList - [ (unExport e, (mName m, e)) + [ (unExport (unGuarded e), (mName m, e)) | m <- ms , we <- mWriteElements m , e <- weProvides we @@ -174,31 +166,45 @@ findModule ms = [ (e, mName m) | m <- ms , we <- mWriteElements m - , e <- unHaskellName . unExport <$> weProvides we + , e <- unHaskellName . unExport . unGuarded <$> weProvides we ] in (`Map.lookup` nameMap) moduleInternalImports - :: (HaskellName -> Maybe (Text, Export)) + :: (HaskellName -> Maybe (Text, Guarded Export)) -- ^ which module is this name from -> Module -> [Doc ()] moduleInternalImports nameModule Module {..} = - let depends = Map.fromListWith + let deps = simplifyDependencies (weDepends =<< mWriteElements) + depends = Map.fromListWith (<>) - [ (m, [e]) - | d <- nubOrd (weDepends =<< mWriteElements) - , Just (m, e) <- [nameModule d] - , d `notElem` (unExport <$> (weProvides =<< mWriteElements)) + [ ((m, g), [e]) + | d <- deps + , Just (m, e) <- [nameModule (unGuarded d)] + , unGuarded d `notElem` (unExport . unGuarded <$> (weProvides =<< mWriteElements)) + , let g = case d of + Unguarded _ -> Nothing + Guarded g _ -> Just g + ] + in Map.assocs depends <&> \((moduleName, guard), is) -> + guarded guard [qci| + import {pretty moduleName} + ( {indent (-2) . vcat . intercalatePrepend "," $ mapMaybe (fmap fst . exportHaskellName) is} + ) + |] + +simplifyDependencies :: [Guarded HaskellName] -> [Guarded HaskellName] +simplifyDependencies deps = + let unguarded = Set.fromList [ Unguarded d | Unguarded d <- deps ] + guarded = Set.fromList + [ Guarded g d + | Guarded g d <- deps + , Unguarded d `Set.notMember` unguarded ] - in Map.assocs depends <&> \(moduleName, is) -> [qci| - import {pretty moduleName} - ( {indent (-2) . vcat . intercalatePrepend "," $ mapMaybe exportHaskellName is} - ) -|] + in Set.toList unguarded ++ Set.toList guarded moduleExtensions :: Module -> [Doc ()] moduleExtensions Module{..} = let es = nubOrd $ weExtensions =<< mWriteElements in es <&> \e -> [qci|\{-# language {e} #-}|] - diff --git a/generate/src/Write/Partition.hs b/generate/src/Write/Partition.hs index 404328f3..78de47e4 100644 --- a/generate/src/Write/Partition.hs +++ b/generate/src/Write/Partition.hs @@ -50,7 +50,7 @@ partitionElements wes ss = validationToEither $ do let step name = [ d | we <- providingElements [name] - , d <- weDepends we + , d <- unGuarded <$> weDepends we -- Don't allow other modules to grab exports from another seed -- TODO: This may not disallow stealing names, as the -- writeElement could be pulled in by a different requried name @@ -104,7 +104,7 @@ makeReexports :: Set.Set HaskellName -> Module -> Module makeReexports dis Module {..} = let isAllowed we@WriteElement {..} = all (`Set.notMember` dis) (weProvidesHN we) (wes, res) = partitionEithers - [ if isAllowed we then Left we else Right (weProvides we) + [ if isAllowed we then Left we else Right (unGuarded <$> weProvides we) | we <- mWriteElements , isAllowed we ] @@ -187,16 +187,16 @@ assertAllDependenciesSatisfied :: [Module] -> Validation [SpecError] () assertAllDependenciesSatisfied ms = let allDepends :: [HaskellName] - allDepends = nubOrd $ weDepends =<< mWriteElements =<< ms + allDepends = nubOrd $ fmap unGuarded . weDepends =<< mWriteElements =<< ms allExports :: [HaskellName] allExports = - nubOrd . fmap unExport $ weProvides =<< mWriteElements =<< ms + nubOrd . fmap (unExport . unGuarded) $ weProvides =<< mWriteElements =<< ms dependsMap :: HaskellName -> [Text] dependsMap = let m = MultiMap.fromList [ (d, weName we) | we <- mWriteElements =<< ms - , d <- weDepends we + , d <- unGuarded <$> weDepends we ] in (`MultiMap.lookup` m) in @@ -229,4 +229,4 @@ genExportMapWriteElements wes = (`MultiMap.lookup` m) ---------------------------------------------------------------- weProvidesHN :: WriteElement -> [HaskellName] -weProvidesHN = fmap unExport . weProvides +weProvidesHN = fmap (unExport . unGuarded) . weProvides diff --git a/generate/src/Write/Spec.hs b/generate/src/Write/Spec.hs index 4a43f720..1741f323 100644 --- a/generate/src/Write/Spec.hs +++ b/generate/src/Write/Spec.hs @@ -143,7 +143,7 @@ specWriteElements Spec {..} = do wBaseTypes <- let isAllowedBaseType bt = btName bt /= "VkBool32" in eitherToValidation $ traverse writeBaseType (filter isAllowedBaseType sBaseTypes) - wLoader <- eitherToValidation $ writeLoader getEnumAliasTarget sCommands + wLoader <- eitherToValidation $ writeLoader getEnumAliasTarget sPlatforms sCommands pure $ concat [ [wHeaderVersion] , bespokeWriteElements diff --git a/generate/src/Write/Struct.hs b/generate/src/Write/Struct.hs index 13b33617..a841fefc 100644 --- a/generate/src/Write/Struct.hs +++ b/generate/src/Write/Struct.hs @@ -30,28 +30,32 @@ writeStruct :: Struct -> Either [SpecError] WriteElement writeStruct s@Struct {..} = case sStructOrUnion of AStruct -> do (weDoc, imports, extensions) <- structDoc s - let weName = "Struct: " <> sName - weExtensions = extensions ++ ["DuplicateRecordFields"] - weImports = - imports - ++ [ Import "Foreign.Ptr" ["plusPtr"] - , Import "Foreign.Storable" ["Storable(..)"] - ] - weProvides = [TypeConstructor sName, Term sName] - weDepends = nubOrd (concatMap (typeDepends . smType) sMembers) + let + weName = "Struct: " <> sName + weExtensions = extensions ++ ["DuplicateRecordFields"] + weImports = + imports + ++ [ Import "Foreign.Ptr" ["plusPtr"] + , Import "Foreign.Storable" ["Storable(..)"] + ] + weProvides = Unguarded <$> [TypeConstructor sName, Term sName] + weDepends = + Unguarded <$> nubOrd (concatMap (typeDepends . smType) sMembers) pure WriteElement {..} AUnion -> do (weDoc, imports, extensions) <- unionDoc s - let smNames = toConstructorName <$> (smName <$> sMembers) - weName = "Union: " <> sName - weExtensions = extensions - weImports = - imports - ++ [ Import "Foreign.Ptr" ["castPtr"] - , Import "Foreign.Storable" ["Storable(..)"] - ] - weProvides = TypeConstructor sName : (Term <$> smNames) - weDepends = nubOrd $ concatMap (typeDepends . smType) sMembers + let + smNames = toConstructorName <$> (smName <$> sMembers) + weName = "Union: " <> sName + weExtensions = extensions + weImports = + imports + ++ [ Import "Foreign.Ptr" ["castPtr"] + , Import "Foreign.Storable" ["Storable(..)"] + ] + weProvides = Unguarded <$> TypeConstructor sName : (Term <$> smNames) + weDepends = + Unguarded <$> nubOrd (concatMap (typeDepends . smType) sMembers) pure WriteElement {..} ---------------------------------------------------------------- diff --git a/generate/src/Write/Type/Enum.hs b/generate/src/Write/Type/Enum.hs index af22000f..c9ddcaa5 100644 --- a/generate/src/Write/Type/Enum.hs +++ b/generate/src/Write/Type/Enum.hs @@ -42,10 +42,10 @@ writeEnum e@Enum {..} = [ Import "Data.Bits" ["Bits", "FiniteBits"] ] - weProvides = + weProvides = Unguarded <$> [TypeConstructor eName, Term eName] ++ [ Pattern eeName | EnumElement {..} <- eElements ] - weDepends = case eType of + weDepends = Unguarded <$> case eType of EnumTypeEnum -> [] EnumTypeBitmask -> [TypeName "VkFlags"] in WriteElement {..} diff --git a/generate/src/Write/Type/FuncPointer.hs b/generate/src/Write/Type/FuncPointer.hs index c5f973b4..457115e3 100644 --- a/generate/src/Write/Type/FuncPointer.hs +++ b/generate/src/Write/Type/FuncPointer.hs @@ -23,8 +23,8 @@ writeFuncPointer :: FuncPointer -> Either [SpecError] WriteElement writeFuncPointer fp@FuncPointer {..} = do (weDoc, weImports, weExtensions) <- fpDoc fp let weName = "FuncPointer: " <> fpName - weProvides = [TypeAlias fpName] - weDepends = typeDepends fpType + weProvides = Unguarded <$> [TypeAlias fpName] + weDepends = Unguarded <$> typeDepends fpType pure WriteElement {..} fpDoc :: FuncPointer -> Either [SpecError] (DocMap -> Doc (), [Import], [Text]) diff --git a/generate/src/Write/Util.hs b/generate/src/Write/Util.hs index 5b5d37b8..ca28ad16 100644 --- a/generate/src/Write/Util.hs +++ b/generate/src/Write/Util.hs @@ -8,9 +8,15 @@ module Write.Util , separatedSections , document , Documentee(..) + , separatedWithGuards + , guarded ) where +import Data.Bifunctor +import Data.Function +import Data.Functor.Extra import Data.List.NonEmpty +import qualified Data.List.NonEmpty as NE import Data.Maybe import Data.Text (Text) import qualified Data.Text.Extra as T @@ -70,3 +76,63 @@ document getDoc n = case getDoc n of space = \case "" -> "" x -> " " <> x + +separatedWithGuards + :: Text + -- ^ Separator + -> [(Doc (), Maybe Text)] + -- ^ Things to separate with optional guards + -> Doc () +separatedWithGuards sep things = + let prefixedThings = case things of + [] -> [] + x:xs -> x : (first sepPrefix <$> xs) + in case mergeGuards prefixedThings of + [] -> mempty + (d : ds) -> vcatIndents $ concat ((uncurry (flip guardedLines) d) : (sepThings ds)) + where + sepThings ds = ds <&> \(d, g) -> guardedLines g d + sepPrefix = case sep of + "" -> ("" <>) + s -> (pretty s <+>) + +mergeGuards :: [(Doc (), Maybe Text)] + -> [(Doc (), Maybe Text)] +mergeGuards xs = + let groups :: [NonEmpty ((Doc (), Maybe Text))] + groups = groupBy (sameGuard `on` snd) xs + sameGuard (Just x) (Just y) = x == y + sameGuard _ _ = False + ungroups :: NonEmpty (Doc (), Maybe Text) -> (Doc (), Maybe Text) + ungroups group = + let (ds, g:|gs) = NE.unzip group + in (vcat (NE.toList ds), g) + in ungroups <$> groups + +guardedLines :: Maybe Text -> Doc () -> [(Maybe Int, Doc ())] +guardedLines = \case + Nothing -> \d -> [(Nothing, d)] + Just g -> \d -> + [ (Just (-1000), "#if defined(" <> pretty g <> ")") + , (Nothing , d) + , (Just (-1000), "#endif") + ] + +guarded :: Maybe Text -> Doc () -> Doc () +guarded = \case + Nothing -> id + Just g -> \d -> + indent minBound (line <> "#if defined(" <> pretty g <> ")") + <> line <> d + <> indent minBound (line <> "#endif") + +-- | Workaround for https://github.com/quchen/prettyprinter/issues/57 +vcatIndents :: [(Maybe Int, Doc ())] -> Doc () +vcatIndents = \case + [] -> mempty + (Nothing, d) : ds -> hcat $ (d : (addLine <$> ds)) + ds -> hcat $ (addLine <$> ds) + where + addLine = \case + (Just i , d) -> indent i (line <> d) + (Nothing, d) -> line <> d From 3415383267dd2df8283db42a511ee6aa9104fdd5 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 13:24:42 +0800 Subject: [PATCH 10/16] Do not export dynamic from Graphics.Vulkan --- generate/src/Write/Module.hs | 1 + generate/src/Write/Module/Aggregate.hs | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/generate/src/Write/Module.hs b/generate/src/Write/Module.hs index 47eb7cb8..a7d0ea62 100644 --- a/generate/src/Write/Module.hs +++ b/generate/src/Write/Module.hs @@ -83,6 +83,7 @@ writeModule -> Doc () writeModule getDoc getModule m@Module{..} = [qci| \{-# language Strict #-} + \{-# language CPP #-} {vcat $ moduleExtensions m} module {mName} diff --git a/generate/src/Write/Module/Aggregate.hs b/generate/src/Write/Module/Aggregate.hs index 4333be89..0e38d322 100644 --- a/generate/src/Write/Module/Aggregate.hs +++ b/generate/src/Write/Module/Aggregate.hs @@ -19,7 +19,10 @@ makeAggregateModules makeAggregateModules guards ms = let inputNames :: [[Text]] - inputNames = nubOrd . splitModuleName . mName <$> ms + inputNames = + nubOrd + . splitModuleName + <$> (filter (`notElem` disallowedModules) . fmap mName $ ms) newNames :: [[Text]] newNames = nubOrd (filter (not . null) (inits =<< inputNames)) \\ inputNames @@ -46,3 +49,6 @@ splitModuleName = T.splitOn "." unsplitModuleName :: [Text] -> Text unsplitModuleName = T.intercalate "." +-- | Modules which shouldn't feature in any aggregate +disallowedModules :: [Text] +disallowedModules = ["Graphics.Vulkan.Dynamic"] From 6b9bf85a5654e4af0596366e71723656125bda19 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 13:25:05 +0800 Subject: [PATCH 11/16] reenable docs --- generate/src/Main.hs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/generate/src/Main.hs b/generate/src/Main.hs index e52648bb..59249fa1 100644 --- a/generate/src/Main.hs +++ b/generate/src/Main.hs @@ -38,6 +38,5 @@ main = do exitFailure Right s -> do let allExtensionNames = extName <$> sExtensions s - -- documentation <- loadAllDocumentation allExtensionNames vkDir manPath - let documentation = const Nothing + documentation <- loadAllDocumentation allExtensionNames vkDir manPath writeSpec documentation outDir cabalPath s From 2e9ba068c27adaf199cd8d14fc5fdd131f71d003 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 13:32:28 +0800 Subject: [PATCH 12/16] Sort import lists --- generate/src/Write/Module.hs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/generate/src/Write/Module.hs b/generate/src/Write/Module.hs index a7d0ea62..14b5ae6b 100644 --- a/generate/src/Write/Module.hs +++ b/generate/src/Write/Module.hs @@ -136,10 +136,10 @@ isConstructor = \case moduleImports :: Module -> [Doc ()] moduleImports Module {..} = - let unqualifiedImportMap = Map.fromListWith + let unqualifiedImportMap = sort <$> Map.fromListWith union ((iModule &&& iImports) <$> [i | i@Import{} <- weImports =<< mWriteElements]) - qualifiedImportMap = Map.fromListWith + qualifiedImportMap = sort <$> Map.fromListWith union ((iModule &&& iImports) <$> [i | i@QualifiedImport{} <- weImports =<< mWriteElements]) makeImport :: Doc () -> (Text, [Text]) -> Doc () @@ -178,7 +178,7 @@ moduleInternalImports -> [Doc ()] moduleInternalImports nameModule Module {..} = let deps = simplifyDependencies (weDepends =<< mWriteElements) - depends = Map.fromListWith + depends = sort <$> Map.fromListWith (<>) [ ((m, g), [e]) | d <- deps From 95e506daa967b0af6107707a2bd52d1555ef9844 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 13:34:08 +0800 Subject: [PATCH 13/16] Turn on platform specific extensions by default --- generate/src/Write/Cabal.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/generate/src/Write/Cabal.hs b/generate/src/Write/Cabal.hs index 9643ea7a..7b61b4b4 100644 --- a/generate/src/Write/Cabal.hs +++ b/generate/src/Write/Cabal.hs @@ -85,7 +85,9 @@ writePlatformFlag platform = [qci| flag {pName platform} description: Enable {pName platform} specific extensions - default: False + -- These are on by default, if lazy-loading or manual dynamic loading + -- is used then it shouldn't be a problem exposing these. + default: True |] writeGuardedModules :: ((Text, Text), [Module]) -> Doc () From c2b6328b3e79ce6a05d72b4d5763b8b995cd4456 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 13:46:22 +0800 Subject: [PATCH 14/16] Add option for making foreign calls safe See #4 --- generate/src/Write/Cabal.hs | 10 ++++++++++ generate/src/Write/Command.hs | 6 +++++- generate/src/Write/Loader.hs | 6 +++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/generate/src/Write/Cabal.hs b/generate/src/Write/Cabal.hs index 7b61b4b4..74747d23 100644 --- a/generate/src/Write/Cabal.hs +++ b/generate/src/Write/Cabal.hs @@ -56,6 +56,13 @@ writeCabal modules platforms guardInfo = {vcat $ writePlatformFlag <$> platforms} + flag safe-foreign-calls + description: + Do not mark foreign imports as 'unsafe'. This means that + callbacks from Vulkan to Haskell will work. If you are using + these then make sure this flag is enabled. + default: False + library hs-source-dirs: src -- We need to use cpphs, as regular cpp ruins latex math with lines @@ -64,6 +71,9 @@ writeCabal modules platforms guardInfo = build-depends: cpphs exposed-modules: {indent (-2) . vcat . intercalatePrepend "," $ pretty . mName <$> unguardedModules} + if flag(safe-foreign-calls) + cpp-options: -DSAFE_FOREIGN_CALLS + {indent 0 . vcat $ writeGuardedModules <$> guardGroups} build-depends: base >= 4.9 && < 5 diff --git a/generate/src/Write/Command.hs b/generate/src/Write/Command.hs index f4c9ce44..205fde79 100644 --- a/generate/src/Write/Command.hs +++ b/generate/src/Write/Command.hs @@ -49,6 +49,10 @@ commandDoc c@Command {..} = do (t, (is, es)) <- toHsType (commandType c) let d getDoc = [qci| {document getDoc (TopLevel cName)} - foreign import ccall "{cName}" {cName} :: {t} + foreign import ccall + #if !defined(SAFE_FOREIGN_CALLS) + unsafe + #endif + "{cName}" {cName} :: {t} |] pure (d, is, es) diff --git a/generate/src/Write/Loader.hs b/generate/src/Write/Loader.hs index c04c5367..d32494f2 100644 --- a/generate/src/Write/Loader.hs +++ b/generate/src/Write/Loader.hs @@ -179,7 +179,11 @@ writeFunction gm domain c@Command{..} = do d= [qci| {dropVk cName} :: {domain}Cmds -> {t} {dropVk cName} deviceCmds = mk{upperCaseName} (p{upperCaseName} deviceCmds) - foreign import ccall unsafe "dynamic" mk{upperCaseName} + foreign import ccall + #if !defined(SAFE_FOREIGN_CALLS) + unsafe + #endif + "dynamic" mk{upperCaseName} :: FunPtr {t} -> {t} |] pure ((d, gm =<< cPlatform), is, es) From 9570c90d1f4984221d941a7c6fcf9000eaf95df4 Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 13:56:03 +0800 Subject: [PATCH 15/16] Add umentioned files to generate.cabal --- changelog.md | 6 ++++++ generate/generate.cabal | 8 +++++++- generate/src/Write/Cabal.hs | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/changelog.md b/changelog.md index f9983f3a..17872209 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,11 @@ # Change Log +## [2.1.0.0] - 2018-04-22 + - Expose dynamic loader from Graphics.Vulkan.Dymamic + - Turn on platform specific features by default + - Make all foreign imports unsafe + - Add option for enabling safe calls + ## [2.0.0.1] - 2018-04-21 - Improved documentation (links, tables, math) - Use cpphs for preprocessing diff --git a/generate/generate.cabal b/generate/generate.cabal index d822c628..ac901068 100644 --- a/generate/generate.cabal +++ b/generate/generate.cabal @@ -19,8 +19,13 @@ executable generate other-modules: Control.Monad.Fix.Extra , Data.Closure , Data.Functor.Extra + , Data.List.Extra2 , Data.MultiMap.Extra , Data.Text.Extra + , Documentation + , Documentation.All + , Documentation.Haddock + , Documentation.RunAsciiDoctor , Parse.Bitmask , Parse.Command , Parse.Constant @@ -67,6 +72,7 @@ executable generate , Spec.Tag , Spec.Type , Spec.VendorID + , System.ProgressBar , Text.InterpolatedString.Perl6.Unindented , Write.Alias , Write.BaseType @@ -79,6 +85,7 @@ executable generate , Write.EnumExtension , Write.Handle , Write.HeaderVersion + , Write.Loader , Write.Module , Write.Module.Aggregate , Write.Partition @@ -88,7 +95,6 @@ executable generate , Write.Type.Enum , Write.Type.FuncPointer , Write.Util - ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall build-depends: base >= 4.8 && < 4.11 , control-bool >= 0.2.1 diff --git a/generate/src/Write/Cabal.hs b/generate/src/Write/Cabal.hs index 74747d23..eb65da77 100644 --- a/generate/src/Write/Cabal.hs +++ b/generate/src/Write/Cabal.hs @@ -18,7 +18,7 @@ import Write.Module import Write.Util vulkanVersion :: Doc () -vulkanVersion = "2.0.0.1" +vulkanVersion = "2.1.0.0" writeCabal :: [Module] -> [Platform] -> [PlatformGuardInfo] -> Doc () writeCabal modules platforms guardInfo = From c9c29b672ebbcc495565ff167617950bb521685b Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sun, 22 Apr 2018 13:56:57 +0800 Subject: [PATCH 16/16] Regenerate source for v2.1.0.0 --- src/Graphics/Vulkan.hs | 4 +- src/Graphics/Vulkan/Core10.hs | 2 +- src/Graphics/Vulkan/Core10/Buffer.hs | 32 +- src/Graphics/Vulkan/Core10/BufferView.hs | 30 +- src/Graphics/Vulkan/Core10/CommandBuffer.hs | 44 +- .../Vulkan/Core10/CommandBufferBuilding.hs | 296 +- src/Graphics/Vulkan/Core10/CommandPool.hs | 34 +- src/Graphics/Vulkan/Core10/Constants.hs | 4 +- src/Graphics/Vulkan/Core10/Core.hs | 4 +- src/Graphics/Vulkan/Core10/DescriptorSet.hs | 72 +- src/Graphics/Vulkan/Core10/Device.hs | 32 +- .../Vulkan/Core10/DeviceInitialization.hs | 88 +- src/Graphics/Vulkan/Core10/Event.hs | 46 +- .../Vulkan/Core10/ExtensionDiscovery.hs | 20 +- src/Graphics/Vulkan/Core10/Fence.hs | 50 +- src/Graphics/Vulkan/Core10/Image.hs | 44 +- src/Graphics/Vulkan/Core10/ImageView.hs | 26 +- src/Graphics/Vulkan/Core10/LayerDiscovery.hs | 20 +- src/Graphics/Vulkan/Core10/Memory.hs | 62 +- .../Vulkan/Core10/MemoryManagement.hs | 36 +- src/Graphics/Vulkan/Core10/Pass.hs | 50 +- src/Graphics/Vulkan/Core10/Pipeline.hs | 40 +- src/Graphics/Vulkan/Core10/PipelineCache.hs | 40 +- src/Graphics/Vulkan/Core10/PipelineLayout.hs | 28 +- src/Graphics/Vulkan/Core10/Query.hs | 38 +- src/Graphics/Vulkan/Core10/Queue.hs | 40 +- src/Graphics/Vulkan/Core10/QueueSemaphore.hs | 28 +- src/Graphics/Vulkan/Core10/Sampler.hs | 26 +- src/Graphics/Vulkan/Core10/Shader.hs | 28 +- .../Core10/SparseResourceMemoryManagement.hs | 50 +- src/Graphics/Vulkan/Core11.hs | 2 +- .../Vulkan/Core11/DeviceInitialization.hs | 6 +- .../Promoted_From_VK_KHR_protected_memory.hs | 22 +- .../Core11/Promoted_From_VK_KHR_subgroup.hs | 12 +- .../Promoted_from_VK_KHR_16bit_storage.hs | 8 +- .../Promoted_from_VK_KHR_bind_memory2.hs | 28 +- ...omoted_from_VK_KHR_dedicated_allocation.hs | 8 +- ..._from_VK_KHR_descriptor_update_template.hs | 34 +- .../Promoted_from_VK_KHR_device_group.hs | 34 +- ...HR_device_group_and_VK_KHR_bind_memory2.hs | 8 +- ...moted_from_VK_KHR_device_group_creation.hs | 18 +- .../Promoted_from_VK_KHR_external_fence.hs | 12 +- ...from_VK_KHR_external_fence_capabilities.hs | 18 +- .../Promoted_from_VK_KHR_external_memory.hs | 12 +- ...rom_VK_KHR_external_memory_capabilities.hs | 22 +- ...Promoted_from_VK_KHR_external_semaphore.hs | 12 +- ..._VK_KHR_external_semaphore_capabilities.hs | 18 +- ...ed_from_VK_KHR_get_memory_requirements2.hs | 28 +- ..._VK_KHR_get_physical_device_properties2.hs | 68 +- .../Promoted_from_VK_KHR_maintenance1.hs | 14 +- .../Promoted_from_VK_KHR_maintenance2.hs | 16 +- .../Promoted_from_VK_KHR_maintenance3.hs | 18 +- .../Core11/Promoted_from_VK_KHR_multiview.hs | 8 +- ...ed_from_VK_KHR_sampler_ycbcr_conversion.hs | 30 +- ...oted_from_VK_KHR_shader_draw_parameters.hs | 8 +- .../Promoted_from_VK_KHR_variable_pointers.hs | 8 +- src/Graphics/Vulkan/Dynamic.hs | 3205 +++++++++++++---- src/Graphics/Vulkan/Extensions.hs | 4 +- .../Vulkan/Extensions/VK_AMD_buffer_marker.hs | 6 +- .../Extensions/VK_AMD_draw_indirect_count.hs | 12 +- .../Extensions/VK_AMD_rasterization_order.hs | 12 +- .../VK_AMD_shader_core_properties.hs | 8 +- .../Vulkan/Extensions/VK_AMD_shader_info.hs | 18 +- .../VK_AMD_texture_gather_bias_lod.hs | 8 +- ...external_memory_android_hardware_buffer.hs | 30 +- .../Extensions/VK_EXT_acquire_xlib_display.hs | 12 +- .../VK_EXT_blend_operation_advanced.hs | 12 +- .../VK_EXT_conservative_rasterization.hs | 12 +- .../Vulkan/Extensions/VK_EXT_debug_marker.hs | 42 +- .../Vulkan/Extensions/VK_EXT_debug_report.hs | 32 +- .../Vulkan/Extensions/VK_EXT_debug_utils.hs | 84 +- .../Extensions/VK_EXT_descriptor_indexing.hs | 14 +- .../Extensions/VK_EXT_direct_mode_display.hs | 6 +- .../Extensions/VK_EXT_discard_rectangles.hs | 22 +- .../Extensions/VK_EXT_display_control.hs | 40 +- .../VK_EXT_display_surface_counter.hs | 24 +- .../Extensions/VK_EXT_external_memory_host.hs | 18 +- .../Extensions/VK_EXT_global_priority.hs | 16 +- .../Vulkan/Extensions/VK_EXT_hdr_metadata.hs | 14 +- .../Extensions/VK_EXT_sample_locations.hs | 28 +- .../VK_EXT_sampler_filter_minmax.hs | 12 +- .../Extensions/VK_EXT_validation_cache.hs | 40 +- .../Extensions/VK_EXT_validation_flags.hs | 12 +- .../VK_EXT_vertex_attribute_divisor.hs | 8 +- .../Extensions/VK_GOOGLE_display_timing.hs | 24 +- .../Vulkan/Extensions/VK_KHR_16bit_storage.hs | 4 +- .../Extensions/VK_KHR_android_surface.hs | 18 +- .../Vulkan/Extensions/VK_KHR_bind_memory2.hs | 20 +- .../Extensions/VK_KHR_dedicated_allocation.hs | 6 +- .../VK_KHR_descriptor_update_template.hs | 16 +- .../Vulkan/Extensions/VK_KHR_device_group.hs | 44 +- .../VK_KHR_device_group_creation.hs | 16 +- .../Vulkan/Extensions/VK_KHR_display.hs | 70 +- .../Extensions/VK_KHR_display_swapchain.hs | 20 +- .../Extensions/VK_KHR_external_fence.hs | 8 +- .../VK_KHR_external_fence_capabilities.hs | 22 +- .../Extensions/VK_KHR_external_fence_fd.hs | 20 +- .../Extensions/VK_KHR_external_fence_win32.hs | 22 +- .../Extensions/VK_KHR_external_memory.hs | 12 +- .../VK_KHR_external_memory_capabilities.hs | 48 +- .../Extensions/VK_KHR_external_memory_fd.hs | 20 +- .../VK_KHR_external_memory_win32.hs | 22 +- .../Extensions/VK_KHR_external_semaphore.hs | 8 +- .../VK_KHR_external_semaphore_capabilities.hs | 22 +- .../VK_KHR_external_semaphore_fd.hs | 20 +- .../VK_KHR_external_semaphore_win32.hs | 26 +- .../VK_KHR_get_memory_requirements2.hs | 22 +- .../VK_KHR_get_physical_device_properties2.hs | 60 +- .../VK_KHR_get_surface_capabilities2.hs | 24 +- .../Extensions/VK_KHR_image_format_list.hs | 8 +- .../Extensions/VK_KHR_incremental_present.hs | 8 +- .../Vulkan/Extensions/VK_KHR_maintenance1.hs | 12 +- .../Vulkan/Extensions/VK_KHR_maintenance2.hs | 30 +- .../Vulkan/Extensions/VK_KHR_maintenance3.hs | 10 +- .../Vulkan/Extensions/VK_KHR_mir_surface.hs | 28 +- .../Vulkan/Extensions/VK_KHR_multiview.hs | 10 +- .../Extensions/VK_KHR_push_descriptor.hs | 28 +- .../VK_KHR_sampler_ycbcr_conversion.hs | 130 +- .../VK_KHR_shared_presentable_image.hs | 18 +- .../Vulkan/Extensions/VK_KHR_surface.hs | 52 +- .../Vulkan/Extensions/VK_KHR_swapchain.hs | 82 +- .../Extensions/VK_KHR_variable_pointers.hs | 4 +- .../Extensions/VK_KHR_wayland_surface.hs | 28 +- .../Extensions/VK_KHR_win32_keyed_mutex.hs | 12 +- .../Vulkan/Extensions/VK_KHR_win32_surface.hs | 28 +- .../Vulkan/Extensions/VK_KHR_xcb_surface.hs | 28 +- .../Vulkan/Extensions/VK_KHR_xlib_surface.hs | 28 +- .../Vulkan/Extensions/VK_MVK_ios_surface.hs | 18 +- .../Vulkan/Extensions/VK_MVK_macos_surface.hs | 18 +- .../Vulkan/Extensions/VK_NN_vi_surface.hs | 18 +- .../VK_NVX_device_generated_commands.hs | 86 +- .../VK_NVX_multiview_per_view_attributes.hs | 8 +- .../Extensions/VK_NV_clip_space_w_scaling.hs | 14 +- .../Extensions/VK_NV_dedicated_allocation.hs | 8 +- .../Extensions/VK_NV_external_memory.hs | 8 +- .../VK_NV_external_memory_capabilities.hs | 26 +- .../Extensions/VK_NV_external_memory_win32.hs | 14 +- .../VK_NV_fragment_coverage_to_color.hs | 12 +- .../VK_NV_framebuffer_mixed_samples.hs | 12 +- .../Extensions/VK_NV_viewport_swizzle.hs | 12 +- .../Extensions/VK_NV_win32_keyed_mutex.hs | 12 +- vulkan.cabal | 50 +- 142 files changed, 4977 insertions(+), 2014 deletions(-) diff --git a/src/Graphics/Vulkan.hs b/src/Graphics/Vulkan.hs index f441d483..5137744a 100644 --- a/src/Graphics/Vulkan.hs +++ b/src/Graphics/Vulkan.hs @@ -3,8 +3,7 @@ module Graphics.Vulkan - ( module Graphics.Vulkan.NamedType - , module Graphics.Vulkan.Dynamic + ( module Graphics.Vulkan.NamedType , module Graphics.Vulkan.Core10 , module Graphics.Vulkan.Core11 , module Graphics.Vulkan.Extensions @@ -12,7 +11,6 @@ module Graphics.Vulkan import Graphics.Vulkan.NamedType -import Graphics.Vulkan.Dynamic import Graphics.Vulkan.Core10 import Graphics.Vulkan.Core11 import Graphics.Vulkan.Extensions diff --git a/src/Graphics/Vulkan/Core10.hs b/src/Graphics/Vulkan/Core10.hs index 481b9247..76588c73 100644 --- a/src/Graphics/Vulkan/Core10.hs +++ b/src/Graphics/Vulkan/Core10.hs @@ -3,7 +3,7 @@ module Graphics.Vulkan.Core10 - ( module Graphics.Vulkan.Core10.Core + ( module Graphics.Vulkan.Core10.Core , module Graphics.Vulkan.Core10.Version , module Graphics.Vulkan.Core10.Constants , module Graphics.Vulkan.Core10.DeviceInitialization diff --git a/src/Graphics/Vulkan/Core10/Buffer.hs b/src/Graphics/Vulkan/Core10/Buffer.hs index 8402644c..79260dc9 100644 --- a/src/Graphics/Vulkan/Core10/Buffer.hs +++ b/src/Graphics/Vulkan/Core10/Buffer.hs @@ -42,16 +42,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -71,14 +71,14 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDeviceSize - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) , VkDevice + , VkDeviceSize ) import Graphics.Vulkan.Core10.MemoryManagement ( VkBuffer @@ -384,7 +384,11 @@ pattern VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = VkBufferCreateFlagBits 0x00000004 -- 'Graphics.Vulkan.Core10.MemoryManagement.VkBuffer', -- 'VkBufferCreateInfo', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkCreateBuffer" vkCreateBuffer :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pBuffer" ::: Ptr VkBuffer) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateBuffer" vkCreateBuffer :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pBuffer" ::: Ptr VkBuffer) -> IO VkResult -- | vkDestroyBuffer - Destroy a buffer object -- -- = Parameters @@ -432,7 +436,11 @@ foreign import ccall "vkCreateBuffer" vkCreateBuffer :: ("device" ::: VkDevice) -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.MemoryManagement.VkBuffer', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkDestroyBuffer" vkDestroyBuffer :: ("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyBuffer" vkDestroyBuffer :: ("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | VkBufferCreateInfo - Structure specifying the parameters of a newly -- created buffer object -- diff --git a/src/Graphics/Vulkan/Core10/BufferView.hs b/src/Graphics/Vulkan/Core10/BufferView.hs index 3c1c2009..64c13416 100644 --- a/src/Graphics/Vulkan/Core10/BufferView.hs +++ b/src/Graphics/Vulkan/Core10/BufferView.hs @@ -19,16 +19,16 @@ import Data.Bits , FiniteBits ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -49,14 +49,14 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core ( VkFormat(..) - , VkStructureType(..) , VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDeviceSize - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) , VkDevice + , VkDeviceSize ) import Graphics.Vulkan.Core10.MemoryManagement ( VkBuffer @@ -147,7 +147,11 @@ type VkBufferView = Ptr VkBufferView_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'VkBufferView', 'VkBufferViewCreateInfo', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkCreateBufferView" vkCreateBufferView :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkBufferView) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateBufferView" vkCreateBufferView :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkBufferView) -> IO VkResult -- | vkDestroyBufferView - Destroy a buffer view object -- -- = Parameters @@ -194,7 +198,11 @@ foreign import ccall "vkCreateBufferView" vkCreateBufferView :: ("device" ::: Vk -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'VkBufferView', 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkDestroyBufferView" vkDestroyBufferView :: ("device" ::: VkDevice) -> ("bufferView" ::: VkBufferView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyBufferView" vkDestroyBufferView :: ("device" ::: VkDevice) -> ("bufferView" ::: VkBufferView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | VkBufferViewCreateInfo - Structure specifying parameters of a newly -- created buffer view -- diff --git a/src/Graphics/Vulkan/Core10/CommandBuffer.hs b/src/Graphics/Vulkan/Core10/CommandBuffer.hs index c4e04a83..c932a31b 100644 --- a/src/Graphics/Vulkan/Core10/CommandBuffer.hs +++ b/src/Graphics/Vulkan/Core10/CommandBuffer.hs @@ -42,16 +42,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -75,8 +75,8 @@ import Graphics.Vulkan.Core10.CommandPool ) import Graphics.Vulkan.Core10.Core ( VkBool32(..) - , VkStructureType(..) , VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization @@ -295,7 +295,11 @@ pattern VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT = VkCommandBufferUsageFlagB -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'VkCommandBufferAllocateInfo', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkAllocateCommandBuffers" vkAllocateCommandBuffers :: ("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkCommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkAllocateCommandBuffers" vkAllocateCommandBuffers :: ("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkCommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO VkResult -- | vkFreeCommandBuffers - Free command buffers -- -- = Parameters @@ -351,7 +355,11 @@ foreign import ccall "vkAllocateCommandBuffers" vkAllocateCommandBuffers :: ("de -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.CommandPool.VkCommandPool', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkFreeCommandBuffers" vkFreeCommandBuffers :: ("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkFreeCommandBuffers" vkFreeCommandBuffers :: ("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO () -- | vkBeginCommandBuffer - Start recording a command buffer -- -- = Parameters @@ -413,7 +421,11 @@ foreign import ccall "vkFreeCommandBuffers" vkFreeCommandBuffers :: ("device" :: -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'VkCommandBufferBeginInfo' -foreign import ccall "vkBeginCommandBuffer" vkBeginCommandBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("pBeginInfo" ::: Ptr VkCommandBufferBeginInfo) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkBeginCommandBuffer" vkBeginCommandBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("pBeginInfo" ::: Ptr VkCommandBufferBeginInfo) -> IO VkResult -- | vkEndCommandBuffer - Finish recording a command buffer -- -- = Parameters @@ -481,7 +493,11 @@ foreign import ccall "vkBeginCommandBuffer" vkBeginCommandBuffer :: ("commandBuf -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkEndCommandBuffer" vkEndCommandBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkEndCommandBuffer" vkEndCommandBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> IO VkResult -- | vkResetCommandBuffer - Reset a command buffer to the initial state -- -- = Parameters @@ -535,7 +551,11 @@ foreign import ccall "vkEndCommandBuffer" vkEndCommandBuffer :: ("commandBuffer" -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'VkCommandBufferResetFlags' -foreign import ccall "vkResetCommandBuffer" vkResetCommandBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("flags" ::: VkCommandBufferResetFlags) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkResetCommandBuffer" vkResetCommandBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("flags" ::: VkCommandBufferResetFlags) -> IO VkResult -- | VkCommandBufferAllocateInfo - Structure specifying the allocation -- parameters for command buffer object -- diff --git a/src/Graphics/Vulkan/Core10/CommandBufferBuilding.hs b/src/Graphics/Vulkan/Core10/CommandBufferBuilding.hs index 68e7576f..1fcf43eb 100644 --- a/src/Graphics/Vulkan/Core10/CommandBufferBuilding.hs +++ b/src/Graphics/Vulkan/Core10/CommandBufferBuilding.hs @@ -100,17 +100,17 @@ import Foreign.C.Types ( CFloat(..) ) import Foreign.Ptr - ( castPtr + ( Ptr + , castPtr , plusPtr - , Ptr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -154,36 +154,36 @@ import Graphics.Vulkan.Core10.ImageView ( VkImageSubresourceRange(..) ) import Graphics.Vulkan.Core10.MemoryManagement - ( VkImage - , VkBuffer + ( VkBuffer + , VkImage ) import Graphics.Vulkan.Core10.Pass - ( VkFramebuffer + ( VkDependencyFlagBits(..) + , VkPipelineBindPoint(..) , VkAccessFlags - , VkDependencyFlagBits(..) , VkDependencyFlags - , VkPipelineBindPoint(..) + , VkFramebuffer ) import Graphics.Vulkan.Core10.Pipeline - ( VkRenderPass + ( VkRect2D(..) , VkShaderStageFlagBits(..) - , VkPipelineLayout - , VkRect2D(..) , VkViewport(..) , VkPipeline + , VkPipelineLayout + , VkRenderPass ) import Graphics.Vulkan.Core10.PipelineLayout ( VkShaderStageFlags ) import Graphics.Vulkan.Core10.Query ( VkQueryResultFlagBits(..) - , VkQueryResultFlags , VkQueryPool + , VkQueryResultFlags ) import Graphics.Vulkan.Core10.Queue ( VkPipelineStageFlagBits(..) - , VkPipelineStageFlags , VkCommandBuffer + , VkPipelineStageFlags ) import Graphics.Vulkan.Core10.Sampler ( VkFilter(..) @@ -420,7 +420,11 @@ pattern VK_STENCIL_FRONT_AND_BACK = VkStencilFaceFlagBits 0x00000003 -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.Pipeline.VkPipeline', -- 'Graphics.Vulkan.Core10.Pass.VkPipelineBindPoint' -foreign import ccall "vkCmdBindPipeline" vkCmdBindPipeline :: ("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("pipeline" ::: VkPipeline) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdBindPipeline" vkCmdBindPipeline :: ("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("pipeline" ::: VkPipeline) -> IO () -- | vkCmdSetViewport - Set the viewport on a command buffer -- -- = Parameters @@ -501,7 +505,11 @@ foreign import ccall "vkCmdBindPipeline" vkCmdBindPipeline :: ("commandBuffer" : -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.Pipeline.VkViewport' -foreign import ccall "vkCmdSetViewport" vkCmdSetViewport :: ("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr VkViewport) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetViewport" vkCmdSetViewport :: ("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr VkViewport) -> IO () -- | vkCmdSetScissor - Set the dynamic scissor rectangles on a command buffer -- -- = Parameters @@ -597,7 +605,11 @@ foreign import ccall "vkCmdSetViewport" vkCmdSetViewport :: ("commandBuffer" ::: -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.Pipeline.VkRect2D' -foreign import ccall "vkCmdSetScissor" vkCmdSetScissor :: ("commandBuffer" ::: VkCommandBuffer) -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr VkRect2D) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetScissor" vkCmdSetScissor :: ("commandBuffer" ::: VkCommandBuffer) -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr VkRect2D) -> IO () -- | vkCmdSetLineWidth - Set the dynamic line width state -- -- = Parameters @@ -648,7 +660,11 @@ foreign import ccall "vkCmdSetScissor" vkCmdSetScissor :: ("commandBuffer" ::: V -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdSetLineWidth" vkCmdSetLineWidth :: ("commandBuffer" ::: VkCommandBuffer) -> ("lineWidth" ::: CFloat) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetLineWidth" vkCmdSetLineWidth :: ("commandBuffer" ::: VkCommandBuffer) -> ("lineWidth" ::: CFloat) -> IO () -- | vkCmdSetDepthBias - Set the depth bias dynamic state -- -- = Parameters @@ -780,7 +796,11 @@ foreign import ccall "vkCmdSetLineWidth" vkCmdSetLineWidth :: ("commandBuffer" : -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdSetDepthBias" vkCmdSetDepthBias :: ("commandBuffer" ::: VkCommandBuffer) -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetDepthBias" vkCmdSetDepthBias :: ("commandBuffer" ::: VkCommandBuffer) -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO () -- | vkCmdSetBlendConstants - Set the values of blend constants -- -- = Parameters @@ -830,7 +850,11 @@ foreign import ccall "vkCmdSetDepthBias" vkCmdSetDepthBias :: ("commandBuffer" : -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdSetBlendConstants" vkCmdSetBlendConstants :: ("commandBuffer" ::: VkCommandBuffer) -> ("blendConstants" ::: Ptr CFloat) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetBlendConstants" vkCmdSetBlendConstants :: ("commandBuffer" ::: VkCommandBuffer) -> ("blendConstants" ::: Ptr CFloat) -> IO () -- | vkCmdSetDepthBounds - Set the depth bounds test values for a command -- buffer -- @@ -889,7 +913,11 @@ foreign import ccall "vkCmdSetBlendConstants" vkCmdSetBlendConstants :: ("comman -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdSetDepthBounds" vkCmdSetDepthBounds :: ("commandBuffer" ::: VkCommandBuffer) -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetDepthBounds" vkCmdSetDepthBounds :: ("commandBuffer" ::: VkCommandBuffer) -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO () -- | vkCmdSetStencilCompareMask - Set the stencil compare mask dynamic state -- -- = Parameters @@ -944,7 +972,11 @@ foreign import ccall "vkCmdSetDepthBounds" vkCmdSetDepthBounds :: ("commandBuffe -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', 'VkStencilFaceFlags' -foreign import ccall "vkCmdSetStencilCompareMask" vkCmdSetStencilCompareMask :: ("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("compareMask" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetStencilCompareMask" vkCmdSetStencilCompareMask :: ("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("compareMask" ::: Word32) -> IO () -- | vkCmdSetStencilWriteMask - Set the stencil write mask dynamic state -- -- = Parameters @@ -1000,7 +1032,11 @@ foreign import ccall "vkCmdSetStencilCompareMask" vkCmdSetStencilCompareMask :: -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', 'VkStencilFaceFlags' -foreign import ccall "vkCmdSetStencilWriteMask" vkCmdSetStencilWriteMask :: ("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("writeMask" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetStencilWriteMask" vkCmdSetStencilWriteMask :: ("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("writeMask" ::: Word32) -> IO () -- | vkCmdSetStencilReference - Set the stencil reference dynamic state -- -- = Parameters @@ -1056,7 +1092,11 @@ foreign import ccall "vkCmdSetStencilWriteMask" vkCmdSetStencilWriteMask :: ("co -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', 'VkStencilFaceFlags' -foreign import ccall "vkCmdSetStencilReference" vkCmdSetStencilReference :: ("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("reference" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetStencilReference" vkCmdSetStencilReference :: ("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("reference" ::: Word32) -> IO () -- | vkCmdBindDescriptorSets - Binds descriptor sets to a command buffer -- -- = Parameters @@ -1227,7 +1267,11 @@ foreign import ccall "vkCmdSetStencilReference" vkCmdSetStencilReference :: ("co -- 'Graphics.Vulkan.Core10.DescriptorSet.VkDescriptorSet', -- 'Graphics.Vulkan.Core10.Pass.VkPipelineBindPoint', -- 'Graphics.Vulkan.Core10.Pipeline.VkPipelineLayout' -foreign import ccall "vkCmdBindDescriptorSets" vkCmdBindDescriptorSets :: ("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdBindDescriptorSets" vkCmdBindDescriptorSets :: ("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO () -- | vkCmdBindIndexBuffer - Bind an index buffer to a command buffer -- -- = Parameters @@ -1298,7 +1342,11 @@ foreign import ccall "vkCmdBindDescriptorSets" vkCmdBindDescriptorSets :: ("comm -- 'Graphics.Vulkan.Core10.MemoryManagement.VkBuffer', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', @VkDeviceSize@, -- 'VkIndexType' -foreign import ccall "vkCmdBindIndexBuffer" vkCmdBindIndexBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("indexType" ::: VkIndexType) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdBindIndexBuffer" vkCmdBindIndexBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("indexType" ::: VkIndexType) -> IO () -- | vkCmdBindVertexBuffers - Bind vertex buffers to a command buffer -- -- = Parameters @@ -1387,7 +1435,11 @@ foreign import ccall "vkCmdBindIndexBuffer" vkCmdBindIndexBuffer :: ("commandBuf -- -- 'Graphics.Vulkan.Core10.MemoryManagement.VkBuffer', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', @VkDeviceSize@ -foreign import ccall "vkCmdBindVertexBuffers" vkCmdBindVertexBuffers :: ("commandBuffer" ::: VkCommandBuffer) -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr VkBuffer) -> ("pOffsets" ::: Ptr VkDeviceSize) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdBindVertexBuffers" vkCmdBindVertexBuffers :: ("commandBuffer" ::: VkCommandBuffer) -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr VkBuffer) -> ("pOffsets" ::: Ptr VkDeviceSize) -> IO () -- | vkCmdDraw - Draw primitives -- -- = Parameters @@ -1569,7 +1621,11 @@ foreign import ccall "vkCmdBindVertexBuffers" vkCmdBindVertexBuffers :: ("comman -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdDraw" vkCmdDraw :: ("commandBuffer" ::: VkCommandBuffer) -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdDraw" vkCmdDraw :: ("commandBuffer" ::: VkCommandBuffer) -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO () -- | vkCmdDrawIndexed - Issue an indexed draw into a command buffer -- -- = Parameters @@ -1773,7 +1829,11 @@ foreign import ccall "vkCmdDraw" vkCmdDraw :: ("commandBuffer" ::: VkCommandBuff -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdDrawIndexed" vkCmdDrawIndexed :: ("commandBuffer" ::: VkCommandBuffer) -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdDrawIndexed" vkCmdDrawIndexed :: ("commandBuffer" ::: VkCommandBuffer) -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO () -- | vkCmdDrawIndirect - Issue an indirect draw into a command buffer -- -- = Parameters @@ -1991,7 +2051,11 @@ foreign import ccall "vkCmdDrawIndexed" vkCmdDrawIndexed :: ("commandBuffer" ::: -- -- 'Graphics.Vulkan.Core10.MemoryManagement.VkBuffer', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', @VkDeviceSize@ -foreign import ccall "vkCmdDrawIndirect" vkCmdDrawIndirect :: ("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdDrawIndirect" vkCmdDrawIndirect :: ("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO () -- | vkCmdDrawIndexedIndirect - Perform an indexed indirect draw -- -- = Parameters @@ -2209,7 +2273,11 @@ foreign import ccall "vkCmdDrawIndirect" vkCmdDrawIndirect :: ("commandBuffer" : -- -- 'Graphics.Vulkan.Core10.MemoryManagement.VkBuffer', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', @VkDeviceSize@ -foreign import ccall "vkCmdDrawIndexedIndirect" vkCmdDrawIndexedIndirect :: ("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdDrawIndexedIndirect" vkCmdDrawIndexedIndirect :: ("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO () -- | vkCmdDispatch - Dispatch compute work items -- -- = Parameters @@ -2355,7 +2423,11 @@ foreign import ccall "vkCmdDrawIndexedIndirect" vkCmdDrawIndexedIndirect :: ("co -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdDispatch" vkCmdDispatch :: ("commandBuffer" ::: VkCommandBuffer) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdDispatch" vkCmdDispatch :: ("commandBuffer" ::: VkCommandBuffer) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO () -- | vkCmdDispatchIndirect - Dispatch compute work items using indirect -- parameters -- @@ -2508,7 +2580,11 @@ foreign import ccall "vkCmdDispatch" vkCmdDispatch :: ("commandBuffer" ::: VkCom -- -- 'Graphics.Vulkan.Core10.MemoryManagement.VkBuffer', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', @VkDeviceSize@ -foreign import ccall "vkCmdDispatchIndirect" vkCmdDispatchIndirect :: ("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdDispatchIndirect" vkCmdDispatchIndirect :: ("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> IO () -- | vkCmdCopyBuffer - Copy data between buffer regions -- -- = Parameters @@ -2613,7 +2689,11 @@ foreign import ccall "vkCmdDispatchIndirect" vkCmdDispatchIndirect :: ("commandB -- -- 'Graphics.Vulkan.Core10.MemoryManagement.VkBuffer', 'VkBufferCopy', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdCopyBuffer" vkCmdCopyBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferCopy) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdCopyBuffer" vkCmdCopyBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferCopy) -> IO () -- | vkCmdCopyImage - Copy data between images -- -- = Parameters @@ -2927,7 +3007,11 @@ foreign import ccall "vkCmdCopyBuffer" vkCmdCopyBuffer :: ("commandBuffer" ::: V -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.MemoryManagement.VkImage', 'VkImageCopy', -- 'Graphics.Vulkan.Core10.Image.VkImageLayout' -foreign import ccall "vkCmdCopyImage" vkCmdCopyImage :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageCopy) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdCopyImage" vkCmdCopyImage :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageCopy) -> IO () -- | vkCmdBlitImage - Copy regions of an image, potentially performing format -- conversion, -- @@ -3250,7 +3334,11 @@ foreign import ccall "vkCmdCopyImage" vkCmdCopyImage :: ("commandBuffer" ::: VkC -- 'Graphics.Vulkan.Core10.Sampler.VkFilter', -- 'Graphics.Vulkan.Core10.MemoryManagement.VkImage', 'VkImageBlit', -- 'Graphics.Vulkan.Core10.Image.VkImageLayout' -foreign import ccall "vkCmdBlitImage" vkCmdBlitImage :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageBlit) -> ("filter" ::: VkFilter) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdBlitImage" vkCmdBlitImage :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageBlit) -> ("filter" ::: VkFilter) -> IO () -- | vkCmdCopyBufferToImage - Copy data from a buffer into an image -- -- = Parameters @@ -3407,7 +3495,11 @@ foreign import ccall "vkCmdBlitImage" vkCmdBlitImage :: ("commandBuffer" ::: VkC -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.MemoryManagement.VkImage', -- 'Graphics.Vulkan.Core10.Image.VkImageLayout' -foreign import ccall "vkCmdCopyBufferToImage" vkCmdCopyBufferToImage :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdCopyBufferToImage" vkCmdCopyBufferToImage :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO () -- | vkCmdCopyImageToBuffer - Copy image data into a buffer -- -- = Parameters @@ -3565,7 +3657,11 @@ foreign import ccall "vkCmdCopyBufferToImage" vkCmdCopyBufferToImage :: ("comman -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.MemoryManagement.VkImage', -- 'Graphics.Vulkan.Core10.Image.VkImageLayout' -foreign import ccall "vkCmdCopyImageToBuffer" vkCmdCopyImageToBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdCopyImageToBuffer" vkCmdCopyImageToBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO () -- | vkCmdUpdateBuffer - Update a buffer’s contents from host memory -- -- = Parameters @@ -3681,7 +3777,11 @@ foreign import ccall "vkCmdCopyImageToBuffer" vkCmdCopyImageToBuffer :: ("comman -- -- 'Graphics.Vulkan.Core10.MemoryManagement.VkBuffer', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', @VkDeviceSize@ -foreign import ccall "vkCmdUpdateBuffer" vkCmdUpdateBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("dataSize" ::: VkDeviceSize) -> ("pData" ::: Ptr ()) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdUpdateBuffer" vkCmdUpdateBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("dataSize" ::: VkDeviceSize) -> ("pData" ::: Ptr ()) -> IO () -- | vkCmdFillBuffer - Fill a region of a buffer with a fixed value -- -- = Parameters @@ -3773,7 +3873,11 @@ foreign import ccall "vkCmdUpdateBuffer" vkCmdUpdateBuffer :: ("commandBuffer" : -- -- 'Graphics.Vulkan.Core10.MemoryManagement.VkBuffer', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', @VkDeviceSize@ -foreign import ccall "vkCmdFillBuffer" vkCmdFillBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("data" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdFillBuffer" vkCmdFillBuffer :: ("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("data" ::: Word32) -> IO () -- | vkCmdClearColorImage - Clear regions of a color image -- -- = Parameters @@ -3918,7 +4022,11 @@ foreign import ccall "vkCmdFillBuffer" vkCmdFillBuffer :: ("commandBuffer" ::: V -- 'Graphics.Vulkan.Core10.MemoryManagement.VkImage', -- 'Graphics.Vulkan.Core10.Image.VkImageLayout', -- 'Graphics.Vulkan.Core10.ImageView.VkImageSubresourceRange' -foreign import ccall "vkCmdClearColorImage" vkCmdClearColorImage :: ("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pColor" ::: Ptr VkClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdClearColorImage" vkCmdClearColorImage :: ("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pColor" ::: Ptr VkClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO () -- | vkCmdClearDepthStencilImage - Fill regions of a combined depth\/stencil -- image -- @@ -4062,7 +4170,11 @@ foreign import ccall "vkCmdClearColorImage" vkCmdClearColorImage :: ("commandBuf -- 'Graphics.Vulkan.Core10.MemoryManagement.VkImage', -- 'Graphics.Vulkan.Core10.Image.VkImageLayout', -- 'Graphics.Vulkan.Core10.ImageView.VkImageSubresourceRange' -foreign import ccall "vkCmdClearDepthStencilImage" vkCmdClearDepthStencilImage :: ("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pDepthStencil" ::: Ptr VkClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdClearDepthStencilImage" vkCmdClearDepthStencilImage :: ("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pDepthStencil" ::: Ptr VkClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO () -- | vkCmdClearAttachments - Clear regions within bound framebuffer -- attachments -- @@ -4153,7 +4265,11 @@ foreign import ccall "vkCmdClearDepthStencilImage" vkCmdClearDepthStencilImage : -- -- 'VkClearAttachment', 'VkClearRect', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdClearAttachments" vkCmdClearAttachments :: ("commandBuffer" ::: VkCommandBuffer) -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr VkClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr VkClearRect) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdClearAttachments" vkCmdClearAttachments :: ("commandBuffer" ::: VkCommandBuffer) -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr VkClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr VkClearRect) -> IO () -- | vkCmdResolveImage - Resolve regions of an image -- -- = Parameters @@ -4325,7 +4441,11 @@ foreign import ccall "vkCmdClearAttachments" vkCmdClearAttachments :: ("commandB -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.MemoryManagement.VkImage', -- 'Graphics.Vulkan.Core10.Image.VkImageLayout', 'VkImageResolve' -foreign import ccall "vkCmdResolveImage" vkCmdResolveImage :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageResolve) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdResolveImage" vkCmdResolveImage :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageResolve) -> IO () -- | vkCmdSetEvent - Set an event object to signaled state -- -- = Parameters @@ -4426,7 +4546,11 @@ foreign import ccall "vkCmdResolveImage" vkCmdResolveImage :: ("commandBuffer" : -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.Event.VkEvent', -- 'Graphics.Vulkan.Core10.Queue.VkPipelineStageFlags' -foreign import ccall "vkCmdSetEvent" vkCmdSetEvent :: ("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetEvent" vkCmdSetEvent :: ("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO () -- | vkCmdResetEvent - Reset an event object to non-signaled state -- -- = Parameters @@ -4532,7 +4656,11 @@ foreign import ccall "vkCmdSetEvent" vkCmdSetEvent :: ("commandBuffer" ::: VkCom -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.Event.VkEvent', -- 'Graphics.Vulkan.Core10.Queue.VkPipelineStageFlags' -foreign import ccall "vkCmdResetEvent" vkCmdResetEvent :: ("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdResetEvent" vkCmdResetEvent :: ("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO () -- | vkCmdWaitEvents - Wait for one or more events and insert a set of memory -- -- = Parameters @@ -4768,7 +4896,11 @@ foreign import ccall "vkCmdResetEvent" vkCmdResetEvent :: ("commandBuffer" ::: V -- 'VkBufferMemoryBarrier', 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.Event.VkEvent', 'VkImageMemoryBarrier', -- 'VkMemoryBarrier', 'Graphics.Vulkan.Core10.Queue.VkPipelineStageFlags' -foreign import ccall "vkCmdWaitEvents" vkCmdWaitEvents :: ("commandBuffer" ::: VkCommandBuffer) -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr VkEvent) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdWaitEvents" vkCmdWaitEvents :: ("commandBuffer" ::: VkCommandBuffer) -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr VkEvent) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO () -- | vkCmdPipelineBarrier - Insert a memory dependency -- -- = Parameters @@ -5043,7 +5175,11 @@ foreign import ccall "vkCmdWaitEvents" vkCmdWaitEvents :: ("commandBuffer" ::: V -- 'VkBufferMemoryBarrier', 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.Pass.VkDependencyFlags', 'VkImageMemoryBarrier', -- 'VkMemoryBarrier', 'Graphics.Vulkan.Core10.Queue.VkPipelineStageFlags' -foreign import ccall "vkCmdPipelineBarrier" vkCmdPipelineBarrier :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("dependencyFlags" ::: VkDependencyFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdPipelineBarrier" vkCmdPipelineBarrier :: ("commandBuffer" ::: VkCommandBuffer) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("dependencyFlags" ::: VkDependencyFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO () -- | vkCmdBeginQuery - Begin a query -- -- = Parameters @@ -5155,7 +5291,11 @@ foreign import ccall "vkCmdPipelineBarrier" vkCmdPipelineBarrier :: ("commandBuf -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.CommandBuffer.VkQueryControlFlags', -- 'Graphics.Vulkan.Core10.Query.VkQueryPool' -foreign import ccall "vkCmdBeginQuery" vkCmdBeginQuery :: ("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> ("flags" ::: VkQueryControlFlags) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdBeginQuery" vkCmdBeginQuery :: ("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> ("flags" ::: VkQueryControlFlags) -> IO () -- | vkCmdEndQuery - Ends a query -- -- = Parameters @@ -5232,7 +5372,11 @@ foreign import ccall "vkCmdBeginQuery" vkCmdBeginQuery :: ("commandBuffer" ::: V -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.Query.VkQueryPool' -foreign import ccall "vkCmdEndQuery" vkCmdEndQuery :: ("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdEndQuery" vkCmdEndQuery :: ("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO () -- | vkCmdResetQueryPool - Reset queries in a query pool -- -- = Parameters @@ -5300,7 +5444,11 @@ foreign import ccall "vkCmdEndQuery" vkCmdEndQuery :: ("commandBuffer" ::: VkCom -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.Query.VkQueryPool' -foreign import ccall "vkCmdResetQueryPool" vkCmdResetQueryPool :: ("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdResetQueryPool" vkCmdResetQueryPool :: ("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO () -- | vkCmdWriteTimestamp - Write a device timestamp into a query object -- -- = Parameters @@ -5434,7 +5582,11 @@ foreign import ccall "vkCmdResetQueryPool" vkCmdResetQueryPool :: ("commandBuffe -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.Queue.VkPipelineStageFlagBits', -- 'Graphics.Vulkan.Core10.Query.VkQueryPool' -foreign import ccall "vkCmdWriteTimestamp" vkCmdWriteTimestamp :: ("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdWriteTimestamp" vkCmdWriteTimestamp :: ("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO () -- | vkCmdCopyQueryPoolResults - Copy the results of queries in a query pool -- to a buffer object -- @@ -5592,7 +5744,11 @@ foreign import ccall "vkCmdWriteTimestamp" vkCmdWriteTimestamp :: ("commandBuffe -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', @VkDeviceSize@, -- 'Graphics.Vulkan.Core10.Query.VkQueryPool', -- 'Graphics.Vulkan.Core10.Query.VkQueryResultFlags' -foreign import ccall "vkCmdCopyQueryPoolResults" vkCmdCopyQueryPoolResults :: ("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdCopyQueryPoolResults" vkCmdCopyQueryPoolResults :: ("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO () -- | vkCmdPushConstants - Update the values of push constants -- -- = Parameters @@ -5686,7 +5842,11 @@ foreign import ccall "vkCmdCopyQueryPoolResults" vkCmdCopyQueryPoolResults :: (" -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.Pipeline.VkPipelineLayout', -- 'Graphics.Vulkan.Core10.PipelineLayout.VkShaderStageFlags' -foreign import ccall "vkCmdPushConstants" vkCmdPushConstants :: ("commandBuffer" ::: VkCommandBuffer) -> ("layout" ::: VkPipelineLayout) -> ("stageFlags" ::: VkShaderStageFlags) -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdPushConstants" vkCmdPushConstants :: ("commandBuffer" ::: VkCommandBuffer) -> ("layout" ::: VkPipelineLayout) -> ("stageFlags" ::: VkShaderStageFlags) -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO () -- | vkCmdBeginRenderPass - Begin a new render pass -- -- = Parameters @@ -5818,7 +5978,11 @@ foreign import ccall "vkCmdPushConstants" vkCmdPushConstants :: ("commandBuffer" -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', 'VkRenderPassBeginInfo', -- 'VkSubpassContents' -foreign import ccall "vkCmdBeginRenderPass" vkCmdBeginRenderPass :: ("commandBuffer" ::: VkCommandBuffer) -> ("pRenderPassBegin" ::: Ptr VkRenderPassBeginInfo) -> ("contents" ::: VkSubpassContents) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdBeginRenderPass" vkCmdBeginRenderPass :: ("commandBuffer" ::: VkCommandBuffer) -> ("pRenderPassBegin" ::: Ptr VkRenderPassBeginInfo) -> ("contents" ::: VkSubpassContents) -> IO () -- | vkCmdNextSubpass - Transition to the next subpass of a render pass -- -- = Parameters @@ -5893,7 +6057,11 @@ foreign import ccall "vkCmdBeginRenderPass" vkCmdBeginRenderPass :: ("commandBuf -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', 'VkSubpassContents' -foreign import ccall "vkCmdNextSubpass" vkCmdNextSubpass :: ("commandBuffer" ::: VkCommandBuffer) -> ("contents" ::: VkSubpassContents) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdNextSubpass" vkCmdNextSubpass :: ("commandBuffer" ::: VkCommandBuffer) -> ("contents" ::: VkSubpassContents) -> IO () -- | vkCmdEndRenderPass - End the current render pass -- -- = Parameters @@ -5946,7 +6114,11 @@ foreign import ccall "vkCmdNextSubpass" vkCmdNextSubpass :: ("commandBuffer" ::: -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdEndRenderPass" vkCmdEndRenderPass :: ("commandBuffer" ::: VkCommandBuffer) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdEndRenderPass" vkCmdEndRenderPass :: ("commandBuffer" ::: VkCommandBuffer) -> IO () -- | vkCmdExecuteCommands - Execute a secondary command buffer from a primary -- command buffer -- @@ -6112,7 +6284,11 @@ foreign import ccall "vkCmdEndRenderPass" vkCmdEndRenderPass :: ("commandBuffer" -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdExecuteCommands" vkCmdExecuteCommands :: ("commandBuffer" ::: VkCommandBuffer) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdExecuteCommands" vkCmdExecuteCommands :: ("commandBuffer" ::: VkCommandBuffer) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO () -- | VkClearRect - Structure specifying a clear rectangle -- -- = Description diff --git a/src/Graphics/Vulkan/Core10/CommandPool.hs b/src/Graphics/Vulkan/Core10/CommandPool.hs index d00b7d96..af1e840c 100644 --- a/src/Graphics/Vulkan/Core10/CommandPool.hs +++ b/src/Graphics/Vulkan/Core10/CommandPool.hs @@ -29,16 +29,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -58,8 +58,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization @@ -204,7 +204,11 @@ type VkCommandPool = Ptr VkCommandPool_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'VkCommandPool', 'VkCommandPoolCreateInfo', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkCreateCommandPool" vkCreateCommandPool :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkCommandPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCommandPool" ::: Ptr VkCommandPool) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateCommandPool" vkCreateCommandPool :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkCommandPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCommandPool" ::: Ptr VkCommandPool) -> IO VkResult -- | vkDestroyCommandPool - Destroy a command pool object -- -- = Parameters @@ -265,7 +269,11 @@ foreign import ccall "vkCreateCommandPool" vkCreateCommandPool :: ("device" ::: -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'VkCommandPool', 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkDestroyCommandPool" vkDestroyCommandPool :: ("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyCommandPool" vkDestroyCommandPool :: ("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkResetCommandPool - Reset a command pool -- -- = Parameters @@ -328,7 +336,11 @@ foreign import ccall "vkDestroyCommandPool" vkDestroyCommandPool :: ("device" :: -- -- 'VkCommandPool', 'VkCommandPoolResetFlags', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkResetCommandPool" vkResetCommandPool :: ("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolResetFlags) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkResetCommandPool" vkResetCommandPool :: ("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolResetFlags) -> IO VkResult -- | VkCommandPoolCreateInfo - Structure specifying parameters of a newly -- created command pool -- diff --git a/src/Graphics/Vulkan/Core10/Constants.hs b/src/Graphics/Vulkan/Core10/Constants.hs index c864cd92..c7f25736 100644 --- a/src/Graphics/Vulkan/Core10/Constants.hs +++ b/src/Graphics/Vulkan/Core10/Constants.hs @@ -35,8 +35,8 @@ import Foreign.Storable ( Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) diff --git a/src/Graphics/Vulkan/Core10/Core.hs b/src/Graphics/Vulkan/Core10/Core.hs index 79927a10..e3c94965 100644 --- a/src/Graphics/Vulkan/Core10/Core.hs +++ b/src/Graphics/Vulkan/Core10/Core.hs @@ -302,8 +302,8 @@ import Foreign.Storable ( Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) diff --git a/src/Graphics/Vulkan/Core10/DescriptorSet.hs b/src/Graphics/Vulkan/Core10/DescriptorSet.hs index a2f49f5e..024c0e59 100644 --- a/src/Graphics/Vulkan/Core10/DescriptorSet.hs +++ b/src/Graphics/Vulkan/Core10/DescriptorSet.hs @@ -57,16 +57,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -89,14 +89,14 @@ import Graphics.Vulkan.Core10.BufferView ( VkBufferView ) import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDeviceSize - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) , VkDevice + , VkDeviceSize ) import Graphics.Vulkan.Core10.Image ( VkImageLayout(..) @@ -108,8 +108,8 @@ import Graphics.Vulkan.Core10.MemoryManagement ( VkBuffer ) import Graphics.Vulkan.Core10.PipelineLayout - ( VkShaderStageFlags - , VkDescriptorSetLayout + ( VkDescriptorSetLayout + , VkShaderStageFlags ) import Graphics.Vulkan.Core10.Sampler ( VkSampler @@ -444,7 +444,11 @@ type VkDescriptorPool = Ptr VkDescriptorPool_T -- 'Graphics.Vulkan.Core10.PipelineLayout.VkDescriptorSetLayout', -- 'VkDescriptorSetLayoutCreateInfo', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkCreateDescriptorSetLayout" vkCreateDescriptorSetLayout :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSetLayout" ::: Ptr VkDescriptorSetLayout) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateDescriptorSetLayout" vkCreateDescriptorSetLayout :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSetLayout" ::: Ptr VkDescriptorSetLayout) -> IO VkResult -- | vkDestroyDescriptorSetLayout - Destroy a descriptor set layout object -- -- = Parameters @@ -492,7 +496,11 @@ foreign import ccall "vkCreateDescriptorSetLayout" vkCreateDescriptorSetLayout : -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.PipelineLayout.VkDescriptorSetLayout', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkDestroyDescriptorSetLayout" vkDestroyDescriptorSetLayout :: ("device" ::: VkDevice) -> ("descriptorSetLayout" ::: VkDescriptorSetLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyDescriptorSetLayout" vkDestroyDescriptorSetLayout :: ("device" ::: VkDevice) -> ("descriptorSetLayout" ::: VkDescriptorSetLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkCreateDescriptorPool - Creates a descriptor pool object -- -- = Parameters @@ -549,7 +557,11 @@ foreign import ccall "vkDestroyDescriptorSetLayout" vkDestroyDescriptorSetLayout -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'VkDescriptorPool', 'VkDescriptorPoolCreateInfo', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkCreateDescriptorPool" vkCreateDescriptorPool :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorPool" ::: Ptr VkDescriptorPool) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateDescriptorPool" vkCreateDescriptorPool :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorPool" ::: Ptr VkDescriptorPool) -> IO VkResult -- | vkDestroyDescriptorPool - Destroy a descriptor pool object -- -- = Parameters @@ -604,7 +616,11 @@ foreign import ccall "vkCreateDescriptorPool" vkCreateDescriptorPool :: ("device -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'VkDescriptorPool', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkDestroyDescriptorPool" vkDestroyDescriptorPool :: ("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyDescriptorPool" vkDestroyDescriptorPool :: ("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkResetDescriptorPool - Resets a descriptor pool object -- -- = Parameters @@ -658,7 +674,11 @@ foreign import ccall "vkDestroyDescriptorPool" vkDestroyDescriptorPool :: ("devi -- -- 'VkDescriptorPool', 'VkDescriptorPoolResetFlags', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkResetDescriptorPool" vkResetDescriptorPool :: ("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("flags" ::: VkDescriptorPoolResetFlags) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkResetDescriptorPool" vkResetDescriptorPool :: ("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("flags" ::: VkDescriptorPoolResetFlags) -> IO VkResult -- | vkAllocateDescriptorSets - Allocate one or more descriptor sets -- -- = Parameters @@ -748,7 +768,11 @@ foreign import ccall "vkResetDescriptorPool" vkResetDescriptorPool :: ("device" -- -- 'VkDescriptorSet', 'VkDescriptorSetAllocateInfo', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkAllocateDescriptorSets" vkAllocateDescriptorSets :: ("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkDescriptorSetAllocateInfo) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkAllocateDescriptorSets" vkAllocateDescriptorSets :: ("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkDescriptorSetAllocateInfo) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult -- | vkFreeDescriptorSets - Free one or more descriptor sets -- -- = Parameters @@ -820,7 +844,11 @@ foreign import ccall "vkAllocateDescriptorSets" vkAllocateDescriptorSets :: ("de -- -- 'VkDescriptorPool', 'VkDescriptorSet', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkFreeDescriptorSets" vkFreeDescriptorSets :: ("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkFreeDescriptorSets" vkFreeDescriptorSets :: ("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult -- | vkUpdateDescriptorSets - Update the contents of a descriptor set object -- -- = Parameters @@ -900,7 +928,11 @@ foreign import ccall "vkFreeDescriptorSets" vkFreeDescriptorSets :: ("device" :: -- 'VkCopyDescriptorSet', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkWriteDescriptorSet' -foreign import ccall "vkUpdateDescriptorSets" vkUpdateDescriptorSets :: ("device" ::: VkDevice) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr VkCopyDescriptorSet) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkUpdateDescriptorSets" vkUpdateDescriptorSets :: ("device" ::: VkDevice) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr VkCopyDescriptorSet) -> IO () -- | VkDescriptorBufferInfo - Structure specifying descriptor buffer info -- -- = Description diff --git a/src/Graphics/Vulkan/Core10/Device.hs b/src/Graphics/Vulkan/Core10/Device.hs index 327ab68c..bb79b6c4 100644 --- a/src/Graphics/Vulkan/Core10/Device.hs +++ b/src/Graphics/Vulkan/Core10/Device.hs @@ -28,16 +28,16 @@ import Foreign.C.Types , CFloat(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -57,14 +57,14 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkPhysicalDeviceFeatures(..) + ( VkAllocationCallbacks(..) + , VkPhysicalDeviceFeatures(..) , VkDevice - , VkAllocationCallbacks(..) , VkPhysicalDevice ) @@ -215,7 +215,11 @@ instance Read VkDeviceQueueCreateFlagBits where -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkDeviceCreateInfo', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkCreateDevice" vkCreateDevice :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pCreateInfo" ::: Ptr VkDeviceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDevice" ::: Ptr VkDevice) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateDevice" vkCreateDevice :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pCreateInfo" ::: Ptr VkDeviceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDevice" ::: Ptr VkDevice) -> IO VkResult -- | vkDestroyDevice - Destroy a logical device -- -- = Parameters @@ -270,7 +274,11 @@ foreign import ccall "vkCreateDevice" vkCreateDevice :: ("physicalDevice" ::: Vk -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkDestroyDevice" vkDestroyDevice :: ("device" ::: VkDevice) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyDevice" vkDestroyDevice :: ("device" ::: VkDevice) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | VkDeviceQueueCreateInfo - Structure specifying parameters of a newly -- created device queue -- diff --git a/src/Graphics/Vulkan/Core10/DeviceInitialization.hs b/src/Graphics/Vulkan/Core10/DeviceInitialization.hs index 6a734b60..07867142 100644 --- a/src/Graphics/Vulkan/Core10/DeviceInitialization.hs +++ b/src/Graphics/Vulkan/Core10/DeviceInitialization.hs @@ -142,26 +142,26 @@ import Data.Vector.Storable.Sized ( Vector ) import Data.Word - ( Word64 - , Word32 + ( Word32 + , Word64 , Word8 ) import Foreign.C.Types - ( CFloat(..) + ( CChar(..) + , CFloat(..) , CSize(..) - , CChar(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -182,9 +182,9 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core ( VkBool32(..) - , VkStructureType(..) , VkFormat(..) , VkResult(..) + , VkStructureType(..) , VkFlags ) @@ -1830,7 +1830,11 @@ type VkDevice = Ptr VkDevice_T -- = See Also -- -- 'VkAllocationCallbacks', 'VkInstance', 'VkInstanceCreateInfo' -foreign import ccall "vkCreateInstance" vkCreateInstance :: ("pCreateInfo" ::: Ptr VkInstanceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pInstance" ::: Ptr VkInstance) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateInstance" vkCreateInstance :: ("pCreateInfo" ::: Ptr VkInstanceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pInstance" ::: Ptr VkInstance) -> IO VkResult -- | vkDestroyInstance - Destroy an instance of Vulkan -- -- = Parameters @@ -1868,7 +1872,11 @@ foreign import ccall "vkCreateInstance" vkCreateInstance :: ("pCreateInfo" ::: P -- = See Also -- -- 'VkAllocationCallbacks', 'VkInstance' -foreign import ccall "vkDestroyInstance" vkDestroyInstance :: ("instance" ::: VkInstance) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyInstance" vkDestroyInstance :: ("instance" ::: VkInstance) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkEnumeratePhysicalDevices - Enumerates the physical devices accessible -- to a Vulkan instance -- @@ -1926,7 +1934,11 @@ foreign import ccall "vkDestroyInstance" vkDestroyInstance :: ("instance" ::: Vk -- = See Also -- -- 'VkInstance', 'VkPhysicalDevice' -foreign import ccall "vkEnumeratePhysicalDevices" vkEnumeratePhysicalDevices :: ("instance" ::: VkInstance) -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr VkPhysicalDevice) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkEnumeratePhysicalDevices" vkEnumeratePhysicalDevices :: ("instance" ::: VkInstance) -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr VkPhysicalDevice) -> IO VkResult -- | vkGetDeviceProcAddr - Return a function pointer for a command -- -- = Parameters @@ -1971,7 +1983,11 @@ foreign import ccall "vkEnumeratePhysicalDevices" vkEnumeratePhysicalDevices :: -- = See Also -- -- 'PFN_vkVoidFunction', 'VkDevice' -foreign import ccall "vkGetDeviceProcAddr" vkGetDeviceProcAddr :: ("device" ::: VkDevice) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetDeviceProcAddr" vkGetDeviceProcAddr :: ("device" ::: VkDevice) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction -- | vkGetInstanceProcAddr - Return a function pointer for a command -- -- = Parameters @@ -2044,7 +2060,11 @@ foreign import ccall "vkGetDeviceProcAddr" vkGetDeviceProcAddr :: ("device" ::: -- = See Also -- -- 'PFN_vkVoidFunction', 'VkInstance' -foreign import ccall "vkGetInstanceProcAddr" vkGetInstanceProcAddr :: ("instance" ::: VkInstance) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetInstanceProcAddr" vkGetInstanceProcAddr :: ("instance" ::: VkInstance) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction -- | vkGetPhysicalDeviceProperties - Returns properties of a physical device -- -- = Parameters @@ -2066,7 +2086,11 @@ foreign import ccall "vkGetInstanceProcAddr" vkGetInstanceProcAddr :: ("instance -- = See Also -- -- 'VkPhysicalDevice', 'VkPhysicalDeviceProperties' -foreign import ccall "vkGetPhysicalDeviceProperties" vkGetPhysicalDeviceProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceProperties" vkGetPhysicalDeviceProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties) -> IO () -- | vkGetPhysicalDeviceQueueFamilyProperties - Reports properties of the -- queues of the specified physical device -- @@ -2109,7 +2133,11 @@ foreign import ccall "vkGetPhysicalDeviceProperties" vkGetPhysicalDeviceProperti -- = See Also -- -- 'VkPhysicalDevice', 'VkQueueFamilyProperties' -foreign import ccall "vkGetPhysicalDeviceQueueFamilyProperties" vkGetPhysicalDeviceQueueFamilyProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceQueueFamilyProperties" vkGetPhysicalDeviceQueueFamilyProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties) -> IO () -- | vkGetPhysicalDeviceMemoryProperties - Reports memory information for the -- specified physical device -- @@ -2131,7 +2159,11 @@ foreign import ccall "vkGetPhysicalDeviceQueueFamilyProperties" vkGetPhysicalDev -- = See Also -- -- 'VkPhysicalDevice', 'VkPhysicalDeviceMemoryProperties' -foreign import ccall "vkGetPhysicalDeviceMemoryProperties" vkGetPhysicalDeviceMemoryProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceMemoryProperties" vkGetPhysicalDeviceMemoryProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties) -> IO () -- | vkGetPhysicalDeviceFeatures - Reports capabilities of a physical device -- -- = Parameters @@ -2155,7 +2187,11 @@ foreign import ccall "vkGetPhysicalDeviceMemoryProperties" vkGetPhysicalDeviceMe -- = See Also -- -- 'VkPhysicalDevice', 'VkPhysicalDeviceFeatures' -foreign import ccall "vkGetPhysicalDeviceFeatures" vkGetPhysicalDeviceFeatures :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceFeatures" vkGetPhysicalDeviceFeatures :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures) -> IO () -- | vkGetPhysicalDeviceFormatProperties - Lists physical device’s format -- capabilities -- @@ -2183,7 +2219,11 @@ foreign import ccall "vkGetPhysicalDeviceFeatures" vkGetPhysicalDeviceFeatures : -- -- 'Graphics.Vulkan.Core10.Core.VkFormat', 'VkFormatProperties', -- 'VkPhysicalDevice' -foreign import ccall "vkGetPhysicalDeviceFormatProperties" vkGetPhysicalDeviceFormatProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceFormatProperties" vkGetPhysicalDeviceFormatProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties) -> IO () -- | vkGetPhysicalDeviceImageFormatProperties - Lists physical device’s image -- format capabilities -- @@ -2277,7 +2317,11 @@ foreign import ccall "vkGetPhysicalDeviceFormatProperties" vkGetPhysicalDeviceFo -- 'Graphics.Vulkan.Core10.Core.VkFormat', 'VkImageCreateFlags', -- 'VkImageFormatProperties', 'VkImageTiling', 'VkImageType', -- 'VkImageUsageFlags', 'VkPhysicalDevice' -foreign import ccall "vkGetPhysicalDeviceImageFormatProperties" vkGetPhysicalDeviceImageFormatProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceImageFormatProperties" vkGetPhysicalDeviceImageFormatProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties) -> IO VkResult -- | VkExtent3D - Structure specifying a three-dimensional extent -- -- = See Also diff --git a/src/Graphics/Vulkan/Core10/Event.hs b/src/Graphics/Vulkan/Core10/Event.hs index 7cb87347..990d6592 100644 --- a/src/Graphics/Vulkan/Core10/Event.hs +++ b/src/Graphics/Vulkan/Core10/Event.hs @@ -22,16 +22,16 @@ import Data.Bits , FiniteBits ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -51,8 +51,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization @@ -152,7 +152,11 @@ type VkEvent = Ptr VkEvent_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkEvent', -- 'VkEventCreateInfo' -foreign import ccall "vkCreateEvent" vkCreateEvent :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkEventCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pEvent" ::: Ptr VkEvent) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateEvent" vkCreateEvent :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkEventCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pEvent" ::: Ptr VkEvent) -> IO VkResult -- | vkDestroyEvent - Destroy an event object -- -- = Parameters @@ -198,7 +202,11 @@ foreign import ccall "vkCreateEvent" vkCreateEvent :: ("device" ::: VkDevice) -> -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkEvent' -foreign import ccall "vkDestroyEvent" vkDestroyEvent :: ("device" ::: VkDevice) -> ("event" ::: VkEvent) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyEvent" vkDestroyEvent :: ("device" ::: VkDevice) -> ("event" ::: VkEvent) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkGetEventStatus - Retrieve the status of an event object -- -- = Parameters @@ -261,7 +269,11 @@ foreign import ccall "vkDestroyEvent" vkDestroyEvent :: ("device" ::: VkDevice) -- = See Also -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkEvent' -foreign import ccall "vkGetEventStatus" vkGetEventStatus :: ("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetEventStatus" vkGetEventStatus :: ("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult -- | vkSetEvent - Set an event to signaled state -- -- = Parameters @@ -305,7 +317,11 @@ foreign import ccall "vkGetEventStatus" vkGetEventStatus :: ("device" ::: VkDevi -- = See Also -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkEvent' -foreign import ccall "vkSetEvent" vkSetEvent :: ("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkSetEvent" vkSetEvent :: ("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult -- | vkResetEvent - Reset an event to non-signaled state -- -- = Parameters @@ -354,7 +370,11 @@ foreign import ccall "vkSetEvent" vkSetEvent :: ("device" ::: VkDevice) -> ("eve -- = See Also -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkEvent' -foreign import ccall "vkResetEvent" vkResetEvent :: ("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkResetEvent" vkResetEvent :: ("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult -- | VkEventCreateInfo - Structure specifying parameters of a newly created -- event -- diff --git a/src/Graphics/Vulkan/Core10/ExtensionDiscovery.hs b/src/Graphics/Vulkan/Core10/ExtensionDiscovery.hs index 888cc5a8..1fab78b1 100644 --- a/src/Graphics/Vulkan/Core10/ExtensionDiscovery.hs +++ b/src/Graphics/Vulkan/Core10/ExtensionDiscovery.hs @@ -23,12 +23,12 @@ import Foreign.C.Types ( CChar(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -115,7 +115,11 @@ pattern VK_MAX_EXTENSION_NAME_SIZE = 256 -- = See Also -- -- 'VkExtensionProperties' -foreign import ccall "vkEnumerateInstanceExtensionProperties" vkEnumerateInstanceExtensionProperties :: ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkExtensionProperties) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkEnumerateInstanceExtensionProperties" vkEnumerateInstanceExtensionProperties :: ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkExtensionProperties) -> IO VkResult -- | vkEnumerateDeviceExtensionProperties - Returns properties of available -- physical device extensions -- @@ -173,7 +177,11 @@ foreign import ccall "vkEnumerateInstanceExtensionProperties" vkEnumerateInstanc -- -- 'VkExtensionProperties', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkEnumerateDeviceExtensionProperties" vkEnumerateDeviceExtensionProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkExtensionProperties) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkEnumerateDeviceExtensionProperties" vkEnumerateDeviceExtensionProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkExtensionProperties) -> IO VkResult -- | VkExtensionProperties - Structure specifying a extension properties -- -- = See Also diff --git a/src/Graphics/Vulkan/Core10/Fence.hs b/src/Graphics/Vulkan/Core10/Fence.hs index bf865e70..f016f14e 100644 --- a/src/Graphics/Vulkan/Core10/Fence.hs +++ b/src/Graphics/Vulkan/Core10/Fence.hs @@ -23,20 +23,20 @@ import Data.Bits , FiniteBits ) import Data.Word - ( Word64 - , Word32 + ( Word32 + , Word64 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -56,9 +56,9 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkBool32(..) + ( VkBool32(..) , VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization @@ -145,7 +145,11 @@ pattern VK_FENCE_CREATE_SIGNALED_BIT = VkFenceCreateFlagBits 0x00000001 -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Queue.VkFence', 'VkFenceCreateInfo' -foreign import ccall "vkCreateFence" vkCreateFence :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFenceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateFence" vkCreateFence :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFenceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult -- | vkDestroyFence - Destroy a fence object -- -- = Parameters @@ -193,7 +197,11 @@ foreign import ccall "vkCreateFence" vkCreateFence :: ("device" ::: VkDevice) -> -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Queue.VkFence' -foreign import ccall "vkDestroyFence" vkDestroyFence :: ("device" ::: VkDevice) -> ("fence" ::: VkFence) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyFence" vkDestroyFence :: ("device" ::: VkDevice) -> ("fence" ::: VkFence) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkResetFences - Resets one or more fence objects -- -- = Parameters @@ -256,7 +264,11 @@ foreign import ccall "vkDestroyFence" vkDestroyFence :: ("device" ::: VkDevice) -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Queue.VkFence' -foreign import ccall "vkResetFences" vkResetFences :: ("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkResetFences" vkResetFences :: ("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> IO VkResult -- | vkGetFenceStatus - Return the status of a fence -- -- = Parameters @@ -321,7 +333,11 @@ foreign import ccall "vkResetFences" vkResetFences :: ("device" ::: VkDevice) -> -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Queue.VkFence' -foreign import ccall "vkGetFenceStatus" vkGetFenceStatus :: ("device" ::: VkDevice) -> ("fence" ::: VkFence) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetFenceStatus" vkGetFenceStatus :: ("device" ::: VkDevice) -> ("fence" ::: VkFence) -> IO VkResult -- | vkWaitForFences - Wait for one or more fences to become signaled -- -- = Parameters @@ -404,7 +420,11 @@ foreign import ccall "vkGetFenceStatus" vkGetFenceStatus :: ("device" ::: VkDevi -- -- @VkBool32@, 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Queue.VkFence' -foreign import ccall "vkWaitForFences" vkWaitForFences :: ("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> ("waitAll" ::: VkBool32) -> ("timeout" ::: Word64) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkWaitForFences" vkWaitForFences :: ("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> ("waitAll" ::: VkBool32) -> ("timeout" ::: Word64) -> IO VkResult -- | VkFenceCreateInfo - Structure specifying parameters of a newly created -- fence -- diff --git a/src/Graphics/Vulkan/Core10/Image.hs b/src/Graphics/Vulkan/Core10/Image.hs index 77b4976c..468ea82e 100644 --- a/src/Graphics/Vulkan/Core10/Image.hs +++ b/src/Graphics/Vulkan/Core10/Image.hs @@ -31,16 +31,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -64,19 +64,19 @@ import Graphics.Vulkan.Core10.Buffer ) import Graphics.Vulkan.Core10.Core ( VkFormat(..) - , VkStructureType(..) , VkResult(..) + , VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDeviceSize - , VkImageUsageFlags - , VkImageTiling(..) - , VkSampleCountFlagBits(..) + ( VkAllocationCallbacks(..) , VkExtent3D(..) + , VkImageTiling(..) , VkImageType(..) - , VkImageCreateFlags - , VkAllocationCallbacks(..) + , VkSampleCountFlagBits(..) , VkDevice + , VkDeviceSize + , VkImageCreateFlags + , VkImageUsageFlags ) import Graphics.Vulkan.Core10.MemoryManagement ( VkImage @@ -394,7 +394,11 @@ pattern VK_IMAGE_LAYOUT_PREINITIALIZED = VkImageLayout 8 -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.MemoryManagement.VkImage', 'VkImageCreateInfo' -foreign import ccall "vkCreateImage" vkCreateImage :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pImage" ::: Ptr VkImage) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateImage" vkCreateImage :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pImage" ::: Ptr VkImage) -> IO VkResult -- | vkDestroyImage - Destroy an image object -- -- = Parameters @@ -441,7 +445,11 @@ foreign import ccall "vkCreateImage" vkCreateImage :: ("device" ::: VkDevice) -> -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.MemoryManagement.VkImage' -foreign import ccall "vkDestroyImage" vkDestroyImage :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyImage" vkDestroyImage :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkGetImageSubresourceLayout - Retrieve information about an image -- subresource -- @@ -523,7 +531,11 @@ foreign import ccall "vkDestroyImage" vkDestroyImage :: ("device" ::: VkDevice) -- 'Graphics.Vulkan.Core10.MemoryManagement.VkImage', -- 'Graphics.Vulkan.Core10.SparseResourceMemoryManagement.VkImageSubresource', -- 'VkSubresourceLayout' -foreign import ccall "vkGetImageSubresourceLayout" vkGetImageSubresourceLayout :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSubresource" ::: Ptr VkImageSubresource) -> ("pLayout" ::: Ptr VkSubresourceLayout) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetImageSubresourceLayout" vkGetImageSubresourceLayout :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSubresource" ::: Ptr VkImageSubresource) -> ("pLayout" ::: Ptr VkSubresourceLayout) -> IO () -- | VkImageCreateInfo - Structure specifying the parameters of a newly -- created image object -- diff --git a/src/Graphics/Vulkan/Core10/ImageView.hs b/src/Graphics/Vulkan/Core10/ImageView.hs index 6430c8a5..dda2e325 100644 --- a/src/Graphics/Vulkan/Core10/ImageView.hs +++ b/src/Graphics/Vulkan/Core10/ImageView.hs @@ -43,16 +43,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -73,8 +73,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core ( VkFormat(..) - , VkStructureType(..) , VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization @@ -368,7 +368,11 @@ type VkImageView = Ptr VkImageView_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkImageView', -- 'VkImageViewCreateInfo' -foreign import ccall "vkCreateImageView" vkCreateImageView :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkImageView) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateImageView" vkCreateImageView :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkImageView) -> IO VkResult -- | vkDestroyImageView - Destroy an image view object -- -- = Parameters @@ -415,7 +419,11 @@ foreign import ccall "vkCreateImageView" vkCreateImageView :: ("device" ::: VkDe -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkImageView' -foreign import ccall "vkDestroyImageView" vkDestroyImageView :: ("device" ::: VkDevice) -> ("imageView" ::: VkImageView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyImageView" vkDestroyImageView :: ("device" ::: VkDevice) -> ("imageView" ::: VkImageView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | VkComponentMapping - Structure specifying a color component mapping -- -- == Valid Usage (Implicit) diff --git a/src/Graphics/Vulkan/Core10/LayerDiscovery.hs b/src/Graphics/Vulkan/Core10/LayerDiscovery.hs index 5d1e4e53..36223d62 100644 --- a/src/Graphics/Vulkan/Core10/LayerDiscovery.hs +++ b/src/Graphics/Vulkan/Core10/LayerDiscovery.hs @@ -23,12 +23,12 @@ import Foreign.C.Types ( CChar(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -107,7 +107,11 @@ pattern VK_MAX_DESCRIPTION_SIZE = 256 -- = See Also -- -- 'VkLayerProperties' -foreign import ccall "vkEnumerateInstanceLayerProperties" vkEnumerateInstanceLayerProperties :: ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkLayerProperties) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkEnumerateInstanceLayerProperties" vkEnumerateInstanceLayerProperties :: ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkLayerProperties) -> IO VkResult -- | vkEnumerateDeviceLayerProperties - Returns properties of available -- physical device layers -- @@ -164,7 +168,11 @@ foreign import ccall "vkEnumerateInstanceLayerProperties" vkEnumerateInstanceLay -- -- 'VkLayerProperties', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkEnumerateDeviceLayerProperties" vkEnumerateDeviceLayerProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkLayerProperties) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkEnumerateDeviceLayerProperties" vkEnumerateDeviceLayerProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkLayerProperties) -> IO VkResult -- | VkLayerProperties - Structure specifying layer properties -- -- = See Also diff --git a/src/Graphics/Vulkan/Core10/Memory.hs b/src/Graphics/Vulkan/Core10/Memory.hs index 33ec0376..dddc69d3 100644 --- a/src/Graphics/Vulkan/Core10/Memory.hs +++ b/src/Graphics/Vulkan/Core10/Memory.hs @@ -28,16 +28,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -57,14 +57,14 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDeviceSize - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) , VkDevice + , VkDeviceSize ) @@ -221,7 +221,11 @@ type VkDeviceMemory = Ptr VkDeviceMemory_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkDeviceMemory', 'VkMemoryAllocateInfo' -foreign import ccall "vkAllocateMemory" vkAllocateMemory :: ("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkMemoryAllocateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMemory" ::: Ptr VkDeviceMemory) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkAllocateMemory" vkAllocateMemory :: ("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkMemoryAllocateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMemory" ::: Ptr VkDeviceMemory) -> IO VkResult -- | vkFreeMemory - Free device memory -- -- = Parameters @@ -291,7 +295,11 @@ foreign import ccall "vkAllocateMemory" vkAllocateMemory :: ("device" ::: VkDevi -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkDeviceMemory' -foreign import ccall "vkFreeMemory" vkFreeMemory :: ("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkFreeMemory" vkFreeMemory :: ("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkMapMemory - Map a memory object into application address space -- -- = Parameters @@ -405,7 +413,11 @@ foreign import ccall "vkFreeMemory" vkFreeMemory :: ("device" ::: VkDevice) -> ( -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkDeviceMemory', @VkDeviceSize@, 'VkMemoryMapFlags' -foreign import ccall "vkMapMemory" vkMapMemory :: ("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("offset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("flags" ::: VkMemoryMapFlags) -> ("ppData" ::: Ptr (Ptr ())) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkMapMemory" vkMapMemory :: ("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("offset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("flags" ::: VkMemoryMapFlags) -> ("ppData" ::: Ptr (Ptr ())) -> IO VkResult -- | vkUnmapMemory - Unmap a previously mapped memory object -- -- = Parameters @@ -434,7 +446,11 @@ foreign import ccall "vkMapMemory" vkMapMemory :: ("device" ::: VkDevice) -> ("m -- = See Also -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkDeviceMemory' -foreign import ccall "vkUnmapMemory" vkUnmapMemory :: ("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkUnmapMemory" vkUnmapMemory :: ("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> IO () -- | vkFlushMappedMemoryRanges - Flush mapped memory ranges -- -- = Parameters @@ -498,7 +514,11 @@ foreign import ccall "vkUnmapMemory" vkUnmapMemory :: ("device" ::: VkDevice) -> -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkMappedMemoryRange' -foreign import ccall "vkFlushMappedMemoryRanges" vkFlushMappedMemoryRanges :: ("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkFlushMappedMemoryRanges" vkFlushMappedMemoryRanges :: ("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult -- | vkInvalidateMappedMemoryRanges - Invalidate ranges of mapped memory -- objects -- @@ -555,7 +575,11 @@ foreign import ccall "vkFlushMappedMemoryRanges" vkFlushMappedMemoryRanges :: (" -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkMappedMemoryRange' -foreign import ccall "vkInvalidateMappedMemoryRanges" vkInvalidateMappedMemoryRanges :: ("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkInvalidateMappedMemoryRanges" vkInvalidateMappedMemoryRanges :: ("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult -- | vkGetDeviceMemoryCommitment - Query the current commitment for a -- VkDeviceMemory -- @@ -599,7 +623,11 @@ foreign import ccall "vkInvalidateMappedMemoryRanges" vkInvalidateMappedMemoryRa -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkDeviceMemory', @VkDeviceSize@ -foreign import ccall "vkGetDeviceMemoryCommitment" vkGetDeviceMemoryCommitment :: ("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pCommittedMemoryInBytes" ::: Ptr VkDeviceSize) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetDeviceMemoryCommitment" vkGetDeviceMemoryCommitment :: ("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pCommittedMemoryInBytes" ::: Ptr VkDeviceSize) -> IO () -- | VkMemoryAllocateInfo - Structure containing parameters of a memory -- allocation -- diff --git a/src/Graphics/Vulkan/Core10/MemoryManagement.hs b/src/Graphics/Vulkan/Core10/MemoryManagement.hs index 1e0ac19c..5b461108 100644 --- a/src/Graphics/Vulkan/Core10/MemoryManagement.hs +++ b/src/Graphics/Vulkan/Core10/MemoryManagement.hs @@ -18,12 +18,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -34,8 +34,8 @@ import Graphics.Vulkan.Core10.Core ( VkResult(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDeviceSize - , VkDevice + ( VkDevice + , VkDeviceSize ) import Graphics.Vulkan.Core10.Memory ( VkDeviceMemory @@ -138,7 +138,11 @@ type VkImage = Ptr VkImage_T -- -- 'VkBuffer', 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkMemoryRequirements' -foreign import ccall "vkGetBufferMemoryRequirements" vkGetBufferMemoryRequirements :: ("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetBufferMemoryRequirements" vkGetBufferMemoryRequirements :: ("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO () -- | vkBindBufferMemory - Bind device memory to a buffer object -- -- = Parameters @@ -257,7 +261,11 @@ foreign import ccall "vkGetBufferMemoryRequirements" vkGetBufferMemoryRequiremen -- -- 'VkBuffer', 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Memory.VkDeviceMemory', @VkDeviceSize@ -foreign import ccall "vkBindBufferMemory" vkBindBufferMemory :: ("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkBindBufferMemory" vkBindBufferMemory :: ("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult -- | vkGetImageMemoryRequirements - Returns the memory requirements for -- specified Vulkan object -- @@ -292,7 +300,11 @@ foreign import ccall "vkBindBufferMemory" vkBindBufferMemory :: ("device" ::: Vk -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkImage', -- 'VkMemoryRequirements' -foreign import ccall "vkGetImageMemoryRequirements" vkGetImageMemoryRequirements :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetImageMemoryRequirements" vkGetImageMemoryRequirements :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO () -- | vkBindImageMemory - Bind device memory to an image object -- -- = Parameters @@ -398,7 +410,11 @@ foreign import ccall "vkGetImageMemoryRequirements" vkGetImageMemoryRequirements -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Memory.VkDeviceMemory', @VkDeviceSize@, -- 'VkImage' -foreign import ccall "vkBindImageMemory" vkBindImageMemory :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkBindImageMemory" vkBindImageMemory :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult -- | VkMemoryRequirements - Structure specifying memory requirements -- -- = See Also diff --git a/src/Graphics/Vulkan/Core10/Pass.hs b/src/Graphics/Vulkan/Core10/Pass.hs index 95ba65f0..7a4485c1 100644 --- a/src/Graphics/Vulkan/Core10/Pass.hs +++ b/src/Graphics/Vulkan/Core10/Pass.hs @@ -71,16 +71,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -100,14 +100,14 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkFormat(..) + ( VkFormat(..) , VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkSampleCountFlagBits(..) - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) + , VkSampleCountFlagBits(..) , VkDevice ) import Graphics.Vulkan.Core10.Image @@ -843,7 +843,11 @@ type VkFramebuffer = Ptr VkFramebuffer_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkFramebuffer', -- 'VkFramebufferCreateInfo' -foreign import ccall "vkCreateFramebuffer" vkCreateFramebuffer :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFramebufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFramebuffer" ::: Ptr VkFramebuffer) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateFramebuffer" vkCreateFramebuffer :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFramebufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFramebuffer" ::: Ptr VkFramebuffer) -> IO VkResult -- | vkDestroyFramebuffer - Destroy a framebuffer object -- -- = Parameters @@ -890,7 +894,11 @@ foreign import ccall "vkCreateFramebuffer" vkCreateFramebuffer :: ("device" ::: -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkFramebuffer' -foreign import ccall "vkDestroyFramebuffer" vkDestroyFramebuffer :: ("device" ::: VkDevice) -> ("framebuffer" ::: VkFramebuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyFramebuffer" vkDestroyFramebuffer :: ("device" ::: VkDevice) -> ("framebuffer" ::: VkFramebuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkCreateRenderPass - Create a new render pass object -- -- = Parameters @@ -936,7 +944,11 @@ foreign import ccall "vkDestroyFramebuffer" vkDestroyFramebuffer :: ("device" :: -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Pipeline.VkRenderPass', 'VkRenderPassCreateInfo' -foreign import ccall "vkCreateRenderPass" vkCreateRenderPass :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkRenderPassCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pRenderPass" ::: Ptr VkRenderPass) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateRenderPass" vkCreateRenderPass :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkRenderPassCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pRenderPass" ::: Ptr VkRenderPass) -> IO VkResult -- | vkDestroyRenderPass - Destroy a render pass object -- -- = Parameters @@ -984,7 +996,11 @@ foreign import ccall "vkCreateRenderPass" vkCreateRenderPass :: ("device" ::: Vk -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Pipeline.VkRenderPass' -foreign import ccall "vkDestroyRenderPass" vkDestroyRenderPass :: ("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyRenderPass" vkDestroyRenderPass :: ("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkGetRenderAreaGranularity - Returns the granularity for optimal render -- area -- @@ -1043,7 +1059,11 @@ foreign import ccall "vkDestroyRenderPass" vkDestroyRenderPass :: ("device" ::: -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Pipeline.VkExtent2D', -- 'Graphics.Vulkan.Core10.Pipeline.VkRenderPass' -foreign import ccall "vkGetRenderAreaGranularity" vkGetRenderAreaGranularity :: ("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pGranularity" ::: Ptr VkExtent2D) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetRenderAreaGranularity" vkGetRenderAreaGranularity :: ("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pGranularity" ::: Ptr VkExtent2D) -> IO () -- | VkAttachmentDescription - Structure specifying an attachment description -- -- = Description diff --git a/src/Graphics/Vulkan/Core10/Pipeline.hs b/src/Graphics/Vulkan/Core10/Pipeline.hs index d8b9dc88..054cf54e 100644 --- a/src/Graphics/Vulkan/Core10/Pipeline.hs +++ b/src/Graphics/Vulkan/Core10/Pipeline.hs @@ -181,21 +181,21 @@ import Data.Word ( Word32 ) import Foreign.C.Types - ( CFloat(..) - , CChar(..) + ( CChar(..) + , CFloat(..) , CSize(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -217,13 +217,13 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core ( VkBool32(..) , VkFormat(..) - , VkStructureType(..) , VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkSampleCountFlagBits(..) - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) + , VkSampleCountFlagBits(..) , VkDevice ) import Graphics.Vulkan.Core10.PipelineCache @@ -2107,7 +2107,11 @@ type VkRenderPass = Ptr VkRenderPass_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkGraphicsPipelineCreateInfo', 'VkPipeline', -- 'Graphics.Vulkan.Core10.PipelineCache.VkPipelineCache' -foreign import ccall "vkCreateGraphicsPipelines" vkCreateGraphicsPipelines :: ("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkGraphicsPipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateGraphicsPipelines" vkCreateGraphicsPipelines :: ("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkGraphicsPipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult -- | vkCreateComputePipelines - Creates a new compute pipeline object -- -- = Parameters @@ -2188,7 +2192,11 @@ foreign import ccall "vkCreateGraphicsPipelines" vkCreateGraphicsPipelines :: (" -- 'VkComputePipelineCreateInfo', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkPipeline', -- 'Graphics.Vulkan.Core10.PipelineCache.VkPipelineCache' -foreign import ccall "vkCreateComputePipelines" vkCreateComputePipelines :: ("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkComputePipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateComputePipelines" vkCreateComputePipelines :: ("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkComputePipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult -- | vkDestroyPipeline - Destroy a pipeline object -- -- = Parameters @@ -2235,7 +2243,11 @@ foreign import ccall "vkCreateComputePipelines" vkCreateComputePipelines :: ("de -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkPipeline' -foreign import ccall "vkDestroyPipeline" vkDestroyPipeline :: ("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyPipeline" vkDestroyPipeline :: ("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | VkOffset2D - Structure specifying a two-dimensional offset -- -- = See Also diff --git a/src/Graphics/Vulkan/Core10/PipelineCache.hs b/src/Graphics/Vulkan/Core10/PipelineCache.hs index 73db74b1..9467c75c 100644 --- a/src/Graphics/Vulkan/Core10/PipelineCache.hs +++ b/src/Graphics/Vulkan/Core10/PipelineCache.hs @@ -27,16 +27,16 @@ import Foreign.C.Types ( CSize(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -56,8 +56,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization @@ -181,7 +181,11 @@ type VkPipelineCache = Ptr VkPipelineCache_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkPipelineCache', 'VkPipelineCacheCreateInfo' -foreign import ccall "vkCreatePipelineCache" vkCreatePipelineCache :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineCache" ::: Ptr VkPipelineCache) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreatePipelineCache" vkCreatePipelineCache :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineCache" ::: Ptr VkPipelineCache) -> IO VkResult -- | vkDestroyPipelineCache - Destroy a pipeline cache object -- -- = Parameters @@ -227,7 +231,11 @@ foreign import ccall "vkCreatePipelineCache" vkCreatePipelineCache :: ("device" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkPipelineCache' -foreign import ccall "vkDestroyPipelineCache" vkDestroyPipelineCache :: ("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyPipelineCache" vkDestroyPipelineCache :: ("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkGetPipelineCacheData - Get the data store from a pipeline cache -- -- = Parameters @@ -340,7 +348,11 @@ foreign import ccall "vkDestroyPipelineCache" vkDestroyPipelineCache :: ("device -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkPipelineCache' -foreign import ccall "vkGetPipelineCacheData" vkGetPipelineCacheData :: ("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPipelineCacheData" vkGetPipelineCacheData :: ("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult -- | vkMergePipelineCaches - Combine the data stores of pipeline caches -- -- = Parameters @@ -403,7 +415,11 @@ foreign import ccall "vkGetPipelineCacheData" vkGetPipelineCacheData :: ("device -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkPipelineCache' -foreign import ccall "vkMergePipelineCaches" vkMergePipelineCaches :: ("device" ::: VkDevice) -> ("dstCache" ::: VkPipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkPipelineCache) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkMergePipelineCaches" vkMergePipelineCaches :: ("device" ::: VkDevice) -> ("dstCache" ::: VkPipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkPipelineCache) -> IO VkResult -- | VkPipelineCacheCreateInfo - Structure specifying parameters of a newly -- created pipeline cache -- diff --git a/src/Graphics/Vulkan/Core10/PipelineLayout.hs b/src/Graphics/Vulkan/Core10/PipelineLayout.hs index 9148ec16..4792aaf5 100644 --- a/src/Graphics/Vulkan/Core10/PipelineLayout.hs +++ b/src/Graphics/Vulkan/Core10/PipelineLayout.hs @@ -24,16 +24,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -53,8 +53,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization @@ -156,7 +156,11 @@ type VkDescriptorSetLayout = Ptr VkDescriptorSetLayout_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Pipeline.VkPipelineLayout', -- 'VkPipelineLayoutCreateInfo' -foreign import ccall "vkCreatePipelineLayout" vkCreatePipelineLayout :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineLayout" ::: Ptr VkPipelineLayout) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreatePipelineLayout" vkCreatePipelineLayout :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineLayout" ::: Ptr VkPipelineLayout) -> IO VkResult -- | vkDestroyPipelineLayout - Destroy a pipeline layout object -- -- = Parameters @@ -201,7 +205,11 @@ foreign import ccall "vkCreatePipelineLayout" vkCreatePipelineLayout :: ("device -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Pipeline.VkPipelineLayout' -foreign import ccall "vkDestroyPipelineLayout" vkDestroyPipelineLayout :: ("device" ::: VkDevice) -> ("pipelineLayout" ::: VkPipelineLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyPipelineLayout" vkDestroyPipelineLayout :: ("device" ::: VkDevice) -> ("pipelineLayout" ::: VkPipelineLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | VkPushConstantRange - Structure specifying a push constant range -- -- == Valid Usage diff --git a/src/Graphics/Vulkan/Core10/Query.hs b/src/Graphics/Vulkan/Core10/Query.hs index 39967ff0..54df80c5 100644 --- a/src/Graphics/Vulkan/Core10/Query.hs +++ b/src/Graphics/Vulkan/Core10/Query.hs @@ -52,16 +52,16 @@ import Foreign.C.Types ( CSize(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -81,14 +81,14 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDeviceSize - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) , VkDevice + , VkDeviceSize ) @@ -473,7 +473,11 @@ type VkQueryPool = Ptr VkQueryPool_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkQueryPool', -- 'VkQueryPoolCreateInfo' -foreign import ccall "vkCreateQueryPool" vkCreateQueryPool :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkQueryPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pQueryPool" ::: Ptr VkQueryPool) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateQueryPool" vkCreateQueryPool :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkQueryPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pQueryPool" ::: Ptr VkQueryPool) -> IO VkResult -- | vkDestroyQueryPool - Destroy a query pool object -- -- = Parameters @@ -520,7 +524,11 @@ foreign import ccall "vkCreateQueryPool" vkCreateQueryPool :: ("device" ::: VkDe -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkQueryPool' -foreign import ccall "vkDestroyQueryPool" vkDestroyQueryPool :: ("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyQueryPool" vkDestroyQueryPool :: ("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkGetQueryPoolResults - Copy results of queries in a query pool to a -- host memory region -- @@ -681,7 +689,11 @@ foreign import ccall "vkDestroyQueryPool" vkDestroyQueryPool :: ("device" ::: Vk -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', @VkDeviceSize@, -- 'VkQueryPool', 'VkQueryResultFlags' -foreign import ccall "vkGetQueryPoolResults" vkGetQueryPoolResults :: ("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetQueryPoolResults" vkGetQueryPoolResults :: ("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO VkResult -- | VkQueryPoolCreateInfo - Structure specifying parameters of a newly -- created query pool -- diff --git a/src/Graphics/Vulkan/Core10/Queue.hs b/src/Graphics/Vulkan/Core10/Queue.hs index 91847651..e31cea82 100644 --- a/src/Graphics/Vulkan/Core10/Queue.hs +++ b/src/Graphics/Vulkan/Core10/Queue.hs @@ -45,16 +45,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -74,8 +74,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization @@ -510,7 +510,11 @@ type VkSemaphore = Ptr VkSemaphore_T -- = See Also -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkQueue' -foreign import ccall "vkGetDeviceQueue" vkGetDeviceQueue :: ("device" ::: VkDevice) -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr VkQueue) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetDeviceQueue" vkGetDeviceQueue :: ("device" ::: VkDevice) -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr VkQueue) -> IO () -- | vkQueueSubmit - Submits a sequence of semaphores or command buffers to a -- queue -- @@ -711,7 +715,11 @@ foreign import ccall "vkGetDeviceQueue" vkGetDeviceQueue :: ("device" ::: VkDevi -- = See Also -- -- 'VkFence', 'VkQueue', 'VkSubmitInfo' -foreign import ccall "vkQueueSubmit" vkQueueSubmit :: ("queue" ::: VkQueue) -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr VkSubmitInfo) -> ("fence" ::: VkFence) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkQueueSubmit" vkQueueSubmit :: ("queue" ::: VkQueue) -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr VkSubmitInfo) -> ("fence" ::: VkFence) -> IO VkResult -- | vkQueueWaitIdle - Wait for a queue to become idle -- -- = Parameters @@ -753,7 +761,11 @@ foreign import ccall "vkQueueSubmit" vkQueueSubmit :: ("queue" ::: VkQueue) -> ( -- = See Also -- -- 'VkQueue' -foreign import ccall "vkQueueWaitIdle" vkQueueWaitIdle :: ("queue" ::: VkQueue) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkQueueWaitIdle" vkQueueWaitIdle :: ("queue" ::: VkQueue) -> IO VkResult -- | vkDeviceWaitIdle - Wait for a device to become idle -- -- = Parameters @@ -789,7 +801,11 @@ foreign import ccall "vkQueueWaitIdle" vkQueueWaitIdle :: ("queue" ::: VkQueue) -- = See Also -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkDeviceWaitIdle" vkDeviceWaitIdle :: ("device" ::: VkDevice) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDeviceWaitIdle" vkDeviceWaitIdle :: ("device" ::: VkDevice) -> IO VkResult -- | VkSubmitInfo - Structure specifying a queue submit operation -- -- = Description diff --git a/src/Graphics/Vulkan/Core10/QueueSemaphore.hs b/src/Graphics/Vulkan/Core10/QueueSemaphore.hs index 5393609b..75e29b9a 100644 --- a/src/Graphics/Vulkan/Core10/QueueSemaphore.hs +++ b/src/Graphics/Vulkan/Core10/QueueSemaphore.hs @@ -18,16 +18,16 @@ import Data.Bits , FiniteBits ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -47,8 +47,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization @@ -139,7 +139,11 @@ instance Read VkSemaphoreCreateFlags where -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Queue.VkSemaphore', 'VkSemaphoreCreateInfo' -foreign import ccall "vkCreateSemaphore" vkCreateSemaphore :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSemaphoreCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSemaphore" ::: Ptr VkSemaphore) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateSemaphore" vkCreateSemaphore :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSemaphoreCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSemaphore" ::: Ptr VkSemaphore) -> IO VkResult -- | vkDestroySemaphore - Destroy a semaphore object -- -- = Parameters @@ -187,7 +191,11 @@ foreign import ccall "vkCreateSemaphore" vkCreateSemaphore :: ("device" ::: VkDe -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Queue.VkSemaphore' -foreign import ccall "vkDestroySemaphore" vkDestroySemaphore :: ("device" ::: VkDevice) -> ("semaphore" ::: VkSemaphore) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroySemaphore" vkDestroySemaphore :: ("device" ::: VkDevice) -> ("semaphore" ::: VkSemaphore) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | VkSemaphoreCreateInfo - Structure specifying parameters of a newly -- created semaphore -- diff --git a/src/Graphics/Vulkan/Core10/Sampler.hs b/src/Graphics/Vulkan/Core10/Sampler.hs index 724ef007..2fc982fe 100644 --- a/src/Graphics/Vulkan/Core10/Sampler.hs +++ b/src/Graphics/Vulkan/Core10/Sampler.hs @@ -43,16 +43,16 @@ import Foreign.C.Types ( CFloat(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -73,8 +73,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core ( VkBool32(..) - , VkStructureType(..) , VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization @@ -399,7 +399,11 @@ type VkSampler = Ptr VkSampler_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkSampler', -- 'VkSamplerCreateInfo' -foreign import ccall "vkCreateSampler" vkCreateSampler :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSampler" ::: Ptr VkSampler) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateSampler" vkCreateSampler :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSampler" ::: Ptr VkSampler) -> IO VkResult -- | vkDestroySampler - Destroy a sampler object -- -- = Parameters @@ -446,7 +450,11 @@ foreign import ccall "vkCreateSampler" vkCreateSampler :: ("device" ::: VkDevice -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkSampler' -foreign import ccall "vkDestroySampler" vkDestroySampler :: ("device" ::: VkDevice) -> ("sampler" ::: VkSampler) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroySampler" vkDestroySampler :: ("device" ::: VkDevice) -> ("sampler" ::: VkSampler) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | VkSamplerCreateInfo - Structure specifying parameters of a newly created -- sampler -- diff --git a/src/Graphics/Vulkan/Core10/Shader.hs b/src/Graphics/Vulkan/Core10/Shader.hs index b5ba59bf..cb958ef5 100644 --- a/src/Graphics/Vulkan/Core10/Shader.hs +++ b/src/Graphics/Vulkan/Core10/Shader.hs @@ -25,16 +25,16 @@ import Foreign.C.Types ( CSize(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -54,8 +54,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization @@ -162,7 +162,11 @@ type VkShaderModule = Ptr VkShaderModule_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkShaderModule', 'VkShaderModuleCreateInfo' -foreign import ccall "vkCreateShaderModule" vkCreateShaderModule :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkShaderModuleCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pShaderModule" ::: Ptr VkShaderModule) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateShaderModule" vkCreateShaderModule :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkShaderModuleCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pShaderModule" ::: Ptr VkShaderModule) -> IO VkResult -- | vkDestroyShaderModule - Destroy a shader module module -- -- = Parameters @@ -211,7 +215,11 @@ foreign import ccall "vkCreateShaderModule" vkCreateShaderModule :: ("device" :: -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkShaderModule' -foreign import ccall "vkDestroyShaderModule" vkDestroyShaderModule :: ("device" ::: VkDevice) -> ("shaderModule" ::: VkShaderModule) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyShaderModule" vkDestroyShaderModule :: ("device" ::: VkDevice) -> ("shaderModule" ::: VkShaderModule) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | VkShaderModuleCreateInfo - Structure specifying parameters of a newly -- created shader module -- diff --git a/src/Graphics/Vulkan/Core10/SparseResourceMemoryManagement.hs b/src/Graphics/Vulkan/Core10/SparseResourceMemoryManagement.hs index 050b5772..67b3b410 100644 --- a/src/Graphics/Vulkan/Core10/SparseResourceMemoryManagement.hs +++ b/src/Graphics/Vulkan/Core10/SparseResourceMemoryManagement.hs @@ -47,16 +47,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -76,21 +76,21 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) + ( VkFormat(..) , VkResult(..) - , VkFormat(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDeviceSize - , VkExtent3D(..) - , VkImageUsageFlagBits(..) + ( VkExtent3D(..) , VkImageTiling(..) - , VkImageUsageFlags - , VkSampleCountFlagBits(..) , VkImageType(..) - , VkPhysicalDevice + , VkImageUsageFlagBits(..) + , VkSampleCountFlagBits(..) , VkDevice + , VkDeviceSize + , VkImageUsageFlags + , VkPhysicalDevice ) import Graphics.Vulkan.Core10.Memory ( VkDeviceMemory @@ -100,9 +100,9 @@ import Graphics.Vulkan.Core10.MemoryManagement , VkImage ) import Graphics.Vulkan.Core10.Queue - ( VkSemaphore - , VkFence + ( VkFence , VkQueue + , VkSemaphore ) @@ -306,7 +306,11 @@ pattern VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT = VkSparseImageFormatF -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.MemoryManagement.VkImage', -- 'VkSparseImageMemoryRequirements' -foreign import ccall "vkGetImageSparseMemoryRequirements" vkGetImageSparseMemoryRequirements :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetImageSparseMemoryRequirements" vkGetImageSparseMemoryRequirements :: ("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements) -> IO () -- | vkGetPhysicalDeviceSparseImageFormatProperties - Retrieve properties of -- an image format applied to sparse images -- @@ -404,7 +408,11 @@ foreign import ccall "vkGetImageSparseMemoryRequirements" vkGetImageSparseMemory -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkSampleCountFlagBits', -- 'VkSparseImageFormatProperties' -foreign import ccall "vkGetPhysicalDeviceSparseImageFormatProperties" vkGetPhysicalDeviceSparseImageFormatProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("samples" ::: VkSampleCountFlagBits) -> ("usage" ::: VkImageUsageFlags) -> ("tiling" ::: VkImageTiling) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceSparseImageFormatProperties" vkGetPhysicalDeviceSparseImageFormatProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("samples" ::: VkSampleCountFlagBits) -> ("usage" ::: VkImageUsageFlags) -> ("tiling" ::: VkImageTiling) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties) -> IO () -- | vkQueueBindSparse - Bind device memory to a sparse resource object -- -- = Parameters @@ -531,7 +539,11 @@ foreign import ccall "vkGetPhysicalDeviceSparseImageFormatProperties" vkGetPhysi -- -- 'VkBindSparseInfo', 'Graphics.Vulkan.Core10.Queue.VkFence', -- 'Graphics.Vulkan.Core10.Queue.VkQueue' -foreign import ccall "vkQueueBindSparse" vkQueueBindSparse :: ("queue" ::: VkQueue) -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr VkBindSparseInfo) -> ("fence" ::: VkFence) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkQueueBindSparse" vkQueueBindSparse :: ("queue" ::: VkQueue) -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr VkBindSparseInfo) -> ("fence" ::: VkFence) -> IO VkResult -- | VkOffset3D - Structure specifying a three-dimensional offset -- -- = See Also diff --git a/src/Graphics/Vulkan/Core11.hs b/src/Graphics/Vulkan/Core11.hs index bc68bc4e..3b14e40b 100644 --- a/src/Graphics/Vulkan/Core11.hs +++ b/src/Graphics/Vulkan/Core11.hs @@ -3,7 +3,7 @@ module Graphics.Vulkan.Core11 - ( module Graphics.Vulkan.Core11.DeviceInitialization + ( module Graphics.Vulkan.Core11.DeviceInitialization , module Graphics.Vulkan.Core11.Promoted_From_VK_KHR_subgroup , module Graphics.Vulkan.Core11.Promoted_from_VK_KHR_bind_memory2 , module Graphics.Vulkan.Core11.Promoted_from_VK_KHR_16bit_storage diff --git a/src/Graphics/Vulkan/Core11/DeviceInitialization.hs b/src/Graphics/Vulkan/Core11/DeviceInitialization.hs index 825d02f4..6d4efbc0 100644 --- a/src/Graphics/Vulkan/Core11/DeviceInitialization.hs +++ b/src/Graphics/Vulkan/Core11/DeviceInitialization.hs @@ -46,4 +46,8 @@ import Graphics.Vulkan.Core10.Core -- = See Also -- -- No cross-references are available -foreign import ccall "vkEnumerateInstanceVersion" vkEnumerateInstanceVersion :: ("pApiVersion" ::: Ptr Word32) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkEnumerateInstanceVersion" vkEnumerateInstanceVersion :: ("pApiVersion" ::: Ptr Word32) -> IO VkResult diff --git a/src/Graphics/Vulkan/Core11/Promoted_From_VK_KHR_protected_memory.hs b/src/Graphics/Vulkan/Core11/Promoted_From_VK_KHR_protected_memory.hs index 44445401..ef373c0e 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_From_VK_KHR_protected_memory.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_From_VK_KHR_protected_memory.hs @@ -27,12 +27,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -50,14 +50,14 @@ import Graphics.Vulkan.Core10.Core , VkStructureType(..) ) import Graphics.Vulkan.Core10.Device - ( VkDeviceQueueCreateFlags - , VkDeviceQueueCreateFlagBits(..) + ( VkDeviceQueueCreateFlagBits(..) + , VkDeviceQueueCreateFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDevice - , VkImageCreateFlagBits(..) + ( VkImageCreateFlagBits(..) , VkMemoryPropertyFlagBits(..) , VkQueueFlagBits(..) + , VkDevice ) import Graphics.Vulkan.Core10.Queue ( VkQueue @@ -123,7 +123,11 @@ pattern VK_COMMAND_POOL_CREATE_PROTECTED_BIT = VkCommandPoolCreateFlagBits 0x000 -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkDeviceQueueInfo2', 'Graphics.Vulkan.Core10.Queue.VkQueue' -foreign import ccall "vkGetDeviceQueue2" vkGetDeviceQueue2 :: ("device" ::: VkDevice) -> ("pQueueInfo" ::: Ptr VkDeviceQueueInfo2) -> ("pQueue" ::: Ptr VkQueue) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetDeviceQueue2" vkGetDeviceQueue2 :: ("device" ::: VkDevice) -> ("pQueueInfo" ::: Ptr VkDeviceQueueInfo2) -> ("pQueue" ::: Ptr VkQueue) -> IO () -- | VkProtectedSubmitInfo - Structure indicating whether the submission is -- protected -- diff --git a/src/Graphics/Vulkan/Core11/Promoted_From_VK_KHR_subgroup.hs b/src/Graphics/Vulkan/Core11/Promoted_From_VK_KHR_subgroup.hs index f7bc8a44..8e5be7e7 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_From_VK_KHR_subgroup.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_From_VK_KHR_subgroup.hs @@ -27,16 +27,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_16bit_storage.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_16bit_storage.hs index b7bbcb3c..50d44253 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_16bit_storage.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_16bit_storage.hs @@ -9,12 +9,12 @@ module Graphics.Vulkan.Core11.Promoted_from_VK_KHR_16bit_storage ) where import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_bind_memory2.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_bind_memory2.hs index b97c0efc..98974606 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_bind_memory2.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_bind_memory2.hs @@ -19,12 +19,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -36,16 +36,16 @@ import Graphics.Vulkan.Core10.Core , VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDeviceSize + ( VkImageCreateFlagBits(..) , VkDevice - , VkImageCreateFlagBits(..) + , VkDeviceSize ) import Graphics.Vulkan.Core10.Memory ( VkDeviceMemory ) import Graphics.Vulkan.Core10.MemoryManagement - ( VkImage - , VkBuffer + ( VkBuffer + , VkImage ) @@ -97,7 +97,11 @@ pattern VK_IMAGE_CREATE_ALIAS_BIT = VkImageCreateFlagBits 0x00000400 -- -- 'VkBindBufferMemoryInfo', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkBindBufferMemory2" vkBindBufferMemory2 :: ("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindBufferMemoryInfo) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkBindBufferMemory2" vkBindBufferMemory2 :: ("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindBufferMemoryInfo) -> IO VkResult -- | vkBindImageMemory2 - Bind device memory to image objects -- -- = Parameters @@ -137,7 +141,11 @@ foreign import ccall "vkBindBufferMemory2" vkBindBufferMemory2 :: ("device" ::: -- -- 'VkBindImageMemoryInfo', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkBindImageMemory2" vkBindImageMemory2 :: ("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindImageMemoryInfo) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkBindImageMemory2" vkBindImageMemory2 :: ("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindImageMemoryInfo) -> IO VkResult -- | VkBindBufferMemoryInfo - Structure specifying how to bind a buffer to -- memory -- diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_dedicated_allocation.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_dedicated_allocation.hs index 6c5b1dfe..e44aea39 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_dedicated_allocation.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_dedicated_allocation.hs @@ -11,12 +11,12 @@ module Graphics.Vulkan.Core11.Promoted_from_VK_KHR_dedicated_allocation ) where import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_descriptor_update_template.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_descriptor_update_template.hs index d097681a..63a22e70 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_descriptor_update_template.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_descriptor_update_template.hs @@ -34,16 +34,16 @@ import Foreign.C.Types ( CSize(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -63,8 +63,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkResult(..) - , VkObjectType(..) + ( VkObjectType(..) + , VkResult(..) , VkStructureType(..) , VkFlags ) @@ -223,7 +223,11 @@ type VkDescriptorUpdateTemplate = Ptr VkDescriptorUpdateTemplate_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'VkDescriptorUpdateTemplate', 'VkDescriptorUpdateTemplateCreateInfo', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkCreateDescriptorUpdateTemplate" vkCreateDescriptorUpdateTemplate :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr VkDescriptorUpdateTemplate) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateDescriptorUpdateTemplate" vkCreateDescriptorUpdateTemplate :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr VkDescriptorUpdateTemplate) -> IO VkResult -- | vkDestroyDescriptorUpdateTemplate - Destroy a descriptor update template -- object -- @@ -273,7 +277,11 @@ foreign import ccall "vkCreateDescriptorUpdateTemplate" vkCreateDescriptorUpdate -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'VkDescriptorUpdateTemplate', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkDestroyDescriptorUpdateTemplate" vkDestroyDescriptorUpdateTemplate :: ("device" ::: VkDevice) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyDescriptorUpdateTemplate" vkDestroyDescriptorUpdateTemplate :: ("device" ::: VkDevice) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkUpdateDescriptorSetWithTemplate - Update the contents of a descriptor -- set object using an update template -- @@ -401,7 +409,11 @@ foreign import ccall "vkDestroyDescriptorUpdateTemplate" vkDestroyDescriptorUpda -- 'Graphics.Vulkan.Core10.DescriptorSet.VkDescriptorSet', -- 'VkDescriptorUpdateTemplate', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkUpdateDescriptorSetWithTemplate" vkUpdateDescriptorSetWithTemplate :: ("device" ::: VkDevice) -> ("descriptorSet" ::: VkDescriptorSet) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pData" ::: Ptr ()) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkUpdateDescriptorSetWithTemplate" vkUpdateDescriptorSetWithTemplate :: ("device" ::: VkDevice) -> ("descriptorSet" ::: VkDescriptorSet) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pData" ::: Ptr ()) -> IO () -- | VkDescriptorUpdateTemplateEntry - Describes a single descriptor update -- of the descriptor update template -- diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_device_group.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_device_group.hs index 7430be1b..84deb449 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_device_group.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_device_group.hs @@ -42,16 +42,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -81,8 +81,8 @@ import Graphics.Vulkan.Core10.Pass ( VkDependencyFlagBits(..) ) import Graphics.Vulkan.Core10.Pipeline - ( VkRect2D(..) - , VkPipelineCreateFlagBits(..) + ( VkPipelineCreateFlagBits(..) + , VkRect2D(..) ) import Graphics.Vulkan.Core10.Queue ( VkCommandBuffer @@ -270,7 +270,11 @@ pattern VK_DEPENDENCY_DEVICE_GROUP_BIT = VkDependencyFlagBits 0x00000004 -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkPeerMemoryFeatureFlags' -foreign import ccall "vkGetDeviceGroupPeerMemoryFeatures" vkGetDeviceGroupPeerMemoryFeatures :: ("device" ::: VkDevice) -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr VkPeerMemoryFeatureFlags) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetDeviceGroupPeerMemoryFeatures" vkGetDeviceGroupPeerMemoryFeatures :: ("device" ::: VkDevice) -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr VkPeerMemoryFeatureFlags) -> IO () -- | vkCmdSetDeviceMask - Modify device mask of a command buffer -- -- = Parameters @@ -333,7 +337,11 @@ foreign import ccall "vkGetDeviceGroupPeerMemoryFeatures" vkGetDeviceGroupPeerMe -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdSetDeviceMask" vkCmdSetDeviceMask :: ("commandBuffer" ::: VkCommandBuffer) -> ("deviceMask" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetDeviceMask" vkCmdSetDeviceMask :: ("commandBuffer" ::: VkCommandBuffer) -> ("deviceMask" ::: Word32) -> IO () -- | vkCmdDispatchBase - Dispatch compute work items -- -- = Parameters @@ -433,7 +441,11 @@ foreign import ccall "vkCmdSetDeviceMask" vkCmdSetDeviceMask :: ("commandBuffer" -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdDispatchBase" vkCmdDispatchBase :: ("commandBuffer" ::: VkCommandBuffer) -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdDispatchBase" vkCmdDispatchBase :: ("commandBuffer" ::: VkCommandBuffer) -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO () -- | VkMemoryAllocateFlagsInfo - Structure controlling how many instances of -- memory will be allocated -- diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_device_group_and_VK_KHR_bind_memory2.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_device_group_and_VK_KHR_bind_memory2.hs index d4fcbc32..1a1099e5 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_device_group_and_VK_KHR_bind_memory2.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_device_group_and_VK_KHR_bind_memory2.hs @@ -15,12 +15,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_device_group_creation.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_device_group_creation.hs index 915a7a93..aa169967 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_device_group_creation.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_device_group_creation.hs @@ -23,12 +23,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -41,9 +41,9 @@ import Graphics.Vulkan.Core10.Core , VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkPhysicalDevice + ( VkMemoryHeapFlagBits(..) , VkInstance - , VkMemoryHeapFlagBits(..) + , VkPhysicalDevice ) @@ -128,7 +128,11 @@ pattern VK_MAX_DEVICE_GROUP_SIZE = 32 -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance', -- 'VkPhysicalDeviceGroupProperties' -foreign import ccall "vkEnumeratePhysicalDeviceGroups" vkEnumeratePhysicalDeviceGroups :: ("instance" ::: VkInstance) -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr VkPhysicalDeviceGroupProperties) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkEnumeratePhysicalDeviceGroups" vkEnumeratePhysicalDeviceGroups :: ("instance" ::: VkInstance) -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr VkPhysicalDeviceGroupProperties) -> IO VkResult -- | VkPhysicalDeviceGroupProperties - Structure specifying physical device -- group properties -- diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_fence.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_fence.hs index 607e835d..15b882b9 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_fence.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_fence.hs @@ -17,16 +17,16 @@ import Data.Bits , FiniteBits ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_fence_capabilities.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_fence_capabilities.hs index fe22c8dd..f9b42afd 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_fence_capabilities.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_fence_capabilities.hs @@ -29,16 +29,16 @@ import Data.Bits , FiniteBits ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -244,7 +244,11 @@ pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES = VkStructureType 1000112001 -- 'VkExternalFenceProperties', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkPhysicalDeviceExternalFenceInfo' -foreign import ccall "vkGetPhysicalDeviceExternalFenceProperties" vkGetPhysicalDeviceExternalFenceProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalFenceInfo" ::: Ptr VkPhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr VkExternalFenceProperties) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceExternalFenceProperties" vkGetPhysicalDeviceExternalFenceProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalFenceInfo" ::: Ptr VkPhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr VkExternalFenceProperties) -> IO () -- | VkPhysicalDeviceExternalFenceInfo - Structure specifying fence creation -- parameters. -- diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_memory.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_memory.hs index 5a62b231..e718b770 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_memory.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_memory.hs @@ -18,18 +18,18 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_memory_capabilities ( VkExternalMemoryHandleTypeFlags diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_memory_capabilities.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_memory_capabilities.hs index 5e34330b..0dcdf101 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_memory_capabilities.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_memory_capabilities.hs @@ -49,16 +49,16 @@ import Data.Word , Word8 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -78,8 +78,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Buffer - ( VkBufferUsageFlags - , VkBufferCreateFlags + ( VkBufferCreateFlags + , VkBufferUsageFlags ) import Graphics.Vulkan.Core10.Core ( VkBool32(..) @@ -424,7 +424,11 @@ pattern VK_LUID_SIZE = 8 -- 'VkExternalBufferProperties', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkPhysicalDeviceExternalBufferInfo' -foreign import ccall "vkGetPhysicalDeviceExternalBufferProperties" vkGetPhysicalDeviceExternalBufferProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalBufferInfo" ::: Ptr VkPhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr VkExternalBufferProperties) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceExternalBufferProperties" vkGetPhysicalDeviceExternalBufferProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalBufferInfo" ::: Ptr VkPhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr VkExternalBufferProperties) -> IO () -- | VkExternalMemoryProperties - Structure specifying external memory handle -- type capabilities -- diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_semaphore.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_semaphore.hs index 3c41bafa..33352daf 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_semaphore.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_semaphore.hs @@ -17,16 +17,16 @@ import Data.Bits , FiniteBits ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_semaphore_capabilities.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_semaphore_capabilities.hs index 014fd377..4612d3fe 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_semaphore_capabilities.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_external_semaphore_capabilities.hs @@ -30,16 +30,16 @@ import Data.Bits , FiniteBits ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -269,7 +269,11 @@ pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES = VkStructureType 100007 -- 'VkExternalSemaphoreProperties', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkPhysicalDeviceExternalSemaphoreInfo' -foreign import ccall "vkGetPhysicalDeviceExternalSemaphoreProperties" vkGetPhysicalDeviceExternalSemaphoreProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalSemaphoreInfo" ::: Ptr VkPhysicalDeviceExternalSemaphoreInfo) -> ("pExternalSemaphoreProperties" ::: Ptr VkExternalSemaphoreProperties) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceExternalSemaphoreProperties" vkGetPhysicalDeviceExternalSemaphoreProperties :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalSemaphoreInfo" ::: Ptr VkPhysicalDeviceExternalSemaphoreInfo) -> ("pExternalSemaphoreProperties" ::: Ptr VkExternalSemaphoreProperties) -> IO () -- | VkPhysicalDeviceExternalSemaphoreInfo - Structure specifying semaphore -- creation parameters. -- diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_get_memory_requirements2.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_get_memory_requirements2.hs index d412cbc6..6d0411f1 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_get_memory_requirements2.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_get_memory_requirements2.hs @@ -25,12 +25,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -45,8 +45,8 @@ import Graphics.Vulkan.Core10.DeviceInitialization ) import Graphics.Vulkan.Core10.MemoryManagement ( VkMemoryRequirements(..) - , VkImage , VkBuffer + , VkImage ) import Graphics.Vulkan.Core10.SparseResourceMemoryManagement ( VkSparseImageMemoryRequirements(..) @@ -98,7 +98,11 @@ pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 = VkStructureType 1 -- 'VkBufferMemoryRequirementsInfo2', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkMemoryRequirements2' -foreign import ccall "vkGetBufferMemoryRequirements2" vkGetBufferMemoryRequirements2 :: ("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkBufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetBufferMemoryRequirements2" vkGetBufferMemoryRequirements2 :: ("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkBufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO () -- | vkGetImageMemoryRequirements2 - Returns the memory requirements for -- specified Vulkan object -- @@ -128,7 +132,11 @@ foreign import ccall "vkGetBufferMemoryRequirements2" vkGetBufferMemoryRequireme -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkImageMemoryRequirementsInfo2', 'VkMemoryRequirements2' -foreign import ccall "vkGetImageMemoryRequirements2" vkGetImageMemoryRequirements2 :: ("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetImageMemoryRequirements2" vkGetImageMemoryRequirements2 :: ("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO () -- | vkGetImageSparseMemoryRequirements2 - Query the memory requirements for -- a sparse image -- @@ -168,7 +176,11 @@ foreign import ccall "vkGetImageMemoryRequirements2" vkGetImageMemoryRequirement -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkImageSparseMemoryRequirementsInfo2', -- 'VkSparseImageMemoryRequirements2' -foreign import ccall "vkGetImageSparseMemoryRequirements2" vkGetImageSparseMemoryRequirements2 :: ("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements2) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetImageSparseMemoryRequirements2" vkGetImageSparseMemoryRequirements2 :: ("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements2) -> IO () -- | VkBufferMemoryRequirementsInfo2 - (None) -- -- == Valid Usage (Implicit) diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_get_physical_device_properties2.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_get_physical_device_properties2.hs index 8672f7c1..ac11a56a 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_get_physical_device_properties2.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_get_physical_device_properties2.hs @@ -37,12 +37,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -50,22 +50,22 @@ import Graphics.Vulkan.NamedType import Graphics.Vulkan.Core10.Core - ( VkResult(..) - , VkFormat(..) + ( VkFormat(..) + , VkResult(..) , VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkSampleCountFlagBits(..) + ( VkFormatProperties(..) + , VkImageFormatProperties(..) + , VkImageTiling(..) + , VkImageType(..) + , VkPhysicalDeviceFeatures(..) , VkPhysicalDeviceMemoryProperties(..) + , VkPhysicalDeviceProperties(..) , VkQueueFamilyProperties(..) + , VkSampleCountFlagBits(..) , VkImageCreateFlags , VkImageUsageFlags - , VkImageTiling(..) - , VkImageType(..) - , VkImageFormatProperties(..) - , VkFormatProperties(..) - , VkPhysicalDeviceProperties(..) - , VkPhysicalDeviceFeatures(..) , VkPhysicalDevice ) import Graphics.Vulkan.Core10.SparseResourceMemoryManagement @@ -128,7 +128,11 @@ pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 = VkStructu -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkPhysicalDeviceFeatures2' -foreign import ccall "vkGetPhysicalDeviceFeatures2" vkGetPhysicalDeviceFeatures2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures2) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceFeatures2" vkGetPhysicalDeviceFeatures2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures2) -> IO () -- | vkGetPhysicalDeviceProperties2 - Returns properties of a physical device -- -- = Parameters @@ -158,7 +162,11 @@ foreign import ccall "vkGetPhysicalDeviceFeatures2" vkGetPhysicalDeviceFeatures2 -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkPhysicalDeviceProperties2' -foreign import ccall "vkGetPhysicalDeviceProperties2" vkGetPhysicalDeviceProperties2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties2) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceProperties2" vkGetPhysicalDeviceProperties2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties2) -> IO () -- | vkGetPhysicalDeviceFormatProperties2 - Lists physical device’s format -- capabilities -- @@ -194,7 +202,11 @@ foreign import ccall "vkGetPhysicalDeviceProperties2" vkGetPhysicalDevicePropert -- -- 'Graphics.Vulkan.Core10.Core.VkFormat', 'VkFormatProperties2', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetPhysicalDeviceFormatProperties2" vkGetPhysicalDeviceFormatProperties2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties2) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceFormatProperties2" vkGetPhysicalDeviceFormatProperties2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties2) -> IO () -- | vkGetPhysicalDeviceImageFormatProperties2 - Lists physical device’s -- image format capabilities -- @@ -257,7 +269,11 @@ foreign import ccall "vkGetPhysicalDeviceFormatProperties2" vkGetPhysicalDeviceF -- 'VkImageFormatProperties2', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkPhysicalDeviceImageFormatInfo2' -foreign import ccall "vkGetPhysicalDeviceImageFormatProperties2" vkGetPhysicalDeviceImageFormatProperties2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pImageFormatInfo" ::: Ptr VkPhysicalDeviceImageFormatInfo2) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties2) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceImageFormatProperties2" vkGetPhysicalDeviceImageFormatProperties2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pImageFormatInfo" ::: Ptr VkPhysicalDeviceImageFormatInfo2) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties2) -> IO VkResult -- | vkGetPhysicalDeviceQueueFamilyProperties2 - Reports properties of the -- queues of the specified physical device -- @@ -296,7 +312,11 @@ foreign import ccall "vkGetPhysicalDeviceImageFormatProperties2" vkGetPhysicalDe -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkQueueFamilyProperties2' -foreign import ccall "vkGetPhysicalDeviceQueueFamilyProperties2" vkGetPhysicalDeviceQueueFamilyProperties2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties2) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceQueueFamilyProperties2" vkGetPhysicalDeviceQueueFamilyProperties2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties2) -> IO () -- | vkGetPhysicalDeviceMemoryProperties2 - Reports memory information for -- the specified physical device -- @@ -326,7 +346,11 @@ foreign import ccall "vkGetPhysicalDeviceQueueFamilyProperties2" vkGetPhysicalDe -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkPhysicalDeviceMemoryProperties2' -foreign import ccall "vkGetPhysicalDeviceMemoryProperties2" vkGetPhysicalDeviceMemoryProperties2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties2) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceMemoryProperties2" vkGetPhysicalDeviceMemoryProperties2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties2) -> IO () -- | vkGetPhysicalDeviceSparseImageFormatProperties2 - Retrieve properties of -- an image format applied to sparse images -- @@ -371,7 +395,11 @@ foreign import ccall "vkGetPhysicalDeviceMemoryProperties2" vkGetPhysicalDeviceM -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkPhysicalDeviceSparseImageFormatInfo2', -- 'VkSparseImageFormatProperties2' -foreign import ccall "vkGetPhysicalDeviceSparseImageFormatProperties2" vkGetPhysicalDeviceSparseImageFormatProperties2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pFormatInfo" ::: Ptr VkPhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties2) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceSparseImageFormatProperties2" vkGetPhysicalDeviceSparseImageFormatProperties2 :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pFormatInfo" ::: Ptr VkPhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties2) -> IO () -- | VkPhysicalDeviceFeatures2 - Structure describing the fine-grained -- features that can be supported by an implementation -- diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_maintenance1.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_maintenance1.hs index 99ed27e1..a2121f1b 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_maintenance1.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_maintenance1.hs @@ -22,8 +22,8 @@ import Foreign.Storable ( Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -50,9 +50,9 @@ import Graphics.Vulkan.Core10.Core , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDevice - , VkFormatFeatureFlagBits(..) + ( VkFormatFeatureFlagBits(..) , VkImageCreateFlagBits(..) + , VkDevice ) @@ -171,4 +171,8 @@ pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT = VkFormatFeatureFlagBits 0x00008000 -- 'Graphics.Vulkan.Core10.CommandPool.VkCommandPool', -- 'VkCommandPoolTrimFlags', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkTrimCommandPool" vkTrimCommandPool :: ("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolTrimFlags) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkTrimCommandPool" vkTrimCommandPool :: ("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolTrimFlags) -> IO () diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_maintenance2.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_maintenance2.hs index 787ee088..28d376a1 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_maintenance2.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_maintenance2.hs @@ -33,16 +33,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) @@ -62,8 +62,8 @@ import Graphics.Vulkan.Core10.Core ( VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkImageUsageFlags - , VkImageCreateFlagBits(..) + ( VkImageCreateFlagBits(..) + , VkImageUsageFlags ) import Graphics.Vulkan.Core10.Image ( VkImageLayout(..) diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_maintenance3.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_maintenance3.hs index 852217b4..d6322888 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_maintenance3.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_maintenance3.hs @@ -17,12 +17,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -37,8 +37,8 @@ import Graphics.Vulkan.Core10.DescriptorSet ( VkDescriptorSetLayoutCreateInfo(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDeviceSize - , VkDevice + ( VkDevice + , VkDeviceSize ) @@ -107,7 +107,11 @@ pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT = VkStructureType 100016 -- 'Graphics.Vulkan.Core10.DescriptorSet.VkDescriptorSetLayoutCreateInfo', -- 'VkDescriptorSetLayoutSupport', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkGetDescriptorSetLayoutSupport" vkGetDescriptorSetLayoutSupport :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pSupport" ::: Ptr VkDescriptorSetLayoutSupport) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetDescriptorSetLayoutSupport" vkGetDescriptorSetLayoutSupport :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pSupport" ::: Ptr VkDescriptorSetLayoutSupport) -> IO () -- | VkPhysicalDeviceMaintenance3Properties - Structure describing descriptor -- set properties -- diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_multiview.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_multiview.hs index e9bc1af2..c7f03d60 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_multiview.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_multiview.hs @@ -20,12 +20,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_sampler_ycbcr_conversion.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_sampler_ycbcr_conversion.hs index 5f8b0047..4d50db67 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_sampler_ycbcr_conversion.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_sampler_ycbcr_conversion.hs @@ -89,16 +89,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -119,16 +119,16 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core ( VkBool32(..) - , VkResult(..) + , VkFormat(..) , VkObjectType(..) + , VkResult(..) , VkStructureType(..) - , VkFormat(..) ) import Graphics.Vulkan.Core10.DeviceInitialization ( VkAllocationCallbacks(..) - , VkDevice , VkFormatFeatureFlagBits(..) , VkImageCreateFlagBits(..) + , VkDevice ) import Graphics.Vulkan.Core10.ImageView ( VkComponentMapping(..) @@ -958,7 +958,11 @@ type VkSamplerYcbcrConversion = Ptr VkSamplerYcbcrConversion_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkSamplerYcbcrConversion', 'VkSamplerYcbcrConversionCreateInfo' -foreign import ccall "vkCreateSamplerYcbcrConversion" vkCreateSamplerYcbcrConversion :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerYcbcrConversionCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr VkSamplerYcbcrConversion) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateSamplerYcbcrConversion" vkCreateSamplerYcbcrConversion :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerYcbcrConversionCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr VkSamplerYcbcrConversion) -> IO VkResult -- | vkDestroySamplerYcbcrConversion - Destroy a created Y’CbCr conversion -- -- = Parameters @@ -995,7 +999,11 @@ foreign import ccall "vkCreateSamplerYcbcrConversion" vkCreateSamplerYcbcrConver -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkSamplerYcbcrConversion' -foreign import ccall "vkDestroySamplerYcbcrConversion" vkDestroySamplerYcbcrConversion :: ("device" ::: VkDevice) -> ("ycbcrConversion" ::: VkSamplerYcbcrConversion) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroySamplerYcbcrConversion" vkDestroySamplerYcbcrConversion :: ("device" ::: VkDevice) -> ("ycbcrConversion" ::: VkSamplerYcbcrConversion) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | VkSamplerYcbcrConversionInfo - Structure specifying Y’CbCr conversion to -- a sampler or image view -- diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_shader_draw_parameters.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_shader_draw_parameters.hs index 7a905938..32ff8673 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_shader_draw_parameters.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_shader_draw_parameters.hs @@ -9,12 +9,12 @@ module Graphics.Vulkan.Core11.Promoted_from_VK_KHR_shader_draw_parameters ) where import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_variable_pointers.hs b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_variable_pointers.hs index b6e85014..67b0e978 100644 --- a/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_variable_pointers.hs +++ b/src/Graphics/Vulkan/Core11/Promoted_from_VK_KHR_variable_pointers.hs @@ -9,12 +9,12 @@ module Graphics.Vulkan.Core11.Promoted_from_VK_KHR_variable_pointers ) where import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Dynamic.hs b/src/Graphics/Vulkan/Dynamic.hs index 8b2cdf0d..d7df477e 100644 --- a/src/Graphics/Vulkan/Dynamic.hs +++ b/src/Graphics/Vulkan/Dynamic.hs @@ -1,5 +1,6 @@ {-# language Strict #-} {-# language CPP #-} +{-# language CPP #-} {-# language ForeignFunctionInterface #-} {-# language MagicHash #-} {-# language DataKinds #-} @@ -8,6 +9,584 @@ module Graphics.Vulkan.Dynamic ( DeviceCmds(..) , InstanceCmds(..) + , initDeviceCmds + , initInstanceCmds + , destroyInstance + , hasDestroyInstance + , enumeratePhysicalDevices + , hasEnumeratePhysicalDevices + , getDeviceProcAddr + , hasGetDeviceProcAddr + , getInstanceProcAddr + , hasGetInstanceProcAddr + , getPhysicalDeviceProperties + , hasGetPhysicalDeviceProperties + , getPhysicalDeviceQueueFamilyProperties + , hasGetPhysicalDeviceQueueFamilyProperties + , getPhysicalDeviceMemoryProperties + , hasGetPhysicalDeviceMemoryProperties + , getPhysicalDeviceFeatures + , hasGetPhysicalDeviceFeatures + , getPhysicalDeviceFormatProperties + , hasGetPhysicalDeviceFormatProperties + , getPhysicalDeviceImageFormatProperties + , hasGetPhysicalDeviceImageFormatProperties + , createDevice + , hasCreateDevice + , destroyDevice + , hasDestroyDevice + , enumerateDeviceLayerProperties + , hasEnumerateDeviceLayerProperties + , enumerateDeviceExtensionProperties + , hasEnumerateDeviceExtensionProperties + , getDeviceQueue + , hasGetDeviceQueue + , queueSubmit + , hasQueueSubmit + , queueWaitIdle + , hasQueueWaitIdle + , deviceWaitIdle + , hasDeviceWaitIdle + , allocateMemory + , hasAllocateMemory + , freeMemory + , hasFreeMemory + , mapMemory + , hasMapMemory + , unmapMemory + , hasUnmapMemory + , flushMappedMemoryRanges + , hasFlushMappedMemoryRanges + , invalidateMappedMemoryRanges + , hasInvalidateMappedMemoryRanges + , getDeviceMemoryCommitment + , hasGetDeviceMemoryCommitment + , getBufferMemoryRequirements + , hasGetBufferMemoryRequirements + , bindBufferMemory + , hasBindBufferMemory + , getImageMemoryRequirements + , hasGetImageMemoryRequirements + , bindImageMemory + , hasBindImageMemory + , getImageSparseMemoryRequirements + , hasGetImageSparseMemoryRequirements + , getPhysicalDeviceSparseImageFormatProperties + , hasGetPhysicalDeviceSparseImageFormatProperties + , queueBindSparse + , hasQueueBindSparse + , createFence + , hasCreateFence + , destroyFence + , hasDestroyFence + , resetFences + , hasResetFences + , getFenceStatus + , hasGetFenceStatus + , waitForFences + , hasWaitForFences + , createSemaphore + , hasCreateSemaphore + , destroySemaphore + , hasDestroySemaphore + , createEvent + , hasCreateEvent + , destroyEvent + , hasDestroyEvent + , getEventStatus + , hasGetEventStatus + , setEvent + , hasSetEvent + , resetEvent + , hasResetEvent + , createQueryPool + , hasCreateQueryPool + , destroyQueryPool + , hasDestroyQueryPool + , getQueryPoolResults + , hasGetQueryPoolResults + , createBuffer + , hasCreateBuffer + , destroyBuffer + , hasDestroyBuffer + , createBufferView + , hasCreateBufferView + , destroyBufferView + , hasDestroyBufferView + , createImage + , hasCreateImage + , destroyImage + , hasDestroyImage + , getImageSubresourceLayout + , hasGetImageSubresourceLayout + , createImageView + , hasCreateImageView + , destroyImageView + , hasDestroyImageView + , createShaderModule + , hasCreateShaderModule + , destroyShaderModule + , hasDestroyShaderModule + , createPipelineCache + , hasCreatePipelineCache + , destroyPipelineCache + , hasDestroyPipelineCache + , getPipelineCacheData + , hasGetPipelineCacheData + , mergePipelineCaches + , hasMergePipelineCaches + , createGraphicsPipelines + , hasCreateGraphicsPipelines + , createComputePipelines + , hasCreateComputePipelines + , destroyPipeline + , hasDestroyPipeline + , createPipelineLayout + , hasCreatePipelineLayout + , destroyPipelineLayout + , hasDestroyPipelineLayout + , createSampler + , hasCreateSampler + , destroySampler + , hasDestroySampler + , createDescriptorSetLayout + , hasCreateDescriptorSetLayout + , destroyDescriptorSetLayout + , hasDestroyDescriptorSetLayout + , createDescriptorPool + , hasCreateDescriptorPool + , destroyDescriptorPool + , hasDestroyDescriptorPool + , resetDescriptorPool + , hasResetDescriptorPool + , allocateDescriptorSets + , hasAllocateDescriptorSets + , freeDescriptorSets + , hasFreeDescriptorSets + , updateDescriptorSets + , hasUpdateDescriptorSets + , createFramebuffer + , hasCreateFramebuffer + , destroyFramebuffer + , hasDestroyFramebuffer + , createRenderPass + , hasCreateRenderPass + , destroyRenderPass + , hasDestroyRenderPass + , getRenderAreaGranularity + , hasGetRenderAreaGranularity + , createCommandPool + , hasCreateCommandPool + , destroyCommandPool + , hasDestroyCommandPool + , resetCommandPool + , hasResetCommandPool + , allocateCommandBuffers + , hasAllocateCommandBuffers + , freeCommandBuffers + , hasFreeCommandBuffers + , beginCommandBuffer + , hasBeginCommandBuffer + , endCommandBuffer + , hasEndCommandBuffer + , resetCommandBuffer + , hasResetCommandBuffer + , cmdBindPipeline + , hasCmdBindPipeline + , cmdSetViewport + , hasCmdSetViewport + , cmdSetScissor + , hasCmdSetScissor + , cmdSetLineWidth + , hasCmdSetLineWidth + , cmdSetDepthBias + , hasCmdSetDepthBias + , cmdSetBlendConstants + , hasCmdSetBlendConstants + , cmdSetDepthBounds + , hasCmdSetDepthBounds + , cmdSetStencilCompareMask + , hasCmdSetStencilCompareMask + , cmdSetStencilWriteMask + , hasCmdSetStencilWriteMask + , cmdSetStencilReference + , hasCmdSetStencilReference + , cmdBindDescriptorSets + , hasCmdBindDescriptorSets + , cmdBindIndexBuffer + , hasCmdBindIndexBuffer + , cmdBindVertexBuffers + , hasCmdBindVertexBuffers + , cmdDraw + , hasCmdDraw + , cmdDrawIndexed + , hasCmdDrawIndexed + , cmdDrawIndirect + , hasCmdDrawIndirect + , cmdDrawIndexedIndirect + , hasCmdDrawIndexedIndirect + , cmdDispatch + , hasCmdDispatch + , cmdDispatchIndirect + , hasCmdDispatchIndirect + , cmdCopyBuffer + , hasCmdCopyBuffer + , cmdCopyImage + , hasCmdCopyImage + , cmdBlitImage + , hasCmdBlitImage + , cmdCopyBufferToImage + , hasCmdCopyBufferToImage + , cmdCopyImageToBuffer + , hasCmdCopyImageToBuffer + , cmdUpdateBuffer + , hasCmdUpdateBuffer + , cmdFillBuffer + , hasCmdFillBuffer + , cmdClearColorImage + , hasCmdClearColorImage + , cmdClearDepthStencilImage + , hasCmdClearDepthStencilImage + , cmdClearAttachments + , hasCmdClearAttachments + , cmdResolveImage + , hasCmdResolveImage + , cmdSetEvent + , hasCmdSetEvent + , cmdResetEvent + , hasCmdResetEvent + , cmdWaitEvents + , hasCmdWaitEvents + , cmdPipelineBarrier + , hasCmdPipelineBarrier + , cmdBeginQuery + , hasCmdBeginQuery + , cmdEndQuery + , hasCmdEndQuery + , cmdResetQueryPool + , hasCmdResetQueryPool + , cmdWriteTimestamp + , hasCmdWriteTimestamp + , cmdCopyQueryPoolResults + , hasCmdCopyQueryPoolResults + , cmdPushConstants + , hasCmdPushConstants + , cmdBeginRenderPass + , hasCmdBeginRenderPass + , cmdNextSubpass + , hasCmdNextSubpass + , cmdEndRenderPass + , hasCmdEndRenderPass + , cmdExecuteCommands + , hasCmdExecuteCommands +#if defined(VK_USE_PLATFORM_ANDROID_KHR) + , createAndroidSurfaceKHR + , hasCreateAndroidSurfaceKHR +#endif + , getPhysicalDeviceDisplayPropertiesKHR + , hasGetPhysicalDeviceDisplayPropertiesKHR + , getPhysicalDeviceDisplayPlanePropertiesKHR + , hasGetPhysicalDeviceDisplayPlanePropertiesKHR + , getDisplayPlaneSupportedDisplaysKHR + , hasGetDisplayPlaneSupportedDisplaysKHR + , getDisplayModePropertiesKHR + , hasGetDisplayModePropertiesKHR + , createDisplayModeKHR + , hasCreateDisplayModeKHR + , getDisplayPlaneCapabilitiesKHR + , hasGetDisplayPlaneCapabilitiesKHR + , createDisplayPlaneSurfaceKHR + , hasCreateDisplayPlaneSurfaceKHR + , createSharedSwapchainsKHR + , hasCreateSharedSwapchainsKHR +#if defined(VK_USE_PLATFORM_MIR_KHR) + , createMirSurfaceKHR + , hasCreateMirSurfaceKHR + , getPhysicalDeviceMirPresentationSupportKHR + , hasGetPhysicalDeviceMirPresentationSupportKHR +#endif + , destroySurfaceKHR + , hasDestroySurfaceKHR + , getPhysicalDeviceSurfaceSupportKHR + , hasGetPhysicalDeviceSurfaceSupportKHR + , getPhysicalDeviceSurfaceCapabilitiesKHR + , hasGetPhysicalDeviceSurfaceCapabilitiesKHR + , getPhysicalDeviceSurfaceFormatsKHR + , hasGetPhysicalDeviceSurfaceFormatsKHR + , getPhysicalDeviceSurfacePresentModesKHR + , hasGetPhysicalDeviceSurfacePresentModesKHR + , createSwapchainKHR + , hasCreateSwapchainKHR + , destroySwapchainKHR + , hasDestroySwapchainKHR + , getSwapchainImagesKHR + , hasGetSwapchainImagesKHR + , acquireNextImageKHR + , hasAcquireNextImageKHR + , queuePresentKHR + , hasQueuePresentKHR +#if defined(VK_USE_PLATFORM_VI_NN) + , createViSurfaceNN + , hasCreateViSurfaceNN +#endif +#if defined(VK_USE_PLATFORM_WAYLAND_KHR) + , createWaylandSurfaceKHR + , hasCreateWaylandSurfaceKHR + , getPhysicalDeviceWaylandPresentationSupportKHR + , hasGetPhysicalDeviceWaylandPresentationSupportKHR +#endif +#if defined(VK_USE_PLATFORM_WIN32_KHR) + , createWin32SurfaceKHR + , hasCreateWin32SurfaceKHR + , getPhysicalDeviceWin32PresentationSupportKHR + , hasGetPhysicalDeviceWin32PresentationSupportKHR +#endif +#if defined(VK_USE_PLATFORM_XLIB_KHR) + , createXlibSurfaceKHR + , hasCreateXlibSurfaceKHR + , getPhysicalDeviceXlibPresentationSupportKHR + , hasGetPhysicalDeviceXlibPresentationSupportKHR +#endif +#if defined(VK_USE_PLATFORM_XCB_KHR) + , createXcbSurfaceKHR + , hasCreateXcbSurfaceKHR + , getPhysicalDeviceXcbPresentationSupportKHR + , hasGetPhysicalDeviceXcbPresentationSupportKHR +#endif + , createDebugReportCallbackEXT + , hasCreateDebugReportCallbackEXT + , destroyDebugReportCallbackEXT + , hasDestroyDebugReportCallbackEXT + , debugReportMessageEXT + , hasDebugReportMessageEXT + , debugMarkerSetObjectNameEXT + , hasDebugMarkerSetObjectNameEXT + , debugMarkerSetObjectTagEXT + , hasDebugMarkerSetObjectTagEXT + , cmdDebugMarkerBeginEXT + , hasCmdDebugMarkerBeginEXT + , cmdDebugMarkerEndEXT + , hasCmdDebugMarkerEndEXT + , cmdDebugMarkerInsertEXT + , hasCmdDebugMarkerInsertEXT + , getPhysicalDeviceExternalImageFormatPropertiesNV + , hasGetPhysicalDeviceExternalImageFormatPropertiesNV +#if defined(VK_USE_PLATFORM_WIN32_KHR) + , getMemoryWin32HandleNV + , hasGetMemoryWin32HandleNV +#endif + , cmdDrawIndirectCountAMD + , hasCmdDrawIndirectCountAMD + , cmdDrawIndexedIndirectCountAMD + , hasCmdDrawIndexedIndirectCountAMD + , cmdProcessCommandsNVX + , hasCmdProcessCommandsNVX + , cmdReserveSpaceForCommandsNVX + , hasCmdReserveSpaceForCommandsNVX + , createIndirectCommandsLayoutNVX + , hasCreateIndirectCommandsLayoutNVX + , destroyIndirectCommandsLayoutNVX + , hasDestroyIndirectCommandsLayoutNVX + , createObjectTableNVX + , hasCreateObjectTableNVX + , destroyObjectTableNVX + , hasDestroyObjectTableNVX + , registerObjectsNVX + , hasRegisterObjectsNVX + , unregisterObjectsNVX + , hasUnregisterObjectsNVX + , getPhysicalDeviceGeneratedCommandsPropertiesNVX + , hasGetPhysicalDeviceGeneratedCommandsPropertiesNVX + , getPhysicalDeviceFeatures2 + , hasGetPhysicalDeviceFeatures2 + , getPhysicalDeviceProperties2 + , hasGetPhysicalDeviceProperties2 + , getPhysicalDeviceFormatProperties2 + , hasGetPhysicalDeviceFormatProperties2 + , getPhysicalDeviceImageFormatProperties2 + , hasGetPhysicalDeviceImageFormatProperties2 + , getPhysicalDeviceQueueFamilyProperties2 + , hasGetPhysicalDeviceQueueFamilyProperties2 + , getPhysicalDeviceMemoryProperties2 + , hasGetPhysicalDeviceMemoryProperties2 + , getPhysicalDeviceSparseImageFormatProperties2 + , hasGetPhysicalDeviceSparseImageFormatProperties2 + , cmdPushDescriptorSetKHR + , hasCmdPushDescriptorSetKHR + , trimCommandPool + , hasTrimCommandPool + , getPhysicalDeviceExternalBufferProperties + , hasGetPhysicalDeviceExternalBufferProperties +#if defined(VK_USE_PLATFORM_WIN32_KHR) + , getMemoryWin32HandleKHR + , hasGetMemoryWin32HandleKHR + , getMemoryWin32HandlePropertiesKHR + , hasGetMemoryWin32HandlePropertiesKHR +#endif + , getMemoryFdKHR + , hasGetMemoryFdKHR + , getMemoryFdPropertiesKHR + , hasGetMemoryFdPropertiesKHR + , getPhysicalDeviceExternalSemaphoreProperties + , hasGetPhysicalDeviceExternalSemaphoreProperties +#if defined(VK_USE_PLATFORM_WIN32_KHR) + , getSemaphoreWin32HandleKHR + , hasGetSemaphoreWin32HandleKHR + , importSemaphoreWin32HandleKHR + , hasImportSemaphoreWin32HandleKHR +#endif + , getSemaphoreFdKHR + , hasGetSemaphoreFdKHR + , importSemaphoreFdKHR + , hasImportSemaphoreFdKHR + , getPhysicalDeviceExternalFenceProperties + , hasGetPhysicalDeviceExternalFenceProperties +#if defined(VK_USE_PLATFORM_WIN32_KHR) + , getFenceWin32HandleKHR + , hasGetFenceWin32HandleKHR + , importFenceWin32HandleKHR + , hasImportFenceWin32HandleKHR +#endif + , getFenceFdKHR + , hasGetFenceFdKHR + , importFenceFdKHR + , hasImportFenceFdKHR + , releaseDisplayEXT + , hasReleaseDisplayEXT +#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT) + , acquireXlibDisplayEXT + , hasAcquireXlibDisplayEXT + , getRandROutputDisplayEXT + , hasGetRandROutputDisplayEXT +#endif + , displayPowerControlEXT + , hasDisplayPowerControlEXT + , registerDeviceEventEXT + , hasRegisterDeviceEventEXT + , registerDisplayEventEXT + , hasRegisterDisplayEventEXT + , getSwapchainCounterEXT + , hasGetSwapchainCounterEXT + , getPhysicalDeviceSurfaceCapabilities2EXT + , hasGetPhysicalDeviceSurfaceCapabilities2EXT + , enumeratePhysicalDeviceGroups + , hasEnumeratePhysicalDeviceGroups + , getDeviceGroupPeerMemoryFeatures + , hasGetDeviceGroupPeerMemoryFeatures + , bindBufferMemory2 + , hasBindBufferMemory2 + , bindImageMemory2 + , hasBindImageMemory2 + , cmdSetDeviceMask + , hasCmdSetDeviceMask + , getDeviceGroupPresentCapabilitiesKHR + , hasGetDeviceGroupPresentCapabilitiesKHR + , getDeviceGroupSurfacePresentModesKHR + , hasGetDeviceGroupSurfacePresentModesKHR + , acquireNextImage2KHR + , hasAcquireNextImage2KHR + , cmdDispatchBase + , hasCmdDispatchBase + , getPhysicalDevicePresentRectanglesKHR + , hasGetPhysicalDevicePresentRectanglesKHR + , createDescriptorUpdateTemplate + , hasCreateDescriptorUpdateTemplate + , destroyDescriptorUpdateTemplate + , hasDestroyDescriptorUpdateTemplate + , updateDescriptorSetWithTemplate + , hasUpdateDescriptorSetWithTemplate + , cmdPushDescriptorSetWithTemplateKHR + , hasCmdPushDescriptorSetWithTemplateKHR + , setHdrMetadataEXT + , hasSetHdrMetadataEXT + , getSwapchainStatusKHR + , hasGetSwapchainStatusKHR + , getRefreshCycleDurationGOOGLE + , hasGetRefreshCycleDurationGOOGLE + , getPastPresentationTimingGOOGLE + , hasGetPastPresentationTimingGOOGLE +#if defined(VK_USE_PLATFORM_IOS_MVK) + , createIOSSurfaceMVK + , hasCreateIOSSurfaceMVK +#endif +#if defined(VK_USE_PLATFORM_MACOS_MVK) + , createMacOSSurfaceMVK + , hasCreateMacOSSurfaceMVK +#endif + , cmdSetViewportWScalingNV + , hasCmdSetViewportWScalingNV + , cmdSetDiscardRectangleEXT + , hasCmdSetDiscardRectangleEXT + , cmdSetSampleLocationsEXT + , hasCmdSetSampleLocationsEXT + , getPhysicalDeviceMultisamplePropertiesEXT + , hasGetPhysicalDeviceMultisamplePropertiesEXT + , getPhysicalDeviceSurfaceCapabilities2KHR + , hasGetPhysicalDeviceSurfaceCapabilities2KHR + , getPhysicalDeviceSurfaceFormats2KHR + , hasGetPhysicalDeviceSurfaceFormats2KHR + , getBufferMemoryRequirements2 + , hasGetBufferMemoryRequirements2 + , getImageMemoryRequirements2 + , hasGetImageMemoryRequirements2 + , getImageSparseMemoryRequirements2 + , hasGetImageSparseMemoryRequirements2 + , createSamplerYcbcrConversion + , hasCreateSamplerYcbcrConversion + , destroySamplerYcbcrConversion + , hasDestroySamplerYcbcrConversion + , getDeviceQueue2 + , hasGetDeviceQueue2 + , createValidationCacheEXT + , hasCreateValidationCacheEXT + , destroyValidationCacheEXT + , hasDestroyValidationCacheEXT + , getValidationCacheDataEXT + , hasGetValidationCacheDataEXT + , mergeValidationCachesEXT + , hasMergeValidationCachesEXT + , getDescriptorSetLayoutSupport + , hasGetDescriptorSetLayoutSupport + , getSwapchainGrallocUsageANDROID + , hasGetSwapchainGrallocUsageANDROID + , acquireImageANDROID + , hasAcquireImageANDROID + , queueSignalReleaseImageANDROID + , hasQueueSignalReleaseImageANDROID + , getShaderInfoAMD + , hasGetShaderInfoAMD + , setDebugUtilsObjectNameEXT + , hasSetDebugUtilsObjectNameEXT + , setDebugUtilsObjectTagEXT + , hasSetDebugUtilsObjectTagEXT + , queueBeginDebugUtilsLabelEXT + , hasQueueBeginDebugUtilsLabelEXT + , queueEndDebugUtilsLabelEXT + , hasQueueEndDebugUtilsLabelEXT + , queueInsertDebugUtilsLabelEXT + , hasQueueInsertDebugUtilsLabelEXT + , cmdBeginDebugUtilsLabelEXT + , hasCmdBeginDebugUtilsLabelEXT + , cmdEndDebugUtilsLabelEXT + , hasCmdEndDebugUtilsLabelEXT + , cmdInsertDebugUtilsLabelEXT + , hasCmdInsertDebugUtilsLabelEXT + , createDebugUtilsMessengerEXT + , hasCreateDebugUtilsMessengerEXT + , destroyDebugUtilsMessengerEXT + , hasDestroyDebugUtilsMessengerEXT + , submitDebugUtilsMessageEXT + , hasSubmitDebugUtilsMessageEXT + , getMemoryHostPointerPropertiesEXT + , hasGetMemoryHostPointerPropertiesEXT + , cmdWriteBufferMarkerAMD + , hasCmdWriteBufferMarkerAMD +#if defined(VK_USE_PLATFORM_ANDROID_KHR) + , getAndroidHardwareBufferPropertiesANDROID + , hasGetAndroidHardwareBufferPropertiesANDROID + , getMemoryAndroidHardwareBufferANDROID + , hasGetMemoryAndroidHardwareBufferANDROID +#endif ) where import Data.Int @@ -19,13 +598,13 @@ import Data.Word ) import Foreign.C.Types ( CChar(..) - , CSize(..) - , CInt(..) , CFloat(..) + , CInt(..) + , CSize(..) ) import Foreign.Ptr - ( Ptr - , FunPtr + ( FunPtr + , Ptr , castPtrToFunPtr , nullFunPtr ) @@ -41,41 +620,41 @@ import Graphics.Vulkan.Core10.Buffer ( VkBufferCreateInfo(..) ) import Graphics.Vulkan.Core10.BufferView - ( VkBufferView - , VkBufferViewCreateInfo(..) + ( VkBufferViewCreateInfo(..) + , VkBufferView ) import Graphics.Vulkan.Core10.CommandBuffer - ( VkQueryControlFlagBits(..) - , VkQueryControlFlags + ( VkCommandBufferAllocateInfo(..) + , VkCommandBufferBeginInfo(..) , VkCommandBufferResetFlagBits(..) + , VkQueryControlFlagBits(..) , VkCommandBufferResetFlags - , VkCommandBufferBeginInfo(..) - , VkCommandBufferAllocateInfo(..) + , VkQueryControlFlags ) import Graphics.Vulkan.Core10.CommandBufferBuilding - ( VkSubpassContents(..) - , VkRenderPassBeginInfo(..) - , VkImageMemoryBarrier(..) + ( VkBufferCopy(..) + , VkBufferImageCopy(..) , VkBufferMemoryBarrier(..) - , VkMemoryBarrier(..) - , VkImageResolve(..) - , VkClearRect(..) , VkClearAttachment(..) - , VkClearDepthStencilValue(..) , VkClearColorValue(..) - , VkBufferImageCopy(..) + , VkClearDepthStencilValue(..) + , VkClearRect(..) , VkImageBlit(..) , VkImageCopy(..) - , VkBufferCopy(..) + , VkImageMemoryBarrier(..) + , VkImageResolve(..) , VkIndexType(..) + , VkMemoryBarrier(..) + , VkRenderPassBeginInfo(..) , VkStencilFaceFlagBits(..) + , VkSubpassContents(..) , VkStencilFaceFlags ) import Graphics.Vulkan.Core10.CommandPool - ( VkCommandPoolResetFlagBits(..) - , VkCommandPoolResetFlags + ( VkCommandPoolCreateInfo(..) + , VkCommandPoolResetFlagBits(..) , VkCommandPool - , VkCommandPoolCreateInfo(..) + , VkCommandPoolResetFlags ) import Graphics.Vulkan.Core10.Core ( VkBool32(..) @@ -84,44 +663,43 @@ import Graphics.Vulkan.Core10.Core ) import Graphics.Vulkan.Core10.DescriptorSet ( VkCopyDescriptorSet(..) - , VkWriteDescriptorSet(..) - , VkDescriptorSet - , VkDescriptorSetAllocateInfo(..) - , VkDescriptorPoolResetFlags(..) - , VkDescriptorPool , VkDescriptorPoolCreateInfo(..) + , VkDescriptorPoolResetFlags(..) + , VkDescriptorSetAllocateInfo(..) , VkDescriptorSetLayoutCreateInfo(..) + , VkWriteDescriptorSet(..) + , VkDescriptorPool + , VkDescriptorSet ) import Graphics.Vulkan.Core10.Device ( VkDeviceCreateInfo(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkSampleCountFlagBits(..) - , VkDeviceSize + ( VkAllocationCallbacks(..) + , VkFormatProperties(..) , VkImageCreateFlagBits(..) - , VkImageUsageFlagBits(..) , VkImageFormatProperties(..) - , VkImageCreateFlags - , VkImageUsageFlags , VkImageTiling(..) , VkImageType(..) - , VkFormatProperties(..) + , VkImageUsageFlagBits(..) , VkPhysicalDeviceFeatures(..) , VkPhysicalDeviceMemoryProperties(..) - , VkQueueFamilyProperties(..) , VkPhysicalDeviceProperties(..) - , VkDevice + , VkQueueFamilyProperties(..) + , VkSampleCountFlagBits(..) , PFN_vkVoidFunction - , VkPhysicalDevice + , VkDevice + , VkDeviceSize + , VkImageCreateFlags + , VkImageUsageFlags , VkInstance - , VkAllocationCallbacks(..) - , VkInstanceCreateInfo(..) - , vkGetInstanceProcAddr + , VkPhysicalDevice , vkGetDeviceProcAddr + , vkGetInstanceProcAddr ) import Graphics.Vulkan.Core10.Event - ( VkEvent - , VkEventCreateInfo(..) + ( VkEventCreateInfo(..) + , VkEvent ) import Graphics.Vulkan.Core10.ExtensionDiscovery ( VkExtensionProperties(..) @@ -130,87 +708,87 @@ import Graphics.Vulkan.Core10.Fence ( VkFenceCreateInfo(..) ) import Graphics.Vulkan.Core10.Image - ( VkImageLayout(..) + ( VkImageCreateInfo(..) + , VkImageLayout(..) , VkSubresourceLayout(..) - , VkImageCreateInfo(..) ) import Graphics.Vulkan.Core10.ImageView ( VkImageSubresourceRange(..) - , VkImageView , VkImageViewCreateInfo(..) + , VkImageView ) import Graphics.Vulkan.Core10.LayerDiscovery ( VkLayerProperties(..) ) import Graphics.Vulkan.Core10.Memory ( VkMappedMemoryRange(..) + , VkMemoryAllocateInfo(..) , VkMemoryMapFlags(..) , VkDeviceMemory - , VkMemoryAllocateInfo(..) ) import Graphics.Vulkan.Core10.MemoryManagement - ( VkImage - , VkMemoryRequirements(..) + ( VkMemoryRequirements(..) , VkBuffer + , VkImage ) import Graphics.Vulkan.Core10.Pass ( VkDependencyFlagBits(..) - , VkDependencyFlags + , VkFramebufferCreateInfo(..) , VkPipelineBindPoint(..) , VkRenderPassCreateInfo(..) + , VkDependencyFlags , VkFramebuffer - , VkFramebufferCreateInfo(..) ) import Graphics.Vulkan.Core10.Pipeline - ( VkShaderStageFlagBits(..) + ( VkComputePipelineCreateInfo(..) + , VkExtent2D(..) + , VkGraphicsPipelineCreateInfo(..) , VkRect2D(..) + , VkShaderStageFlagBits(..) , VkViewport(..) - , VkExtent2D(..) - , VkRenderPass - , VkPipelineLayout - , VkComputePipelineCreateInfo(..) , VkPipeline - , VkGraphicsPipelineCreateInfo(..) + , VkPipelineLayout + , VkRenderPass ) import Graphics.Vulkan.Core10.PipelineCache - ( VkPipelineCache - , VkPipelineCacheCreateInfo(..) + ( VkPipelineCacheCreateInfo(..) + , VkPipelineCache ) import Graphics.Vulkan.Core10.PipelineLayout - ( VkShaderStageFlags + ( VkPipelineLayoutCreateInfo(..) , VkDescriptorSetLayout - , VkPipelineLayoutCreateInfo(..) + , VkShaderStageFlags ) import Graphics.Vulkan.Core10.Query - ( VkQueryResultFlagBits(..) - , VkQueryResultFlags + ( VkQueryPoolCreateInfo(..) + , VkQueryResultFlagBits(..) , VkQueryPool - , VkQueryPoolCreateInfo(..) + , VkQueryResultFlags ) import Graphics.Vulkan.Core10.Queue ( VkPipelineStageFlagBits(..) - , VkPipelineStageFlags + , VkSubmitInfo(..) , VkCommandBuffer - , VkSemaphore , VkFence - , VkSubmitInfo(..) + , VkPipelineStageFlags , VkQueue + , VkSemaphore ) import Graphics.Vulkan.Core10.QueueSemaphore ( VkSemaphoreCreateInfo(..) ) import Graphics.Vulkan.Core10.Sampler ( VkFilter(..) - , VkSampler , VkSamplerCreateInfo(..) + , VkSampler ) import Graphics.Vulkan.Core10.Shader - ( VkShaderModule - , VkShaderModuleCreateInfo(..) + ( VkShaderModuleCreateInfo(..) + , VkShaderModule ) import Graphics.Vulkan.Core10.SparseResourceMemoryManagement - ( VkImageSubresource(..) - , VkBindSparseInfo(..) + ( VkBindSparseInfo(..) + , VkImageSubresource(..) , VkSparseImageFormatProperties(..) , VkSparseImageMemoryRequirements(..) ) @@ -218,16 +796,15 @@ import Graphics.Vulkan.Core11.Promoted_From_VK_KHR_protected_memory ( VkDeviceQueueInfo2(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_bind_memory2 - ( VkBindImageMemoryInfo(..) - , VkBindBufferMemoryInfo(..) + ( VkBindBufferMemoryInfo(..) + , VkBindImageMemoryInfo(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_descriptor_update_template - ( VkDescriptorUpdateTemplate - , VkDescriptorUpdateTemplateCreateInfo(..) + ( VkDescriptorUpdateTemplateCreateInfo(..) + , VkDescriptorUpdateTemplate ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_device_group - ( VkPeerMemoryFeatureFlagBits(..) - , VkPeerMemoryFeatureFlags + ( VkPeerMemoryFeatureFlags ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_device_group_creation ( VkPhysicalDeviceGroupProperties(..) @@ -237,8 +814,8 @@ import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_fence_capabilities , VkPhysicalDeviceExternalFenceInfo(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_memory_capabilities - ( VkExternalMemoryHandleTypeFlagBits(..) - , VkExternalBufferProperties(..) + ( VkExternalBufferProperties(..) + , VkExternalMemoryHandleTypeFlagBits(..) , VkPhysicalDeviceExternalBufferInfo(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_semaphore_capabilities @@ -246,22 +823,22 @@ import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_semaphore_capabiliti , VkPhysicalDeviceExternalSemaphoreInfo(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_get_memory_requirements2 - ( VkSparseImageMemoryRequirements2(..) - , VkImageSparseMemoryRequirementsInfo2(..) + ( VkBufferMemoryRequirementsInfo2(..) , VkImageMemoryRequirementsInfo2(..) + , VkImageSparseMemoryRequirementsInfo2(..) , VkMemoryRequirements2(..) - , VkBufferMemoryRequirementsInfo2(..) + , VkSparseImageMemoryRequirements2(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_get_physical_device_properties2 - ( VkSparseImageFormatProperties2(..) - , VkPhysicalDeviceSparseImageFormatInfo2(..) - , VkPhysicalDeviceMemoryProperties2(..) - , VkQueueFamilyProperties2(..) + ( VkFormatProperties2(..) , VkImageFormatProperties2(..) + , VkPhysicalDeviceFeatures2(..) , VkPhysicalDeviceImageFormatInfo2(..) - , VkFormatProperties2(..) + , VkPhysicalDeviceMemoryProperties2(..) , VkPhysicalDeviceProperties2(..) - , VkPhysicalDeviceFeatures2(..) + , VkPhysicalDeviceSparseImageFormatInfo2(..) + , VkQueueFamilyProperties2(..) + , VkSparseImageFormatProperties2(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_maintenance1 ( VkCommandPoolTrimFlags(..) @@ -270,46 +847,52 @@ import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_maintenance3 ( VkDescriptorSetLayoutSupport(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_sampler_ycbcr_conversion - ( VkSamplerYcbcrConversion - , VkSamplerYcbcrConversionCreateInfo(..) + ( VkSamplerYcbcrConversionCreateInfo(..) + , VkSamplerYcbcrConversion ) import Graphics.Vulkan.Extensions.VK_AMD_shader_info ( VkShaderInfoTypeAMD(..) ) + +#if defined(VK_USE_PLATFORM_ANDROID_KHR) import Graphics.Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer - ( VkMemoryGetAndroidHardwareBufferInfoANDROID(..) - , VkAndroidHardwareBufferPropertiesANDROID(..) + ( VkAndroidHardwareBufferPropertiesANDROID(..) + , VkMemoryGetAndroidHardwareBufferInfoANDROID(..) , AHardwareBuffer ) +#endif + +#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT) import Graphics.Vulkan.Extensions.VK_EXT_acquire_xlib_display ( RROutput ) +#endif import Graphics.Vulkan.Extensions.VK_EXT_debug_marker ( VkDebugMarkerMarkerInfoEXT(..) - , VkDebugMarkerObjectTagInfoEXT(..) , VkDebugMarkerObjectNameInfoEXT(..) + , VkDebugMarkerObjectTagInfoEXT(..) ) import Graphics.Vulkan.Extensions.VK_EXT_debug_report - ( VkDebugReportFlagBitsEXT(..) + ( VkDebugReportCallbackCreateInfoEXT(..) + , VkDebugReportFlagBitsEXT(..) , VkDebugReportObjectTypeEXT(..) - , VkDebugReportFlagsEXT , VkDebugReportCallbackEXT - , VkDebugReportCallbackCreateInfoEXT(..) + , VkDebugReportFlagsEXT ) import Graphics.Vulkan.Extensions.VK_EXT_debug_utils - ( VkDebugUtilsMessageTypeFlagBitsEXT(..) - , VkDebugUtilsMessengerCallbackDataEXT(..) - , VkDebugUtilsMessageTypeFlagsEXT + ( VkDebugUtilsLabelEXT(..) , VkDebugUtilsMessageSeverityFlagBitsEXT(..) - , VkDebugUtilsMessengerEXT + , VkDebugUtilsMessageTypeFlagBitsEXT(..) + , VkDebugUtilsMessengerCallbackDataEXT(..) , VkDebugUtilsMessengerCreateInfoEXT(..) - , VkDebugUtilsLabelEXT(..) - , VkDebugUtilsObjectTagInfoEXT(..) , VkDebugUtilsObjectNameInfoEXT(..) + , VkDebugUtilsObjectTagInfoEXT(..) + , VkDebugUtilsMessageTypeFlagsEXT + , VkDebugUtilsMessengerEXT ) import Graphics.Vulkan.Extensions.VK_EXT_display_control - ( VkDisplayEventInfoEXT(..) - , VkDeviceEventInfoEXT(..) + ( VkDeviceEventInfoEXT(..) + , VkDisplayEventInfoEXT(..) , VkDisplayPowerInfoEXT(..) ) import Graphics.Vulkan.Extensions.VK_EXT_display_surface_counter @@ -327,403 +910,479 @@ import Graphics.Vulkan.Extensions.VK_EXT_sample_locations , VkSampleLocationsInfoEXT(..) ) import Graphics.Vulkan.Extensions.VK_EXT_validation_cache - ( VkValidationCacheEXT - , VkValidationCacheCreateInfoEXT(..) + ( VkValidationCacheCreateInfoEXT(..) + , VkValidationCacheEXT ) import Graphics.Vulkan.Extensions.VK_GOOGLE_display_timing ( VkPastPresentationTimingGOOGLE(..) , VkRefreshCycleDurationGOOGLE(..) ) + +#if defined(VK_USE_PLATFORM_ANDROID_KHR) import Graphics.Vulkan.Extensions.VK_KHR_android_surface ( VkAndroidSurfaceCreateInfoKHR(..) ) +#endif import Graphics.Vulkan.Extensions.VK_KHR_display - ( VkDisplaySurfaceCreateInfoKHR(..) - , VkDisplayPlaneCapabilitiesKHR(..) - , VkDisplayModeKHR - , VkDisplayModeCreateInfoKHR(..) + ( VkDisplayModeCreateInfoKHR(..) , VkDisplayModePropertiesKHR(..) - , VkDisplayKHR + , VkDisplayPlaneCapabilitiesKHR(..) , VkDisplayPlanePropertiesKHR(..) , VkDisplayPropertiesKHR(..) + , VkDisplaySurfaceCreateInfoKHR(..) + , VkDisplayKHR + , VkDisplayModeKHR ) import Graphics.Vulkan.Extensions.VK_KHR_external_fence_fd - ( VkImportFenceFdInfoKHR(..) - , VkFenceGetFdInfoKHR(..) + ( VkFenceGetFdInfoKHR(..) + , VkImportFenceFdInfoKHR(..) ) + +#if defined(VK_USE_PLATFORM_WIN32_KHR) import Graphics.Vulkan.Extensions.VK_KHR_external_fence_win32 - ( VkImportFenceWin32HandleInfoKHR(..) - , VkFenceGetWin32HandleInfoKHR(..) + ( VkFenceGetWin32HandleInfoKHR(..) + , VkImportFenceWin32HandleInfoKHR(..) ) +#endif import Graphics.Vulkan.Extensions.VK_KHR_external_memory_fd ( VkMemoryFdPropertiesKHR(..) , VkMemoryGetFdInfoKHR(..) ) + +#if defined(VK_USE_PLATFORM_WIN32_KHR) import Graphics.Vulkan.Extensions.VK_KHR_external_memory_win32 - ( VkMemoryWin32HandlePropertiesKHR(..) - , VkMemoryGetWin32HandleInfoKHR(..) + ( VkMemoryGetWin32HandleInfoKHR(..) + , VkMemoryWin32HandlePropertiesKHR(..) ) +#endif import Graphics.Vulkan.Extensions.VK_KHR_external_semaphore_fd ( VkImportSemaphoreFdInfoKHR(..) , VkSemaphoreGetFdInfoKHR(..) ) + +#if defined(VK_USE_PLATFORM_WIN32_KHR) import Graphics.Vulkan.Extensions.VK_KHR_external_semaphore_win32 ( VkImportSemaphoreWin32HandleInfoKHR(..) , VkSemaphoreGetWin32HandleInfoKHR(..) ) +#endif import Graphics.Vulkan.Extensions.VK_KHR_get_surface_capabilities2 - ( VkSurfaceFormat2KHR(..) + ( VkPhysicalDeviceSurfaceInfo2KHR(..) , VkSurfaceCapabilities2KHR(..) - , VkPhysicalDeviceSurfaceInfo2KHR(..) + , VkSurfaceFormat2KHR(..) ) + +#if defined(VK_USE_PLATFORM_MIR_KHR) import Graphics.Vulkan.Extensions.VK_KHR_mir_surface - ( MirConnection - , VkMirSurfaceCreateInfoKHR(..) + ( VkMirSurfaceCreateInfoKHR(..) + , MirConnection ) +#endif import Graphics.Vulkan.Extensions.VK_KHR_surface ( VkPresentModeKHR(..) - , VkSurfaceFormatKHR(..) , VkSurfaceCapabilitiesKHR(..) + , VkSurfaceFormatKHR(..) , VkSurfaceKHR ) import Graphics.Vulkan.Extensions.VK_KHR_swapchain ( VkAcquireNextImageInfoKHR(..) - , VkDeviceGroupPresentModeFlagBitsKHR(..) - , VkDeviceGroupPresentModeFlagsKHR , VkDeviceGroupPresentCapabilitiesKHR(..) , VkPresentInfoKHR(..) - , VkSwapchainKHR , VkSwapchainCreateInfoKHR(..) + , VkDeviceGroupPresentModeFlagsKHR + , VkSwapchainKHR ) + +#if defined(VK_USE_PLATFORM_WAYLAND_KHR) import Graphics.Vulkan.Extensions.VK_KHR_wayland_surface - ( Wl_display - , VkWaylandSurfaceCreateInfoKHR(..) + ( VkWaylandSurfaceCreateInfoKHR(..) + , Wl_display ) +#endif + +#if defined(VK_USE_PLATFORM_WIN32_KHR) import Graphics.Vulkan.Extensions.VK_KHR_win32_surface ( VkWin32SurfaceCreateInfoKHR(..) ) +#endif + +#if defined(VK_USE_PLATFORM_XCB_KHR) import Graphics.Vulkan.Extensions.VK_KHR_xcb_surface - ( Xcb_visualid_t + ( VkXcbSurfaceCreateInfoKHR(..) , Xcb_connection_t - , VkXcbSurfaceCreateInfoKHR(..) + , Xcb_visualid_t ) +#endif + +#if defined(VK_USE_PLATFORM_XLIB_KHR) import Graphics.Vulkan.Extensions.VK_KHR_xlib_surface - ( VisualID - , Display(..) + ( Display(..) , VkXlibSurfaceCreateInfoKHR(..) + , VisualID + ) +#endif + +#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT) +import Graphics.Vulkan.Extensions.VK_KHR_xlib_surface + ( Display(..) ) +#endif + +#if defined(VK_USE_PLATFORM_IOS_MVK) import Graphics.Vulkan.Extensions.VK_MVK_ios_surface ( VkIOSSurfaceCreateInfoMVK(..) ) +#endif + +#if defined(VK_USE_PLATFORM_MACOS_MVK) import Graphics.Vulkan.Extensions.VK_MVK_macos_surface ( VkMacOSSurfaceCreateInfoMVK(..) ) +#endif + +#if defined(VK_USE_PLATFORM_VI_NN) import Graphics.Vulkan.Extensions.VK_NN_vi_surface ( VkViSurfaceCreateInfoNN(..) ) +#endif import Graphics.Vulkan.Extensions.VK_NVX_device_generated_commands - ( VkDeviceGeneratedCommandsLimitsNVX(..) + ( VkCmdProcessCommandsInfoNVX(..) + , VkCmdReserveSpaceForCommandsInfoNVX(..) , VkDeviceGeneratedCommandsFeaturesNVX(..) + , VkDeviceGeneratedCommandsLimitsNVX(..) + , VkIndirectCommandsLayoutCreateInfoNVX(..) , VkObjectEntryTypeNVX(..) - , VkObjectTableEntryNVX(..) - , VkObjectTableNVX , VkObjectTableCreateInfoNVX(..) + , VkObjectTableEntryNVX(..) , VkIndirectCommandsLayoutNVX - , VkIndirectCommandsLayoutCreateInfoNVX(..) - , VkCmdReserveSpaceForCommandsInfoNVX(..) - , VkCmdProcessCommandsInfoNVX(..) + , VkObjectTableNVX ) import Graphics.Vulkan.Extensions.VK_NV_clip_space_w_scaling ( VkViewportWScalingNV(..) ) import Graphics.Vulkan.Extensions.VK_NV_external_memory_capabilities - ( VkExternalMemoryHandleTypeFlagBitsNV(..) - , VkExternalImageFormatPropertiesNV(..) + ( VkExternalImageFormatPropertiesNV(..) + , VkExternalMemoryHandleTypeFlagBitsNV(..) , VkExternalMemoryHandleTypeFlagsNV ) + +#if defined(VK_USE_PLATFORM_WIN32_KHR) import Graphics.Vulkan.Extensions.VK_NV_external_memory_win32 ( HANDLE ) +#endif data DeviceCmds = DeviceCmds { pVkGetDeviceProcAddr :: FunPtr (("device" ::: VkDevice) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) - , pVkDestroyDevice :: FunPtr (("device" ::: VkDevice) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkGetDeviceQueue :: FunPtr (("device" ::: VkDevice) -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) - , pVkQueueSubmit :: FunPtr (("queue" ::: VkQueue) -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr VkSubmitInfo) -> ("fence" ::: VkFence) -> IO VkResult) - , pVkQueueWaitIdle :: FunPtr (("queue" ::: VkQueue) -> IO VkResult) - , pVkDeviceWaitIdle :: FunPtr (("device" ::: VkDevice) -> IO VkResult) - , pVkAllocateMemory :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkMemoryAllocateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMemory" ::: Ptr VkDeviceMemory) -> IO VkResult) - , pVkFreeMemory :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkMapMemory :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("offset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("flags" ::: VkMemoryMapFlags) -> ("ppData" ::: Ptr (Ptr ())) -> IO VkResult) - , pVkUnmapMemory :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> IO ()) - , pVkFlushMappedMemoryRanges :: FunPtr (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) - , pVkInvalidateMappedMemoryRanges :: FunPtr (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) - , pVkGetDeviceMemoryCommitment :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pCommittedMemoryInBytes" ::: Ptr VkDeviceSize) -> IO ()) - , pVkGetBufferMemoryRequirements :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) - , pVkBindBufferMemory :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) - , pVkGetImageMemoryRequirements :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) - , pVkBindImageMemory :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) - , pVkGetImageSparseMemoryRequirements :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements) -> IO ()) - , pVkQueueBindSparse :: FunPtr (("queue" ::: VkQueue) -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr VkBindSparseInfo) -> ("fence" ::: VkFence) -> IO VkResult) - , pVkCreateFence :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFenceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) - , pVkDestroyFence :: FunPtr (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkResetFences :: FunPtr (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> IO VkResult) - , pVkGetFenceStatus :: FunPtr (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> IO VkResult) - , pVkWaitForFences :: FunPtr (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> ("waitAll" ::: VkBool32) -> ("timeout" ::: Word64) -> IO VkResult) - , pVkCreateSemaphore :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSemaphoreCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSemaphore" ::: Ptr VkSemaphore) -> IO VkResult) - , pVkDestroySemaphore :: FunPtr (("device" ::: VkDevice) -> ("semaphore" ::: VkSemaphore) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkCreateEvent :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkEventCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pEvent" ::: Ptr VkEvent) -> IO VkResult) - , pVkDestroyEvent :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkGetEventStatus :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) - , pVkSetEvent :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) - , pVkResetEvent :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) - , pVkCreateQueryPool :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkQueryPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pQueryPool" ::: Ptr VkQueryPool) -> IO VkResult) - , pVkDestroyQueryPool :: FunPtr (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkGetQueryPoolResults :: FunPtr (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO VkResult) - , pVkCreateBuffer :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pBuffer" ::: Ptr VkBuffer) -> IO VkResult) - , pVkDestroyBuffer :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkCreateBufferView :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkBufferView) -> IO VkResult) - , pVkDestroyBufferView :: FunPtr (("device" ::: VkDevice) -> ("bufferView" ::: VkBufferView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkCreateImage :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pImage" ::: Ptr VkImage) -> IO VkResult) - , pVkDestroyImage :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkGetImageSubresourceLayout :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSubresource" ::: Ptr VkImageSubresource) -> ("pLayout" ::: Ptr VkSubresourceLayout) -> IO ()) - , pVkCreateImageView :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkImageView) -> IO VkResult) - , pVkDestroyImageView :: FunPtr (("device" ::: VkDevice) -> ("imageView" ::: VkImageView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkCreateShaderModule :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkShaderModuleCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pShaderModule" ::: Ptr VkShaderModule) -> IO VkResult) - , pVkDestroyShaderModule :: FunPtr (("device" ::: VkDevice) -> ("shaderModule" ::: VkShaderModule) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkCreatePipelineCache :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineCache" ::: Ptr VkPipelineCache) -> IO VkResult) - , pVkDestroyPipelineCache :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkGetPipelineCacheData :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) - , pVkMergePipelineCaches :: FunPtr (("device" ::: VkDevice) -> ("dstCache" ::: VkPipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkPipelineCache) -> IO VkResult) - , pVkCreateGraphicsPipelines :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkGraphicsPipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) - , pVkCreateComputePipelines :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkComputePipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) - , pVkDestroyPipeline :: FunPtr (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkCreatePipelineLayout :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineLayout" ::: Ptr VkPipelineLayout) -> IO VkResult) - , pVkDestroyPipelineLayout :: FunPtr (("device" ::: VkDevice) -> ("pipelineLayout" ::: VkPipelineLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkCreateSampler :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSampler" ::: Ptr VkSampler) -> IO VkResult) - , pVkDestroySampler :: FunPtr (("device" ::: VkDevice) -> ("sampler" ::: VkSampler) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkCreateDescriptorSetLayout :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSetLayout" ::: Ptr VkDescriptorSetLayout) -> IO VkResult) - , pVkDestroyDescriptorSetLayout :: FunPtr (("device" ::: VkDevice) -> ("descriptorSetLayout" ::: VkDescriptorSetLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkCreateDescriptorPool :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorPool" ::: Ptr VkDescriptorPool) -> IO VkResult) - , pVkDestroyDescriptorPool :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkResetDescriptorPool :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("flags" ::: VkDescriptorPoolResetFlags) -> IO VkResult) - , pVkAllocateDescriptorSets :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkDescriptorSetAllocateInfo) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) - , pVkFreeDescriptorSets :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) - , pVkUpdateDescriptorSets :: FunPtr (("device" ::: VkDevice) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr VkCopyDescriptorSet) -> IO ()) - , pVkCreateFramebuffer :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFramebufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFramebuffer" ::: Ptr VkFramebuffer) -> IO VkResult) - , pVkDestroyFramebuffer :: FunPtr (("device" ::: VkDevice) -> ("framebuffer" ::: VkFramebuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkCreateRenderPass :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkRenderPassCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pRenderPass" ::: Ptr VkRenderPass) -> IO VkResult) - , pVkDestroyRenderPass :: FunPtr (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkGetRenderAreaGranularity :: FunPtr (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pGranularity" ::: Ptr VkExtent2D) -> IO ()) - , pVkCreateCommandPool :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkCommandPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCommandPool" ::: Ptr VkCommandPool) -> IO VkResult) - , pVkDestroyCommandPool :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkResetCommandPool :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolResetFlags) -> IO VkResult) - , pVkAllocateCommandBuffers :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkCommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO VkResult) - , pVkFreeCommandBuffers :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) - , pVkBeginCommandBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pBeginInfo" ::: Ptr VkCommandBufferBeginInfo) -> IO VkResult) - , pVkEndCommandBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO VkResult) - , pVkResetCommandBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("flags" ::: VkCommandBufferResetFlags) -> IO VkResult) - , pVkCmdBindPipeline :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("pipeline" ::: VkPipeline) -> IO ()) - , pVkCmdSetViewport :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr VkViewport) -> IO ()) - , pVkCmdSetScissor :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr VkRect2D) -> IO ()) - , pVkCmdSetLineWidth :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("lineWidth" ::: CFloat) -> IO ()) - , pVkCmdSetDepthBias :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ()) - , pVkCmdSetBlendConstants :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("blendConstants" ::: Ptr CFloat) -> IO ()) - , pVkCmdSetDepthBounds :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ()) - , pVkCmdSetStencilCompareMask :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ()) - , pVkCmdSetStencilWriteMask :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ()) - , pVkCmdSetStencilReference :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("reference" ::: Word32) -> IO ()) - , pVkCmdBindDescriptorSets :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ()) - , pVkCmdBindIndexBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("indexType" ::: VkIndexType) -> IO ()) - , pVkCmdBindVertexBuffers :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr VkBuffer) -> ("pOffsets" ::: Ptr VkDeviceSize) -> IO ()) - , pVkCmdDraw :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ()) - , pVkCmdDrawIndexed :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ()) - , pVkCmdDrawIndirect :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) - , pVkCmdDrawIndexedIndirect :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) - , pVkCmdDispatch :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) - , pVkCmdDispatchIndirect :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> IO ()) - , pVkCmdCopyBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferCopy) -> IO ()) - , pVkCmdCopyImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageCopy) -> IO ()) - , pVkCmdBlitImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageBlit) -> ("filter" ::: VkFilter) -> IO ()) - , pVkCmdCopyBufferToImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) - , pVkCmdCopyImageToBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) - , pVkCmdUpdateBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("dataSize" ::: VkDeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) - , pVkCmdFillBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("data" ::: Word32) -> IO ()) - , pVkCmdClearColorImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pColor" ::: Ptr VkClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) - , pVkCmdClearDepthStencilImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pDepthStencil" ::: Ptr VkClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) - , pVkCmdClearAttachments :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr VkClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr VkClearRect) -> IO ()) - , pVkCmdResolveImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageResolve) -> IO ()) - , pVkCmdSetEvent :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) - , pVkCmdResetEvent :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) - , pVkCmdWaitEvents :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr VkEvent) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) - , pVkCmdPipelineBarrier :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("dependencyFlags" ::: VkDependencyFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) - , pVkCmdBeginQuery :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> ("flags" ::: VkQueryControlFlags) -> IO ()) - , pVkCmdEndQuery :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) - , pVkCmdResetQueryPool :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) - , pVkCmdWriteTimestamp :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) - , pVkCmdCopyQueryPoolResults :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO ()) - , pVkCmdPushConstants :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("layout" ::: VkPipelineLayout) -> ("stageFlags" ::: VkShaderStageFlags) -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO ()) - , pVkCmdBeginRenderPass :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pRenderPassBegin" ::: Ptr VkRenderPassBeginInfo) -> ("contents" ::: VkSubpassContents) -> IO ()) - , pVkCmdNextSubpass :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("contents" ::: VkSubpassContents) -> IO ()) - , pVkCmdEndRenderPass :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) - , pVkCmdExecuteCommands :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) - , pVkCreateSharedSwapchainsKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> IO VkResult) - , pVkCreateSwapchainKHR :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchain" ::: Ptr VkSwapchainKHR) -> IO VkResult) - , pVkDestroySwapchainKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkGetSwapchainImagesKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr VkImage) -> IO VkResult) - , pVkAcquireNextImageKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("timeout" ::: Word64) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) - , pVkQueuePresentKHR :: FunPtr (("queue" ::: VkQueue) -> ("pPresentInfo" ::: Ptr VkPresentInfoKHR) -> IO VkResult) - , pVkDebugMarkerSetObjectNameEXT :: FunPtr (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugMarkerObjectNameInfoEXT) -> IO VkResult) - , pVkDebugMarkerSetObjectTagEXT :: FunPtr (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugMarkerObjectTagInfoEXT) -> IO VkResult) - , pVkCmdDebugMarkerBeginEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) - , pVkCmdDebugMarkerEndEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) - , pVkCmdDebugMarkerInsertEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) - , pVkGetMemoryWin32HandleNV :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) - , pVkCmdDrawIndirectCountAMD :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) - , pVkCmdDrawIndexedIndirectCountAMD :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) - , pVkCmdProcessCommandsNVX :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pProcessCommandsInfo" ::: Ptr VkCmdProcessCommandsInfoNVX) -> IO ()) - , pVkCmdReserveSpaceForCommandsNVX :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pReserveSpaceInfo" ::: Ptr VkCmdReserveSpaceForCommandsInfoNVX) -> IO ()) - , pVkCreateIndirectCommandsLayoutNVX :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkIndirectCommandsLayoutCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr VkIndirectCommandsLayoutNVX) -> IO VkResult) - , pVkDestroyIndirectCommandsLayoutNVX :: FunPtr (("device" ::: VkDevice) -> ("indirectCommandsLayout" ::: VkIndirectCommandsLayoutNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkCreateObjectTableNVX :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkObjectTableCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pObjectTable" ::: Ptr VkObjectTableNVX) -> IO VkResult) - , pVkDestroyObjectTableNVX :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkRegisterObjectsNVX :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("ppObjectTableEntries" ::: Ptr (Ptr VkObjectTableEntryNVX)) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) - , pVkUnregisterObjectsNVX :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("pObjectEntryTypes" ::: Ptr VkObjectEntryTypeNVX) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) - , pVkCmdPushDescriptorSetKHR :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> IO ()) - , pVkTrimCommandPool :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolTrimFlags) -> IO ()) - , pVkGetMemoryWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkMemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) - , pVkGetMemoryWin32HandlePropertiesKHR :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("handle" ::: HANDLE) -> ("pMemoryWin32HandleProperties" ::: Ptr VkMemoryWin32HandlePropertiesKHR) -> IO VkResult) - , pVkGetMemoryFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkMemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) - , pVkGetMemoryFdPropertiesKHR :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr VkMemoryFdPropertiesKHR) -> IO VkResult) - , pVkGetSemaphoreWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkSemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) - , pVkImportSemaphoreWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr VkImportSemaphoreWin32HandleInfoKHR) -> IO VkResult) - , pVkGetSemaphoreFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkSemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) - , pVkImportSemaphoreFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportSemaphoreFdInfo" ::: Ptr VkImportSemaphoreFdInfoKHR) -> IO VkResult) - , pVkGetFenceWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkFenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) - , pVkImportFenceWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportFenceWin32HandleInfo" ::: Ptr VkImportFenceWin32HandleInfoKHR) -> IO VkResult) - , pVkGetFenceFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkFenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) - , pVkImportFenceFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportFenceFdInfo" ::: Ptr VkImportFenceFdInfoKHR) -> IO VkResult) - , pVkDisplayPowerControlEXT :: FunPtr (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayPowerInfo" ::: Ptr VkDisplayPowerInfoEXT) -> IO VkResult) - , pVkRegisterDeviceEventEXT :: FunPtr (("device" ::: VkDevice) -> ("pDeviceEventInfo" ::: Ptr VkDeviceEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) - , pVkRegisterDisplayEventEXT :: FunPtr (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayEventInfo" ::: Ptr VkDisplayEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) - , pVkGetSwapchainCounterEXT :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("counter" ::: VkSurfaceCounterFlagBitsEXT) -> ("pCounterValue" ::: Ptr Word64) -> IO VkResult) - , pVkGetDeviceGroupPeerMemoryFeatures :: FunPtr (("device" ::: VkDevice) -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr VkPeerMemoryFeatureFlags) -> IO ()) - , pVkBindBufferMemory2 :: FunPtr (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindBufferMemoryInfo) -> IO VkResult) - , pVkBindImageMemory2 :: FunPtr (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindImageMemoryInfo) -> IO VkResult) - , pVkCmdSetDeviceMask :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("deviceMask" ::: Word32) -> IO ()) - , pVkGetDeviceGroupPresentCapabilitiesKHR :: FunPtr (("device" ::: VkDevice) -> ("pDeviceGroupPresentCapabilities" ::: Ptr VkDeviceGroupPresentCapabilitiesKHR) -> IO VkResult) - , pVkGetDeviceGroupSurfacePresentModesKHR :: FunPtr (("device" ::: VkDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pModes" ::: Ptr VkDeviceGroupPresentModeFlagsKHR) -> IO VkResult) - , pVkAcquireNextImage2KHR :: FunPtr (("device" ::: VkDevice) -> ("pAcquireInfo" ::: Ptr VkAcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) - , pVkCmdDispatchBase :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) - , pVkCreateDescriptorUpdateTemplate :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr VkDescriptorUpdateTemplate) -> IO VkResult) - , pVkDestroyDescriptorUpdateTemplate :: FunPtr (("device" ::: VkDevice) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkUpdateDescriptorSetWithTemplate :: FunPtr (("device" ::: VkDevice) -> ("descriptorSet" ::: VkDescriptorSet) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pData" ::: Ptr ()) -> IO ()) - , pVkCmdPushDescriptorSetWithTemplateKHR :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO ()) - , pVkSetHdrMetadataEXT :: FunPtr (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> ("pMetadata" ::: Ptr VkHdrMetadataEXT) -> IO ()) - , pVkGetSwapchainStatusKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> IO VkResult) - , pVkGetRefreshCycleDurationGOOGLE :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pDisplayTimingProperties" ::: Ptr VkRefreshCycleDurationGOOGLE) -> IO VkResult) - , pVkGetPastPresentationTimingGOOGLE :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr VkPastPresentationTimingGOOGLE) -> IO VkResult) - , pVkCmdSetViewportWScalingNV :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr VkViewportWScalingNV) -> IO ()) - , pVkCmdSetDiscardRectangleEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr VkRect2D) -> IO ()) - , pVkCmdSetSampleLocationsEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pSampleLocationsInfo" ::: Ptr VkSampleLocationsInfoEXT) -> IO ()) - , pVkGetBufferMemoryRequirements2 :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkBufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) - , pVkGetImageMemoryRequirements2 :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) - , pVkGetImageSparseMemoryRequirements2 :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements2) -> IO ()) - , pVkCreateSamplerYcbcrConversion :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerYcbcrConversionCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr VkSamplerYcbcrConversion) -> IO VkResult) - , pVkDestroySamplerYcbcrConversion :: FunPtr (("device" ::: VkDevice) -> ("ycbcrConversion" ::: VkSamplerYcbcrConversion) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkGetDeviceQueue2 :: FunPtr (("device" ::: VkDevice) -> ("pQueueInfo" ::: Ptr VkDeviceQueueInfo2) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) - , pVkCreateValidationCacheEXT :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pValidationCache" ::: Ptr VkValidationCacheEXT) -> IO VkResult) - , pVkDestroyValidationCacheEXT :: FunPtr (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkGetValidationCacheDataEXT :: FunPtr (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) - , pVkMergeValidationCachesEXT :: FunPtr (("device" ::: VkDevice) -> ("dstCache" ::: VkValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkValidationCacheEXT) -> IO VkResult) - , pVkGetDescriptorSetLayoutSupport :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pSupport" ::: Ptr VkDescriptorSetLayoutSupport) -> IO ()) - , pVkGetSwapchainGrallocUsageANDROID :: FunPtr (("device" ::: VkDevice) -> ("format" ::: VkFormat) -> ("imageUsage" ::: VkImageUsageFlags) -> ("grallocUsage" ::: Ptr CInt) -> IO VkResult) - , pVkAcquireImageANDROID :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("nativeFenceFd" ::: CInt) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> IO VkResult) - , pVkQueueSignalReleaseImageANDROID :: FunPtr (("queue" ::: VkQueue) -> ("waitSemaphoreCount" ::: Word32) -> ("pWaitSemaphores" ::: Ptr VkSemaphore) -> ("image" ::: VkImage) -> ("pNativeFenceFd" ::: Ptr CInt) -> IO VkResult) - , pVkGetShaderInfoAMD :: FunPtr (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("shaderStage" ::: VkShaderStageFlagBits) -> ("infoType" ::: VkShaderInfoTypeAMD) -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO VkResult) - , pVkSetDebugUtilsObjectNameEXT :: FunPtr (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult) - , pVkSetDebugUtilsObjectTagEXT :: FunPtr (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult) - , pVkQueueBeginDebugUtilsLabelEXT :: FunPtr (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) - , pVkQueueEndDebugUtilsLabelEXT :: FunPtr (("queue" ::: VkQueue) -> IO ()) - , pVkQueueInsertDebugUtilsLabelEXT :: FunPtr (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) - , pVkCmdBeginDebugUtilsLabelEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) - , pVkCmdEndDebugUtilsLabelEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) - , pVkCmdInsertDebugUtilsLabelEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) - , pVkGetMemoryHostPointerPropertiesEXT :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr VkMemoryHostPointerPropertiesEXT) -> IO VkResult) - , pVkCmdWriteBufferMarkerAMD :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("marker" ::: Word32) -> IO ()) - , pVkGetAndroidHardwareBufferPropertiesANDROID :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: Ptr AHardwareBuffer) -> ("pProperties" ::: Ptr VkAndroidHardwareBufferPropertiesANDROID) -> IO VkResult) - , pVkGetMemoryAndroidHardwareBufferANDROID :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO VkResult) +, pVkDestroyDevice :: FunPtr (("device" ::: VkDevice) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkGetDeviceQueue :: FunPtr (("device" ::: VkDevice) -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) +, pVkQueueSubmit :: FunPtr (("queue" ::: VkQueue) -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr VkSubmitInfo) -> ("fence" ::: VkFence) -> IO VkResult) +, pVkQueueWaitIdle :: FunPtr (("queue" ::: VkQueue) -> IO VkResult) +, pVkDeviceWaitIdle :: FunPtr (("device" ::: VkDevice) -> IO VkResult) +, pVkAllocateMemory :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkMemoryAllocateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMemory" ::: Ptr VkDeviceMemory) -> IO VkResult) +, pVkFreeMemory :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkMapMemory :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("offset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("flags" ::: VkMemoryMapFlags) -> ("ppData" ::: Ptr (Ptr ())) -> IO VkResult) +, pVkUnmapMemory :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> IO ()) +, pVkFlushMappedMemoryRanges :: FunPtr (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) +, pVkInvalidateMappedMemoryRanges :: FunPtr (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) +, pVkGetDeviceMemoryCommitment :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pCommittedMemoryInBytes" ::: Ptr VkDeviceSize) -> IO ()) +, pVkGetBufferMemoryRequirements :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) +, pVkBindBufferMemory :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) +, pVkGetImageMemoryRequirements :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) +, pVkBindImageMemory :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) +, pVkGetImageSparseMemoryRequirements :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements) -> IO ()) +, pVkQueueBindSparse :: FunPtr (("queue" ::: VkQueue) -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr VkBindSparseInfo) -> ("fence" ::: VkFence) -> IO VkResult) +, pVkCreateFence :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFenceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) +, pVkDestroyFence :: FunPtr (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkResetFences :: FunPtr (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> IO VkResult) +, pVkGetFenceStatus :: FunPtr (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> IO VkResult) +, pVkWaitForFences :: FunPtr (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> ("waitAll" ::: VkBool32) -> ("timeout" ::: Word64) -> IO VkResult) +, pVkCreateSemaphore :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSemaphoreCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSemaphore" ::: Ptr VkSemaphore) -> IO VkResult) +, pVkDestroySemaphore :: FunPtr (("device" ::: VkDevice) -> ("semaphore" ::: VkSemaphore) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkCreateEvent :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkEventCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pEvent" ::: Ptr VkEvent) -> IO VkResult) +, pVkDestroyEvent :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkGetEventStatus :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) +, pVkSetEvent :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) +, pVkResetEvent :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) +, pVkCreateQueryPool :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkQueryPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pQueryPool" ::: Ptr VkQueryPool) -> IO VkResult) +, pVkDestroyQueryPool :: FunPtr (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkGetQueryPoolResults :: FunPtr (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO VkResult) +, pVkCreateBuffer :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pBuffer" ::: Ptr VkBuffer) -> IO VkResult) +, pVkDestroyBuffer :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkCreateBufferView :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkBufferView) -> IO VkResult) +, pVkDestroyBufferView :: FunPtr (("device" ::: VkDevice) -> ("bufferView" ::: VkBufferView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkCreateImage :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pImage" ::: Ptr VkImage) -> IO VkResult) +, pVkDestroyImage :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkGetImageSubresourceLayout :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSubresource" ::: Ptr VkImageSubresource) -> ("pLayout" ::: Ptr VkSubresourceLayout) -> IO ()) +, pVkCreateImageView :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkImageView) -> IO VkResult) +, pVkDestroyImageView :: FunPtr (("device" ::: VkDevice) -> ("imageView" ::: VkImageView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkCreateShaderModule :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkShaderModuleCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pShaderModule" ::: Ptr VkShaderModule) -> IO VkResult) +, pVkDestroyShaderModule :: FunPtr (("device" ::: VkDevice) -> ("shaderModule" ::: VkShaderModule) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkCreatePipelineCache :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineCache" ::: Ptr VkPipelineCache) -> IO VkResult) +, pVkDestroyPipelineCache :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkGetPipelineCacheData :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) +, pVkMergePipelineCaches :: FunPtr (("device" ::: VkDevice) -> ("dstCache" ::: VkPipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkPipelineCache) -> IO VkResult) +, pVkCreateGraphicsPipelines :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkGraphicsPipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) +, pVkCreateComputePipelines :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkComputePipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) +, pVkDestroyPipeline :: FunPtr (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkCreatePipelineLayout :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineLayout" ::: Ptr VkPipelineLayout) -> IO VkResult) +, pVkDestroyPipelineLayout :: FunPtr (("device" ::: VkDevice) -> ("pipelineLayout" ::: VkPipelineLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkCreateSampler :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSampler" ::: Ptr VkSampler) -> IO VkResult) +, pVkDestroySampler :: FunPtr (("device" ::: VkDevice) -> ("sampler" ::: VkSampler) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkCreateDescriptorSetLayout :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSetLayout" ::: Ptr VkDescriptorSetLayout) -> IO VkResult) +, pVkDestroyDescriptorSetLayout :: FunPtr (("device" ::: VkDevice) -> ("descriptorSetLayout" ::: VkDescriptorSetLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkCreateDescriptorPool :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorPool" ::: Ptr VkDescriptorPool) -> IO VkResult) +, pVkDestroyDescriptorPool :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkResetDescriptorPool :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("flags" ::: VkDescriptorPoolResetFlags) -> IO VkResult) +, pVkAllocateDescriptorSets :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkDescriptorSetAllocateInfo) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) +, pVkFreeDescriptorSets :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) +, pVkUpdateDescriptorSets :: FunPtr (("device" ::: VkDevice) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr VkCopyDescriptorSet) -> IO ()) +, pVkCreateFramebuffer :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFramebufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFramebuffer" ::: Ptr VkFramebuffer) -> IO VkResult) +, pVkDestroyFramebuffer :: FunPtr (("device" ::: VkDevice) -> ("framebuffer" ::: VkFramebuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkCreateRenderPass :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkRenderPassCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pRenderPass" ::: Ptr VkRenderPass) -> IO VkResult) +, pVkDestroyRenderPass :: FunPtr (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkGetRenderAreaGranularity :: FunPtr (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pGranularity" ::: Ptr VkExtent2D) -> IO ()) +, pVkCreateCommandPool :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkCommandPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCommandPool" ::: Ptr VkCommandPool) -> IO VkResult) +, pVkDestroyCommandPool :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkResetCommandPool :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolResetFlags) -> IO VkResult) +, pVkAllocateCommandBuffers :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkCommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO VkResult) +, pVkFreeCommandBuffers :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) +, pVkBeginCommandBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pBeginInfo" ::: Ptr VkCommandBufferBeginInfo) -> IO VkResult) +, pVkEndCommandBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO VkResult) +, pVkResetCommandBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("flags" ::: VkCommandBufferResetFlags) -> IO VkResult) +, pVkCmdBindPipeline :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("pipeline" ::: VkPipeline) -> IO ()) +, pVkCmdSetViewport :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr VkViewport) -> IO ()) +, pVkCmdSetScissor :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr VkRect2D) -> IO ()) +, pVkCmdSetLineWidth :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("lineWidth" ::: CFloat) -> IO ()) +, pVkCmdSetDepthBias :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ()) +, pVkCmdSetBlendConstants :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("blendConstants" ::: Ptr CFloat) -> IO ()) +, pVkCmdSetDepthBounds :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ()) +, pVkCmdSetStencilCompareMask :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ()) +, pVkCmdSetStencilWriteMask :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ()) +, pVkCmdSetStencilReference :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("reference" ::: Word32) -> IO ()) +, pVkCmdBindDescriptorSets :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ()) +, pVkCmdBindIndexBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("indexType" ::: VkIndexType) -> IO ()) +, pVkCmdBindVertexBuffers :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr VkBuffer) -> ("pOffsets" ::: Ptr VkDeviceSize) -> IO ()) +, pVkCmdDraw :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ()) +, pVkCmdDrawIndexed :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ()) +, pVkCmdDrawIndirect :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) +, pVkCmdDrawIndexedIndirect :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) +, pVkCmdDispatch :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) +, pVkCmdDispatchIndirect :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> IO ()) +, pVkCmdCopyBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferCopy) -> IO ()) +, pVkCmdCopyImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageCopy) -> IO ()) +, pVkCmdBlitImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageBlit) -> ("filter" ::: VkFilter) -> IO ()) +, pVkCmdCopyBufferToImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) +, pVkCmdCopyImageToBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) +, pVkCmdUpdateBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("dataSize" ::: VkDeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) +, pVkCmdFillBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("data" ::: Word32) -> IO ()) +, pVkCmdClearColorImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pColor" ::: Ptr VkClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) +, pVkCmdClearDepthStencilImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pDepthStencil" ::: Ptr VkClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) +, pVkCmdClearAttachments :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr VkClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr VkClearRect) -> IO ()) +, pVkCmdResolveImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageResolve) -> IO ()) +, pVkCmdSetEvent :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) +, pVkCmdResetEvent :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) +, pVkCmdWaitEvents :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr VkEvent) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) +, pVkCmdPipelineBarrier :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("dependencyFlags" ::: VkDependencyFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) +, pVkCmdBeginQuery :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> ("flags" ::: VkQueryControlFlags) -> IO ()) +, pVkCmdEndQuery :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) +, pVkCmdResetQueryPool :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) +, pVkCmdWriteTimestamp :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) +, pVkCmdCopyQueryPoolResults :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO ()) +, pVkCmdPushConstants :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("layout" ::: VkPipelineLayout) -> ("stageFlags" ::: VkShaderStageFlags) -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO ()) +, pVkCmdBeginRenderPass :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pRenderPassBegin" ::: Ptr VkRenderPassBeginInfo) -> ("contents" ::: VkSubpassContents) -> IO ()) +, pVkCmdNextSubpass :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("contents" ::: VkSubpassContents) -> IO ()) +, pVkCmdEndRenderPass :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) +, pVkCmdExecuteCommands :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) +, pVkCreateSharedSwapchainsKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> IO VkResult) +, pVkCreateSwapchainKHR :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchain" ::: Ptr VkSwapchainKHR) -> IO VkResult) +, pVkDestroySwapchainKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkGetSwapchainImagesKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr VkImage) -> IO VkResult) +, pVkAcquireNextImageKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("timeout" ::: Word64) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) +, pVkQueuePresentKHR :: FunPtr (("queue" ::: VkQueue) -> ("pPresentInfo" ::: Ptr VkPresentInfoKHR) -> IO VkResult) +, pVkDebugMarkerSetObjectNameEXT :: FunPtr (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugMarkerObjectNameInfoEXT) -> IO VkResult) +, pVkDebugMarkerSetObjectTagEXT :: FunPtr (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugMarkerObjectTagInfoEXT) -> IO VkResult) +, pVkCmdDebugMarkerBeginEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) +, pVkCmdDebugMarkerEndEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) +, pVkCmdDebugMarkerInsertEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) +#if defined(VK_USE_PLATFORM_WIN32_KHR) +, pVkGetMemoryWin32HandleNV :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) +#endif +, pVkCmdDrawIndirectCountAMD :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) +, pVkCmdDrawIndexedIndirectCountAMD :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) +, pVkCmdProcessCommandsNVX :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pProcessCommandsInfo" ::: Ptr VkCmdProcessCommandsInfoNVX) -> IO ()) +, pVkCmdReserveSpaceForCommandsNVX :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pReserveSpaceInfo" ::: Ptr VkCmdReserveSpaceForCommandsInfoNVX) -> IO ()) +, pVkCreateIndirectCommandsLayoutNVX :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkIndirectCommandsLayoutCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr VkIndirectCommandsLayoutNVX) -> IO VkResult) +, pVkDestroyIndirectCommandsLayoutNVX :: FunPtr (("device" ::: VkDevice) -> ("indirectCommandsLayout" ::: VkIndirectCommandsLayoutNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkCreateObjectTableNVX :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkObjectTableCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pObjectTable" ::: Ptr VkObjectTableNVX) -> IO VkResult) +, pVkDestroyObjectTableNVX :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkRegisterObjectsNVX :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("ppObjectTableEntries" ::: Ptr (Ptr VkObjectTableEntryNVX)) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) +, pVkUnregisterObjectsNVX :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("pObjectEntryTypes" ::: Ptr VkObjectEntryTypeNVX) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) +, pVkCmdPushDescriptorSetKHR :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> IO ()) +, pVkTrimCommandPool :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolTrimFlags) -> IO ()) +#if defined(VK_USE_PLATFORM_WIN32_KHR) +, pVkGetMemoryWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkMemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) +, pVkGetMemoryWin32HandlePropertiesKHR :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("handle" ::: HANDLE) -> ("pMemoryWin32HandleProperties" ::: Ptr VkMemoryWin32HandlePropertiesKHR) -> IO VkResult) +#endif +, pVkGetMemoryFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkMemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) +, pVkGetMemoryFdPropertiesKHR :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr VkMemoryFdPropertiesKHR) -> IO VkResult) +#if defined(VK_USE_PLATFORM_WIN32_KHR) +, pVkGetSemaphoreWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkSemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) +, pVkImportSemaphoreWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr VkImportSemaphoreWin32HandleInfoKHR) -> IO VkResult) +#endif +, pVkGetSemaphoreFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkSemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) +, pVkImportSemaphoreFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportSemaphoreFdInfo" ::: Ptr VkImportSemaphoreFdInfoKHR) -> IO VkResult) +#if defined(VK_USE_PLATFORM_WIN32_KHR) +, pVkGetFenceWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkFenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) +, pVkImportFenceWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportFenceWin32HandleInfo" ::: Ptr VkImportFenceWin32HandleInfoKHR) -> IO VkResult) +#endif +, pVkGetFenceFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkFenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) +, pVkImportFenceFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportFenceFdInfo" ::: Ptr VkImportFenceFdInfoKHR) -> IO VkResult) +, pVkDisplayPowerControlEXT :: FunPtr (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayPowerInfo" ::: Ptr VkDisplayPowerInfoEXT) -> IO VkResult) +, pVkRegisterDeviceEventEXT :: FunPtr (("device" ::: VkDevice) -> ("pDeviceEventInfo" ::: Ptr VkDeviceEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) +, pVkRegisterDisplayEventEXT :: FunPtr (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayEventInfo" ::: Ptr VkDisplayEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) +, pVkGetSwapchainCounterEXT :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("counter" ::: VkSurfaceCounterFlagBitsEXT) -> ("pCounterValue" ::: Ptr Word64) -> IO VkResult) +, pVkGetDeviceGroupPeerMemoryFeatures :: FunPtr (("device" ::: VkDevice) -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr VkPeerMemoryFeatureFlags) -> IO ()) +, pVkBindBufferMemory2 :: FunPtr (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindBufferMemoryInfo) -> IO VkResult) +, pVkBindImageMemory2 :: FunPtr (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindImageMemoryInfo) -> IO VkResult) +, pVkCmdSetDeviceMask :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("deviceMask" ::: Word32) -> IO ()) +, pVkGetDeviceGroupPresentCapabilitiesKHR :: FunPtr (("device" ::: VkDevice) -> ("pDeviceGroupPresentCapabilities" ::: Ptr VkDeviceGroupPresentCapabilitiesKHR) -> IO VkResult) +, pVkGetDeviceGroupSurfacePresentModesKHR :: FunPtr (("device" ::: VkDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pModes" ::: Ptr VkDeviceGroupPresentModeFlagsKHR) -> IO VkResult) +, pVkAcquireNextImage2KHR :: FunPtr (("device" ::: VkDevice) -> ("pAcquireInfo" ::: Ptr VkAcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) +, pVkCmdDispatchBase :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) +, pVkCreateDescriptorUpdateTemplate :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr VkDescriptorUpdateTemplate) -> IO VkResult) +, pVkDestroyDescriptorUpdateTemplate :: FunPtr (("device" ::: VkDevice) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkUpdateDescriptorSetWithTemplate :: FunPtr (("device" ::: VkDevice) -> ("descriptorSet" ::: VkDescriptorSet) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pData" ::: Ptr ()) -> IO ()) +, pVkCmdPushDescriptorSetWithTemplateKHR :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO ()) +, pVkSetHdrMetadataEXT :: FunPtr (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> ("pMetadata" ::: Ptr VkHdrMetadataEXT) -> IO ()) +, pVkGetSwapchainStatusKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> IO VkResult) +, pVkGetRefreshCycleDurationGOOGLE :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pDisplayTimingProperties" ::: Ptr VkRefreshCycleDurationGOOGLE) -> IO VkResult) +, pVkGetPastPresentationTimingGOOGLE :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr VkPastPresentationTimingGOOGLE) -> IO VkResult) +, pVkCmdSetViewportWScalingNV :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr VkViewportWScalingNV) -> IO ()) +, pVkCmdSetDiscardRectangleEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr VkRect2D) -> IO ()) +, pVkCmdSetSampleLocationsEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pSampleLocationsInfo" ::: Ptr VkSampleLocationsInfoEXT) -> IO ()) +, pVkGetBufferMemoryRequirements2 :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkBufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) +, pVkGetImageMemoryRequirements2 :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) +, pVkGetImageSparseMemoryRequirements2 :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements2) -> IO ()) +, pVkCreateSamplerYcbcrConversion :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerYcbcrConversionCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr VkSamplerYcbcrConversion) -> IO VkResult) +, pVkDestroySamplerYcbcrConversion :: FunPtr (("device" ::: VkDevice) -> ("ycbcrConversion" ::: VkSamplerYcbcrConversion) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkGetDeviceQueue2 :: FunPtr (("device" ::: VkDevice) -> ("pQueueInfo" ::: Ptr VkDeviceQueueInfo2) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) +, pVkCreateValidationCacheEXT :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pValidationCache" ::: Ptr VkValidationCacheEXT) -> IO VkResult) +, pVkDestroyValidationCacheEXT :: FunPtr (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkGetValidationCacheDataEXT :: FunPtr (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) +, pVkMergeValidationCachesEXT :: FunPtr (("device" ::: VkDevice) -> ("dstCache" ::: VkValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkValidationCacheEXT) -> IO VkResult) +, pVkGetDescriptorSetLayoutSupport :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pSupport" ::: Ptr VkDescriptorSetLayoutSupport) -> IO ()) +, pVkGetSwapchainGrallocUsageANDROID :: FunPtr (("device" ::: VkDevice) -> ("format" ::: VkFormat) -> ("imageUsage" ::: VkImageUsageFlags) -> ("grallocUsage" ::: Ptr CInt) -> IO VkResult) +, pVkAcquireImageANDROID :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("nativeFenceFd" ::: CInt) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> IO VkResult) +, pVkQueueSignalReleaseImageANDROID :: FunPtr (("queue" ::: VkQueue) -> ("waitSemaphoreCount" ::: Word32) -> ("pWaitSemaphores" ::: Ptr VkSemaphore) -> ("image" ::: VkImage) -> ("pNativeFenceFd" ::: Ptr CInt) -> IO VkResult) +, pVkGetShaderInfoAMD :: FunPtr (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("shaderStage" ::: VkShaderStageFlagBits) -> ("infoType" ::: VkShaderInfoTypeAMD) -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO VkResult) +, pVkSetDebugUtilsObjectNameEXT :: FunPtr (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult) +, pVkSetDebugUtilsObjectTagEXT :: FunPtr (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult) +, pVkQueueBeginDebugUtilsLabelEXT :: FunPtr (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) +, pVkQueueEndDebugUtilsLabelEXT :: FunPtr (("queue" ::: VkQueue) -> IO ()) +, pVkQueueInsertDebugUtilsLabelEXT :: FunPtr (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) +, pVkCmdBeginDebugUtilsLabelEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) +, pVkCmdEndDebugUtilsLabelEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) +, pVkCmdInsertDebugUtilsLabelEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) +, pVkGetMemoryHostPointerPropertiesEXT :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr VkMemoryHostPointerPropertiesEXT) -> IO VkResult) +, pVkCmdWriteBufferMarkerAMD :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("marker" ::: Word32) -> IO ()) +#if defined(VK_USE_PLATFORM_ANDROID_KHR) +, pVkGetAndroidHardwareBufferPropertiesANDROID :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: Ptr AHardwareBuffer) -> ("pProperties" ::: Ptr VkAndroidHardwareBufferPropertiesANDROID) -> IO VkResult) +, pVkGetMemoryAndroidHardwareBufferANDROID :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO VkResult) +#endif } + deriving (Show) data InstanceCmds = InstanceCmds { pVkDestroyInstance :: FunPtr (("instance" ::: VkInstance) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkEnumeratePhysicalDevices :: FunPtr (("instance" ::: VkInstance) -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr VkPhysicalDevice) -> IO VkResult) - , pVkGetInstanceProcAddr :: FunPtr (("instance" ::: VkInstance) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) - , pVkGetPhysicalDeviceProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties) -> IO ()) - , pVkGetPhysicalDeviceQueueFamilyProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties) -> IO ()) - , pVkGetPhysicalDeviceMemoryProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties) -> IO ()) - , pVkGetPhysicalDeviceFeatures :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures) -> IO ()) - , pVkGetPhysicalDeviceFormatProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties) -> IO ()) - , pVkGetPhysicalDeviceImageFormatProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties) -> IO VkResult) - , pVkCreateDevice :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pCreateInfo" ::: Ptr VkDeviceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDevice" ::: Ptr VkDevice) -> IO VkResult) - , pVkEnumerateDeviceLayerProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkLayerProperties) -> IO VkResult) - , pVkEnumerateDeviceExtensionProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkExtensionProperties) -> IO VkResult) - , pVkGetPhysicalDeviceSparseImageFormatProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("samples" ::: VkSampleCountFlagBits) -> ("usage" ::: VkImageUsageFlags) -> ("tiling" ::: VkImageTiling) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties) -> IO ()) - , pVkCreateAndroidSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkAndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) - , pVkGetPhysicalDeviceDisplayPropertiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPropertiesKHR) -> IO VkResult) - , pVkGetPhysicalDeviceDisplayPlanePropertiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPlanePropertiesKHR) -> IO VkResult) - , pVkGetDisplayPlaneSupportedDisplaysKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr VkDisplayKHR) -> IO VkResult) - , pVkGetDisplayModePropertiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayModePropertiesKHR) -> IO VkResult) - , pVkCreateDisplayModeKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pCreateInfo" ::: Ptr VkDisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMode" ::: Ptr VkDisplayModeKHR) -> IO VkResult) - , pVkGetDisplayPlaneCapabilitiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("mode" ::: VkDisplayModeKHR) -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr VkDisplayPlaneCapabilitiesKHR) -> IO VkResult) - , pVkCreateDisplayPlaneSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) - , pVkCreateMirSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMirSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) - , pVkGetPhysicalDeviceMirPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr MirConnection) -> IO VkBool32) - , pVkDestroySurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("surface" ::: VkSurfaceKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkGetPhysicalDeviceSurfaceSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("surface" ::: VkSurfaceKHR) -> ("pSupported" ::: Ptr VkBool32) -> IO VkResult) - , pVkGetPhysicalDeviceSurfaceCapabilitiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilitiesKHR) -> IO VkResult) - , pVkGetPhysicalDeviceSurfaceFormatsKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormatKHR) -> IO VkResult) - , pVkGetPhysicalDeviceSurfacePresentModesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr VkPresentModeKHR) -> IO VkResult) - , pVkCreateViSurfaceNN :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) - , pVkCreateWaylandSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) - , pVkGetPhysicalDeviceWaylandPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("display" ::: Ptr Wl_display) -> IO VkBool32) - , pVkCreateWin32SurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWin32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) - , pVkGetPhysicalDeviceWin32PresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> IO VkBool32) - , pVkCreateXlibSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) - , pVkGetPhysicalDeviceXlibPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> ("visualID" ::: VisualID) -> IO VkBool32) - , pVkCreateXcbSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) - , pVkGetPhysicalDeviceXcbPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr Xcb_connection_t) -> ("visual_id" ::: Xcb_visualid_t) -> IO VkBool32) - , pVkCreateDebugReportCallbackEXT :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCallback" ::: Ptr VkDebugReportCallbackEXT) -> IO VkResult) - , pVkDestroyDebugReportCallbackEXT :: FunPtr (("instance" ::: VkInstance) -> ("callback" ::: VkDebugReportCallbackEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkDebugReportMessageEXT :: FunPtr (("instance" ::: VkInstance) -> ("flags" ::: VkDebugReportFlagsEXT) -> ("objectType" ::: VkDebugReportObjectTypeEXT) -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO ()) - , pVkGetPhysicalDeviceExternalImageFormatPropertiesNV :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("externalHandleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr VkExternalImageFormatPropertiesNV) -> IO VkResult) - , pVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkDeviceGeneratedCommandsFeaturesNVX) -> ("pLimits" ::: Ptr VkDeviceGeneratedCommandsLimitsNVX) -> IO ()) - , pVkGetPhysicalDeviceFeatures2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures2) -> IO ()) - , pVkGetPhysicalDeviceProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties2) -> IO ()) - , pVkGetPhysicalDeviceFormatProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties2) -> IO ()) - , pVkGetPhysicalDeviceImageFormatProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pImageFormatInfo" ::: Ptr VkPhysicalDeviceImageFormatInfo2) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties2) -> IO VkResult) - , pVkGetPhysicalDeviceQueueFamilyProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties2) -> IO ()) - , pVkGetPhysicalDeviceMemoryProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties2) -> IO ()) - , pVkGetPhysicalDeviceSparseImageFormatProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFormatInfo" ::: Ptr VkPhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties2) -> IO ()) - , pVkGetPhysicalDeviceExternalBufferProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalBufferInfo" ::: Ptr VkPhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr VkExternalBufferProperties) -> IO ()) - , pVkGetPhysicalDeviceExternalSemaphoreProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalSemaphoreInfo" ::: Ptr VkPhysicalDeviceExternalSemaphoreInfo) -> ("pExternalSemaphoreProperties" ::: Ptr VkExternalSemaphoreProperties) -> IO ()) - , pVkGetPhysicalDeviceExternalFenceProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalFenceInfo" ::: Ptr VkPhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr VkExternalFenceProperties) -> IO ()) - , pVkReleaseDisplayEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> IO VkResult) - , pVkAcquireXlibDisplayEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("display" ::: VkDisplayKHR) -> IO VkResult) - , pVkGetRandROutputDisplayEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("rrOutput" ::: RROutput) -> ("pDisplay" ::: Ptr VkDisplayKHR) -> IO VkResult) - , pVkGetPhysicalDeviceSurfaceCapabilities2EXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2EXT) -> IO VkResult) - , pVkEnumeratePhysicalDeviceGroups :: FunPtr (("instance" ::: VkInstance) -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr VkPhysicalDeviceGroupProperties) -> IO VkResult) - , pVkGetPhysicalDevicePresentRectanglesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr VkRect2D) -> IO VkResult) - , pVkCreateIOSSurfaceMVK :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkIOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) - , pVkCreateMacOSSurfaceMVK :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) - , pVkGetPhysicalDeviceMultisamplePropertiesEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("samples" ::: VkSampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr VkMultisamplePropertiesEXT) -> IO ()) - , pVkGetPhysicalDeviceSurfaceCapabilities2KHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2KHR) -> IO VkResult) - , pVkGetPhysicalDeviceSurfaceFormats2KHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormat2KHR) -> IO VkResult) - , pVkCreateDebugUtilsMessengerEXT :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult) - , pVkDestroyDebugUtilsMessengerEXT :: FunPtr (("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) - , pVkSubmitDebugUtilsMessageEXT :: FunPtr (("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO ()) +, pVkEnumeratePhysicalDevices :: FunPtr (("instance" ::: VkInstance) -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr VkPhysicalDevice) -> IO VkResult) +, pVkGetInstanceProcAddr :: FunPtr (("instance" ::: VkInstance) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) +, pVkGetPhysicalDeviceProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties) -> IO ()) +, pVkGetPhysicalDeviceQueueFamilyProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties) -> IO ()) +, pVkGetPhysicalDeviceMemoryProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties) -> IO ()) +, pVkGetPhysicalDeviceFeatures :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures) -> IO ()) +, pVkGetPhysicalDeviceFormatProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties) -> IO ()) +, pVkGetPhysicalDeviceImageFormatProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties) -> IO VkResult) +, pVkCreateDevice :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pCreateInfo" ::: Ptr VkDeviceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDevice" ::: Ptr VkDevice) -> IO VkResult) +, pVkEnumerateDeviceLayerProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkLayerProperties) -> IO VkResult) +, pVkEnumerateDeviceExtensionProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkExtensionProperties) -> IO VkResult) +, pVkGetPhysicalDeviceSparseImageFormatProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("samples" ::: VkSampleCountFlagBits) -> ("usage" ::: VkImageUsageFlags) -> ("tiling" ::: VkImageTiling) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties) -> IO ()) +#if defined(VK_USE_PLATFORM_ANDROID_KHR) +, pVkCreateAndroidSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkAndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +#endif +, pVkGetPhysicalDeviceDisplayPropertiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPropertiesKHR) -> IO VkResult) +, pVkGetPhysicalDeviceDisplayPlanePropertiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPlanePropertiesKHR) -> IO VkResult) +, pVkGetDisplayPlaneSupportedDisplaysKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr VkDisplayKHR) -> IO VkResult) +, pVkGetDisplayModePropertiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayModePropertiesKHR) -> IO VkResult) +, pVkCreateDisplayModeKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pCreateInfo" ::: Ptr VkDisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMode" ::: Ptr VkDisplayModeKHR) -> IO VkResult) +, pVkGetDisplayPlaneCapabilitiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("mode" ::: VkDisplayModeKHR) -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr VkDisplayPlaneCapabilitiesKHR) -> IO VkResult) +, pVkCreateDisplayPlaneSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +#if defined(VK_USE_PLATFORM_MIR_KHR) +, pVkCreateMirSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMirSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +, pVkGetPhysicalDeviceMirPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr MirConnection) -> IO VkBool32) +#endif +, pVkDestroySurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("surface" ::: VkSurfaceKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkGetPhysicalDeviceSurfaceSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("surface" ::: VkSurfaceKHR) -> ("pSupported" ::: Ptr VkBool32) -> IO VkResult) +, pVkGetPhysicalDeviceSurfaceCapabilitiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilitiesKHR) -> IO VkResult) +, pVkGetPhysicalDeviceSurfaceFormatsKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormatKHR) -> IO VkResult) +, pVkGetPhysicalDeviceSurfacePresentModesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr VkPresentModeKHR) -> IO VkResult) +#if defined(VK_USE_PLATFORM_VI_NN) +, pVkCreateViSurfaceNN :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +#endif +#if defined(VK_USE_PLATFORM_WAYLAND_KHR) +, pVkCreateWaylandSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +, pVkGetPhysicalDeviceWaylandPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("display" ::: Ptr Wl_display) -> IO VkBool32) +#endif +#if defined(VK_USE_PLATFORM_WIN32_KHR) +, pVkCreateWin32SurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWin32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +, pVkGetPhysicalDeviceWin32PresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> IO VkBool32) +#endif +#if defined(VK_USE_PLATFORM_XLIB_KHR) +, pVkCreateXlibSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +, pVkGetPhysicalDeviceXlibPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> ("visualID" ::: VisualID) -> IO VkBool32) +#endif +#if defined(VK_USE_PLATFORM_XCB_KHR) +, pVkCreateXcbSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +, pVkGetPhysicalDeviceXcbPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr Xcb_connection_t) -> ("visual_id" ::: Xcb_visualid_t) -> IO VkBool32) +#endif +, pVkCreateDebugReportCallbackEXT :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCallback" ::: Ptr VkDebugReportCallbackEXT) -> IO VkResult) +, pVkDestroyDebugReportCallbackEXT :: FunPtr (("instance" ::: VkInstance) -> ("callback" ::: VkDebugReportCallbackEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkDebugReportMessageEXT :: FunPtr (("instance" ::: VkInstance) -> ("flags" ::: VkDebugReportFlagsEXT) -> ("objectType" ::: VkDebugReportObjectTypeEXT) -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO ()) +, pVkGetPhysicalDeviceExternalImageFormatPropertiesNV :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("externalHandleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr VkExternalImageFormatPropertiesNV) -> IO VkResult) +, pVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkDeviceGeneratedCommandsFeaturesNVX) -> ("pLimits" ::: Ptr VkDeviceGeneratedCommandsLimitsNVX) -> IO ()) +, pVkGetPhysicalDeviceFeatures2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures2) -> IO ()) +, pVkGetPhysicalDeviceProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties2) -> IO ()) +, pVkGetPhysicalDeviceFormatProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties2) -> IO ()) +, pVkGetPhysicalDeviceImageFormatProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pImageFormatInfo" ::: Ptr VkPhysicalDeviceImageFormatInfo2) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties2) -> IO VkResult) +, pVkGetPhysicalDeviceQueueFamilyProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties2) -> IO ()) +, pVkGetPhysicalDeviceMemoryProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties2) -> IO ()) +, pVkGetPhysicalDeviceSparseImageFormatProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFormatInfo" ::: Ptr VkPhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties2) -> IO ()) +, pVkGetPhysicalDeviceExternalBufferProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalBufferInfo" ::: Ptr VkPhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr VkExternalBufferProperties) -> IO ()) +, pVkGetPhysicalDeviceExternalSemaphoreProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalSemaphoreInfo" ::: Ptr VkPhysicalDeviceExternalSemaphoreInfo) -> ("pExternalSemaphoreProperties" ::: Ptr VkExternalSemaphoreProperties) -> IO ()) +, pVkGetPhysicalDeviceExternalFenceProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalFenceInfo" ::: Ptr VkPhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr VkExternalFenceProperties) -> IO ()) +, pVkReleaseDisplayEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> IO VkResult) +#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT) +, pVkAcquireXlibDisplayEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("display" ::: VkDisplayKHR) -> IO VkResult) +, pVkGetRandROutputDisplayEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("rrOutput" ::: RROutput) -> ("pDisplay" ::: Ptr VkDisplayKHR) -> IO VkResult) +#endif +, pVkGetPhysicalDeviceSurfaceCapabilities2EXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2EXT) -> IO VkResult) +, pVkEnumeratePhysicalDeviceGroups :: FunPtr (("instance" ::: VkInstance) -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr VkPhysicalDeviceGroupProperties) -> IO VkResult) +, pVkGetPhysicalDevicePresentRectanglesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr VkRect2D) -> IO VkResult) +#if defined(VK_USE_PLATFORM_IOS_MVK) +, pVkCreateIOSSurfaceMVK :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkIOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +#endif +#if defined(VK_USE_PLATFORM_MACOS_MVK) +, pVkCreateMacOSSurfaceMVK :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +#endif +, pVkGetPhysicalDeviceMultisamplePropertiesEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("samples" ::: VkSampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr VkMultisamplePropertiesEXT) -> IO ()) +, pVkGetPhysicalDeviceSurfaceCapabilities2KHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2KHR) -> IO VkResult) +, pVkGetPhysicalDeviceSurfaceFormats2KHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormat2KHR) -> IO VkResult) +, pVkCreateDebugUtilsMessengerEXT :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult) +, pVkDestroyDebugUtilsMessengerEXT :: FunPtr (("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) +, pVkSubmitDebugUtilsMessageEXT :: FunPtr (("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO ()) } + deriving (Show) initDeviceCmds :: VkDevice -> IO DeviceCmds initDeviceCmds handle = DeviceCmds @@ -859,7 +1518,9 @@ initDeviceCmds handle = DeviceCmds <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDebugMarkerBeginEXT\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDebugMarkerEndEXT\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDebugMarkerInsertEXT\NUL"#)) +#if defined(VK_USE_PLATFORM_WIN32_KHR) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryWin32HandleNV\NUL"#)) +#endif <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDrawIndirectCountAMD\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdDrawIndexedIndirectCountAMD\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdProcessCommandsNVX\NUL"#)) @@ -872,16 +1533,22 @@ initDeviceCmds handle = DeviceCmds <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkUnregisterObjectsNVX\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdPushDescriptorSetKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkTrimCommandPool\NUL"#)) +#if defined(VK_USE_PLATFORM_WIN32_KHR) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryWin32HandleKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryWin32HandlePropertiesKHR\NUL"#)) +#endif <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryFdKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryFdPropertiesKHR\NUL"#)) +#if defined(VK_USE_PLATFORM_WIN32_KHR) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetSemaphoreWin32HandleKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkImportSemaphoreWin32HandleKHR\NUL"#)) +#endif <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetSemaphoreFdKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkImportSemaphoreFdKHR\NUL"#)) +#if defined(VK_USE_PLATFORM_WIN32_KHR) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetFenceWin32HandleKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkImportFenceWin32HandleKHR\NUL"#)) +#endif <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetFenceFdKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkImportFenceFdKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkDisplayPowerControlEXT\NUL"#)) @@ -932,8 +1599,10 @@ initDeviceCmds handle = DeviceCmds <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdInsertDebugUtilsLabelEXT\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryHostPointerPropertiesEXT\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkCmdWriteBufferMarkerAMD\NUL"#)) +#if defined(VK_USE_PLATFORM_ANDROID_KHR) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetAndroidHardwareBufferPropertiesANDROID\NUL"#)) <*> (castPtrToFunPtr <$> vkGetDeviceProcAddr handle (GHC.Ptr.Ptr "vkGetMemoryAndroidHardwareBufferANDROID\NUL"#)) +#endif initInstanceCmds :: VkInstance -> IO InstanceCmds initInstanceCmds handle = InstanceCmds @@ -950,7 +1619,9 @@ initInstanceCmds handle = InstanceCmds <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkEnumerateDeviceLayerProperties\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkEnumerateDeviceExtensionProperties\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSparseImageFormatProperties\NUL"#)) +#if defined(VK_USE_PLATFORM_ANDROID_KHR) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateAndroidSurfaceKHR\NUL"#)) +#endif <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceDisplayPropertiesKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceDisplayPlanePropertiesKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetDisplayPlaneSupportedDisplaysKHR\NUL"#)) @@ -958,22 +1629,34 @@ initInstanceCmds handle = InstanceCmds <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateDisplayModeKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetDisplayPlaneCapabilitiesKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateDisplayPlaneSurfaceKHR\NUL"#)) +#if defined(VK_USE_PLATFORM_MIR_KHR) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateMirSurfaceKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceMirPresentationSupportKHR\NUL"#)) +#endif <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkDestroySurfaceKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfaceSupportKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfaceCapabilitiesKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfaceFormatsKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfacePresentModesKHR\NUL"#)) +#if defined(VK_USE_PLATFORM_VI_NN) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateViSurfaceNN\NUL"#)) +#endif +#if defined(VK_USE_PLATFORM_WAYLAND_KHR) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateWaylandSurfaceKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceWaylandPresentationSupportKHR\NUL"#)) +#endif +#if defined(VK_USE_PLATFORM_WIN32_KHR) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateWin32SurfaceKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceWin32PresentationSupportKHR\NUL"#)) +#endif +#if defined(VK_USE_PLATFORM_XLIB_KHR) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateXlibSurfaceKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceXlibPresentationSupportKHR\NUL"#)) +#endif +#if defined(VK_USE_PLATFORM_XCB_KHR) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateXcbSurfaceKHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceXcbPresentationSupportKHR\NUL"#)) +#endif <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateDebugReportCallbackEXT\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkDestroyDebugReportCallbackEXT\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkDebugReportMessageEXT\NUL"#)) @@ -990,13 +1673,19 @@ initInstanceCmds handle = InstanceCmds <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceExternalSemaphoreProperties\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceExternalFenceProperties\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkReleaseDisplayEXT\NUL"#)) +#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkAcquireXlibDisplayEXT\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetRandROutputDisplayEXT\NUL"#)) +#endif <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfaceCapabilities2EXT\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkEnumeratePhysicalDeviceGroups\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDevicePresentRectanglesKHR\NUL"#)) +#if defined(VK_USE_PLATFORM_IOS_MVK) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateIOSSurfaceMVK\NUL"#)) +#endif +#if defined(VK_USE_PLATFORM_MACOS_MVK) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkCreateMacOSSurfaceMVK\NUL"#)) +#endif <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceMultisamplePropertiesEXT\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfaceCapabilities2KHR\NUL"#)) <*> (castPtrToFunPtr <$> vkGetInstanceProcAddr handle (GHC.Ptr.Ptr "vkGetPhysicalDeviceSurfaceFormats2KHR\NUL"#)) @@ -1268,8 +1957,10 @@ hasCmdDebugMarkerEndEXT :: DeviceCmds -> Bool hasCmdDebugMarkerEndEXT = (/= nullFunPtr) . pVkCmdDebugMarkerEndEXT hasCmdDebugMarkerInsertEXT :: DeviceCmds -> Bool hasCmdDebugMarkerInsertEXT = (/= nullFunPtr) . pVkCmdDebugMarkerInsertEXT +#if defined(VK_USE_PLATFORM_WIN32_KHR) hasGetMemoryWin32HandleNV :: DeviceCmds -> Bool hasGetMemoryWin32HandleNV = (/= nullFunPtr) . pVkGetMemoryWin32HandleNV +#endif hasCmdDrawIndirectCountAMD :: DeviceCmds -> Bool hasCmdDrawIndirectCountAMD = (/= nullFunPtr) . pVkCmdDrawIndirectCountAMD hasCmdDrawIndexedIndirectCountAMD :: DeviceCmds -> Bool @@ -1294,26 +1985,32 @@ hasCmdPushDescriptorSetKHR :: DeviceCmds -> Bool hasCmdPushDescriptorSetKHR = (/= nullFunPtr) . pVkCmdPushDescriptorSetKHR hasTrimCommandPool :: DeviceCmds -> Bool hasTrimCommandPool = (/= nullFunPtr) . pVkTrimCommandPool +#if defined(VK_USE_PLATFORM_WIN32_KHR) hasGetMemoryWin32HandleKHR :: DeviceCmds -> Bool hasGetMemoryWin32HandleKHR = (/= nullFunPtr) . pVkGetMemoryWin32HandleKHR hasGetMemoryWin32HandlePropertiesKHR :: DeviceCmds -> Bool hasGetMemoryWin32HandlePropertiesKHR = (/= nullFunPtr) . pVkGetMemoryWin32HandlePropertiesKHR +#endif hasGetMemoryFdKHR :: DeviceCmds -> Bool hasGetMemoryFdKHR = (/= nullFunPtr) . pVkGetMemoryFdKHR hasGetMemoryFdPropertiesKHR :: DeviceCmds -> Bool hasGetMemoryFdPropertiesKHR = (/= nullFunPtr) . pVkGetMemoryFdPropertiesKHR +#if defined(VK_USE_PLATFORM_WIN32_KHR) hasGetSemaphoreWin32HandleKHR :: DeviceCmds -> Bool hasGetSemaphoreWin32HandleKHR = (/= nullFunPtr) . pVkGetSemaphoreWin32HandleKHR hasImportSemaphoreWin32HandleKHR :: DeviceCmds -> Bool hasImportSemaphoreWin32HandleKHR = (/= nullFunPtr) . pVkImportSemaphoreWin32HandleKHR +#endif hasGetSemaphoreFdKHR :: DeviceCmds -> Bool hasGetSemaphoreFdKHR = (/= nullFunPtr) . pVkGetSemaphoreFdKHR hasImportSemaphoreFdKHR :: DeviceCmds -> Bool hasImportSemaphoreFdKHR = (/= nullFunPtr) . pVkImportSemaphoreFdKHR +#if defined(VK_USE_PLATFORM_WIN32_KHR) hasGetFenceWin32HandleKHR :: DeviceCmds -> Bool hasGetFenceWin32HandleKHR = (/= nullFunPtr) . pVkGetFenceWin32HandleKHR hasImportFenceWin32HandleKHR :: DeviceCmds -> Bool hasImportFenceWin32HandleKHR = (/= nullFunPtr) . pVkImportFenceWin32HandleKHR +#endif hasGetFenceFdKHR :: DeviceCmds -> Bool hasGetFenceFdKHR = (/= nullFunPtr) . pVkGetFenceFdKHR hasImportFenceFdKHR :: DeviceCmds -> Bool @@ -1414,10 +2111,12 @@ hasGetMemoryHostPointerPropertiesEXT :: DeviceCmds -> Bool hasGetMemoryHostPointerPropertiesEXT = (/= nullFunPtr) . pVkGetMemoryHostPointerPropertiesEXT hasCmdWriteBufferMarkerAMD :: DeviceCmds -> Bool hasCmdWriteBufferMarkerAMD = (/= nullFunPtr) . pVkCmdWriteBufferMarkerAMD +#if defined(VK_USE_PLATFORM_ANDROID_KHR) hasGetAndroidHardwareBufferPropertiesANDROID :: DeviceCmds -> Bool hasGetAndroidHardwareBufferPropertiesANDROID = (/= nullFunPtr) . pVkGetAndroidHardwareBufferPropertiesANDROID hasGetMemoryAndroidHardwareBufferANDROID :: DeviceCmds -> Bool hasGetMemoryAndroidHardwareBufferANDROID = (/= nullFunPtr) . pVkGetMemoryAndroidHardwareBufferANDROID +#endif hasDestroyInstance :: InstanceCmds -> Bool hasDestroyInstance = (/= nullFunPtr) . pVkDestroyInstance @@ -1445,8 +2144,10 @@ hasEnumerateDeviceExtensionProperties :: InstanceCmds -> Bool hasEnumerateDeviceExtensionProperties = (/= nullFunPtr) . pVkEnumerateDeviceExtensionProperties hasGetPhysicalDeviceSparseImageFormatProperties :: InstanceCmds -> Bool hasGetPhysicalDeviceSparseImageFormatProperties = (/= nullFunPtr) . pVkGetPhysicalDeviceSparseImageFormatProperties +#if defined(VK_USE_PLATFORM_ANDROID_KHR) hasCreateAndroidSurfaceKHR :: InstanceCmds -> Bool hasCreateAndroidSurfaceKHR = (/= nullFunPtr) . pVkCreateAndroidSurfaceKHR +#endif hasGetPhysicalDeviceDisplayPropertiesKHR :: InstanceCmds -> Bool hasGetPhysicalDeviceDisplayPropertiesKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceDisplayPropertiesKHR hasGetPhysicalDeviceDisplayPlanePropertiesKHR :: InstanceCmds -> Bool @@ -1461,10 +2162,12 @@ hasGetDisplayPlaneCapabilitiesKHR :: InstanceCmds -> Bool hasGetDisplayPlaneCapabilitiesKHR = (/= nullFunPtr) . pVkGetDisplayPlaneCapabilitiesKHR hasCreateDisplayPlaneSurfaceKHR :: InstanceCmds -> Bool hasCreateDisplayPlaneSurfaceKHR = (/= nullFunPtr) . pVkCreateDisplayPlaneSurfaceKHR +#if defined(VK_USE_PLATFORM_MIR_KHR) hasCreateMirSurfaceKHR :: InstanceCmds -> Bool hasCreateMirSurfaceKHR = (/= nullFunPtr) . pVkCreateMirSurfaceKHR hasGetPhysicalDeviceMirPresentationSupportKHR :: InstanceCmds -> Bool hasGetPhysicalDeviceMirPresentationSupportKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceMirPresentationSupportKHR +#endif hasDestroySurfaceKHR :: InstanceCmds -> Bool hasDestroySurfaceKHR = (/= nullFunPtr) . pVkDestroySurfaceKHR hasGetPhysicalDeviceSurfaceSupportKHR :: InstanceCmds -> Bool @@ -1475,24 +2178,34 @@ hasGetPhysicalDeviceSurfaceFormatsKHR :: InstanceCmds -> Bool hasGetPhysicalDeviceSurfaceFormatsKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceSurfaceFormatsKHR hasGetPhysicalDeviceSurfacePresentModesKHR :: InstanceCmds -> Bool hasGetPhysicalDeviceSurfacePresentModesKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceSurfacePresentModesKHR +#if defined(VK_USE_PLATFORM_VI_NN) hasCreateViSurfaceNN :: InstanceCmds -> Bool hasCreateViSurfaceNN = (/= nullFunPtr) . pVkCreateViSurfaceNN +#endif +#if defined(VK_USE_PLATFORM_WAYLAND_KHR) hasCreateWaylandSurfaceKHR :: InstanceCmds -> Bool hasCreateWaylandSurfaceKHR = (/= nullFunPtr) . pVkCreateWaylandSurfaceKHR hasGetPhysicalDeviceWaylandPresentationSupportKHR :: InstanceCmds -> Bool hasGetPhysicalDeviceWaylandPresentationSupportKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceWaylandPresentationSupportKHR +#endif +#if defined(VK_USE_PLATFORM_WIN32_KHR) hasCreateWin32SurfaceKHR :: InstanceCmds -> Bool hasCreateWin32SurfaceKHR = (/= nullFunPtr) . pVkCreateWin32SurfaceKHR hasGetPhysicalDeviceWin32PresentationSupportKHR :: InstanceCmds -> Bool hasGetPhysicalDeviceWin32PresentationSupportKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceWin32PresentationSupportKHR +#endif +#if defined(VK_USE_PLATFORM_XLIB_KHR) hasCreateXlibSurfaceKHR :: InstanceCmds -> Bool hasCreateXlibSurfaceKHR = (/= nullFunPtr) . pVkCreateXlibSurfaceKHR hasGetPhysicalDeviceXlibPresentationSupportKHR :: InstanceCmds -> Bool hasGetPhysicalDeviceXlibPresentationSupportKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceXlibPresentationSupportKHR +#endif +#if defined(VK_USE_PLATFORM_XCB_KHR) hasCreateXcbSurfaceKHR :: InstanceCmds -> Bool hasCreateXcbSurfaceKHR = (/= nullFunPtr) . pVkCreateXcbSurfaceKHR hasGetPhysicalDeviceXcbPresentationSupportKHR :: InstanceCmds -> Bool hasGetPhysicalDeviceXcbPresentationSupportKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceXcbPresentationSupportKHR +#endif hasCreateDebugReportCallbackEXT :: InstanceCmds -> Bool hasCreateDebugReportCallbackEXT = (/= nullFunPtr) . pVkCreateDebugReportCallbackEXT hasDestroyDebugReportCallbackEXT :: InstanceCmds -> Bool @@ -1525,20 +2238,26 @@ hasGetPhysicalDeviceExternalFenceProperties :: InstanceCmds -> Bool hasGetPhysicalDeviceExternalFenceProperties = (/= nullFunPtr) . pVkGetPhysicalDeviceExternalFenceProperties hasReleaseDisplayEXT :: InstanceCmds -> Bool hasReleaseDisplayEXT = (/= nullFunPtr) . pVkReleaseDisplayEXT +#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT) hasAcquireXlibDisplayEXT :: InstanceCmds -> Bool hasAcquireXlibDisplayEXT = (/= nullFunPtr) . pVkAcquireXlibDisplayEXT hasGetRandROutputDisplayEXT :: InstanceCmds -> Bool hasGetRandROutputDisplayEXT = (/= nullFunPtr) . pVkGetRandROutputDisplayEXT +#endif hasGetPhysicalDeviceSurfaceCapabilities2EXT :: InstanceCmds -> Bool hasGetPhysicalDeviceSurfaceCapabilities2EXT = (/= nullFunPtr) . pVkGetPhysicalDeviceSurfaceCapabilities2EXT hasEnumeratePhysicalDeviceGroups :: InstanceCmds -> Bool hasEnumeratePhysicalDeviceGroups = (/= nullFunPtr) . pVkEnumeratePhysicalDeviceGroups hasGetPhysicalDevicePresentRectanglesKHR :: InstanceCmds -> Bool hasGetPhysicalDevicePresentRectanglesKHR = (/= nullFunPtr) . pVkGetPhysicalDevicePresentRectanglesKHR +#if defined(VK_USE_PLATFORM_IOS_MVK) hasCreateIOSSurfaceMVK :: InstanceCmds -> Bool hasCreateIOSSurfaceMVK = (/= nullFunPtr) . pVkCreateIOSSurfaceMVK +#endif +#if defined(VK_USE_PLATFORM_MACOS_MVK) hasCreateMacOSSurfaceMVK :: InstanceCmds -> Bool hasCreateMacOSSurfaceMVK = (/= nullFunPtr) . pVkCreateMacOSSurfaceMVK +#endif hasGetPhysicalDeviceMultisamplePropertiesEXT :: InstanceCmds -> Bool hasGetPhysicalDeviceMultisamplePropertiesEXT = (/= nullFunPtr) . pVkGetPhysicalDeviceMultisamplePropertiesEXT hasGetPhysicalDeviceSurfaceCapabilities2KHR :: InstanceCmds -> Bool @@ -1555,1095 +2274,2217 @@ hasSubmitDebugUtilsMessageEXT = (/= nullFunPtr) . pVkSubmitDebugUtilsMessageEXT -- * Device commands getDeviceProcAddr :: DeviceCmds -> (("device" ::: VkDevice) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) getDeviceProcAddr deviceCmds = mkVkGetDeviceProcAddr (pVkGetDeviceProcAddr deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetDeviceProcAddr +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetDeviceProcAddr :: FunPtr (("device" ::: VkDevice) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) -> (("device" ::: VkDevice) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) destroyDevice :: DeviceCmds -> (("device" ::: VkDevice) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyDevice deviceCmds = mkVkDestroyDevice (pVkDestroyDevice deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyDevice +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyDevice :: FunPtr (("device" ::: VkDevice) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) getDeviceQueue :: DeviceCmds -> (("device" ::: VkDevice) -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) getDeviceQueue deviceCmds = mkVkGetDeviceQueue (pVkGetDeviceQueue deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetDeviceQueue +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetDeviceQueue :: FunPtr (("device" ::: VkDevice) -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) -> (("device" ::: VkDevice) -> ("queueFamilyIndex" ::: Word32) -> ("queueIndex" ::: Word32) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) queueSubmit :: DeviceCmds -> (("queue" ::: VkQueue) -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr VkSubmitInfo) -> ("fence" ::: VkFence) -> IO VkResult) queueSubmit deviceCmds = mkVkQueueSubmit (pVkQueueSubmit deviceCmds) -foreign import ccall unsafe "dynamic" mkVkQueueSubmit +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkQueueSubmit :: FunPtr (("queue" ::: VkQueue) -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr VkSubmitInfo) -> ("fence" ::: VkFence) -> IO VkResult) -> (("queue" ::: VkQueue) -> ("submitCount" ::: Word32) -> ("pSubmits" ::: Ptr VkSubmitInfo) -> ("fence" ::: VkFence) -> IO VkResult) queueWaitIdle :: DeviceCmds -> (("queue" ::: VkQueue) -> IO VkResult) queueWaitIdle deviceCmds = mkVkQueueWaitIdle (pVkQueueWaitIdle deviceCmds) -foreign import ccall unsafe "dynamic" mkVkQueueWaitIdle +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkQueueWaitIdle :: FunPtr (("queue" ::: VkQueue) -> IO VkResult) -> (("queue" ::: VkQueue) -> IO VkResult) deviceWaitIdle :: DeviceCmds -> (("device" ::: VkDevice) -> IO VkResult) deviceWaitIdle deviceCmds = mkVkDeviceWaitIdle (pVkDeviceWaitIdle deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDeviceWaitIdle +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDeviceWaitIdle :: FunPtr (("device" ::: VkDevice) -> IO VkResult) -> (("device" ::: VkDevice) -> IO VkResult) allocateMemory :: DeviceCmds -> (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkMemoryAllocateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMemory" ::: Ptr VkDeviceMemory) -> IO VkResult) allocateMemory deviceCmds = mkVkAllocateMemory (pVkAllocateMemory deviceCmds) -foreign import ccall unsafe "dynamic" mkVkAllocateMemory +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkAllocateMemory :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkMemoryAllocateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMemory" ::: Ptr VkDeviceMemory) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkMemoryAllocateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMemory" ::: Ptr VkDeviceMemory) -> IO VkResult) freeMemory :: DeviceCmds -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) freeMemory deviceCmds = mkVkFreeMemory (pVkFreeMemory deviceCmds) -foreign import ccall unsafe "dynamic" mkVkFreeMemory +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkFreeMemory :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) mapMemory :: DeviceCmds -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("offset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("flags" ::: VkMemoryMapFlags) -> ("ppData" ::: Ptr (Ptr ())) -> IO VkResult) mapMemory deviceCmds = mkVkMapMemory (pVkMapMemory deviceCmds) -foreign import ccall unsafe "dynamic" mkVkMapMemory +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkMapMemory :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("offset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("flags" ::: VkMemoryMapFlags) -> ("ppData" ::: Ptr (Ptr ())) -> IO VkResult) -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("offset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("flags" ::: VkMemoryMapFlags) -> ("ppData" ::: Ptr (Ptr ())) -> IO VkResult) unmapMemory :: DeviceCmds -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> IO ()) unmapMemory deviceCmds = mkVkUnmapMemory (pVkUnmapMemory deviceCmds) -foreign import ccall unsafe "dynamic" mkVkUnmapMemory +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkUnmapMemory :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> IO ()) -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> IO ()) flushMappedMemoryRanges :: DeviceCmds -> (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) flushMappedMemoryRanges deviceCmds = mkVkFlushMappedMemoryRanges (pVkFlushMappedMemoryRanges deviceCmds) -foreign import ccall unsafe "dynamic" mkVkFlushMappedMemoryRanges +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkFlushMappedMemoryRanges :: FunPtr (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) -> (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) invalidateMappedMemoryRanges :: DeviceCmds -> (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) invalidateMappedMemoryRanges deviceCmds = mkVkInvalidateMappedMemoryRanges (pVkInvalidateMappedMemoryRanges deviceCmds) -foreign import ccall unsafe "dynamic" mkVkInvalidateMappedMemoryRanges +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkInvalidateMappedMemoryRanges :: FunPtr (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) -> (("device" ::: VkDevice) -> ("memoryRangeCount" ::: Word32) -> ("pMemoryRanges" ::: Ptr VkMappedMemoryRange) -> IO VkResult) getDeviceMemoryCommitment :: DeviceCmds -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pCommittedMemoryInBytes" ::: Ptr VkDeviceSize) -> IO ()) getDeviceMemoryCommitment deviceCmds = mkVkGetDeviceMemoryCommitment (pVkGetDeviceMemoryCommitment deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetDeviceMemoryCommitment +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetDeviceMemoryCommitment :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pCommittedMemoryInBytes" ::: Ptr VkDeviceSize) -> IO ()) -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("pCommittedMemoryInBytes" ::: Ptr VkDeviceSize) -> IO ()) getBufferMemoryRequirements :: DeviceCmds -> (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) getBufferMemoryRequirements deviceCmds = mkVkGetBufferMemoryRequirements (pVkGetBufferMemoryRequirements deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetBufferMemoryRequirements +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetBufferMemoryRequirements :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) -> (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) bindBufferMemory :: DeviceCmds -> (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) bindBufferMemory deviceCmds = mkVkBindBufferMemory (pVkBindBufferMemory deviceCmds) -foreign import ccall unsafe "dynamic" mkVkBindBufferMemory +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkBindBufferMemory :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) -> (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) getImageMemoryRequirements :: DeviceCmds -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) getImageMemoryRequirements deviceCmds = mkVkGetImageMemoryRequirements (pVkGetImageMemoryRequirements deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetImageMemoryRequirements +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetImageMemoryRequirements :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements) -> IO ()) bindImageMemory :: DeviceCmds -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) bindImageMemory deviceCmds = mkVkBindImageMemory (pVkBindImageMemory deviceCmds) -foreign import ccall unsafe "dynamic" mkVkBindImageMemory +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkBindImageMemory :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("memory" ::: VkDeviceMemory) -> ("memoryOffset" ::: VkDeviceSize) -> IO VkResult) getImageSparseMemoryRequirements :: DeviceCmds -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements) -> IO ()) getImageSparseMemoryRequirements deviceCmds = mkVkGetImageSparseMemoryRequirements (pVkGetImageSparseMemoryRequirements deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetImageSparseMemoryRequirements +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetImageSparseMemoryRequirements :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements) -> IO ()) -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements) -> IO ()) queueBindSparse :: DeviceCmds -> (("queue" ::: VkQueue) -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr VkBindSparseInfo) -> ("fence" ::: VkFence) -> IO VkResult) queueBindSparse deviceCmds = mkVkQueueBindSparse (pVkQueueBindSparse deviceCmds) -foreign import ccall unsafe "dynamic" mkVkQueueBindSparse +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkQueueBindSparse :: FunPtr (("queue" ::: VkQueue) -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr VkBindSparseInfo) -> ("fence" ::: VkFence) -> IO VkResult) -> (("queue" ::: VkQueue) -> ("bindInfoCount" ::: Word32) -> ("pBindInfo" ::: Ptr VkBindSparseInfo) -> ("fence" ::: VkFence) -> IO VkResult) createFence :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFenceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) createFence deviceCmds = mkVkCreateFence (pVkCreateFence deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateFence +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateFence :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFenceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFenceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) destroyFence :: DeviceCmds -> (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyFence deviceCmds = mkVkDestroyFence (pVkDestroyFence deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyFence +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyFence :: FunPtr (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) resetFences :: DeviceCmds -> (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> IO VkResult) resetFences deviceCmds = mkVkResetFences (pVkResetFences deviceCmds) -foreign import ccall unsafe "dynamic" mkVkResetFences +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkResetFences :: FunPtr (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> IO VkResult) -> (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> IO VkResult) getFenceStatus :: DeviceCmds -> (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> IO VkResult) getFenceStatus deviceCmds = mkVkGetFenceStatus (pVkGetFenceStatus deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetFenceStatus +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetFenceStatus :: FunPtr (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> IO VkResult) -> (("device" ::: VkDevice) -> ("fence" ::: VkFence) -> IO VkResult) waitForFences :: DeviceCmds -> (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> ("waitAll" ::: VkBool32) -> ("timeout" ::: Word64) -> IO VkResult) waitForFences deviceCmds = mkVkWaitForFences (pVkWaitForFences deviceCmds) -foreign import ccall unsafe "dynamic" mkVkWaitForFences +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkWaitForFences :: FunPtr (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> ("waitAll" ::: VkBool32) -> ("timeout" ::: Word64) -> IO VkResult) -> (("device" ::: VkDevice) -> ("fenceCount" ::: Word32) -> ("pFences" ::: Ptr VkFence) -> ("waitAll" ::: VkBool32) -> ("timeout" ::: Word64) -> IO VkResult) createSemaphore :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSemaphoreCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSemaphore" ::: Ptr VkSemaphore) -> IO VkResult) createSemaphore deviceCmds = mkVkCreateSemaphore (pVkCreateSemaphore deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateSemaphore +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateSemaphore :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSemaphoreCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSemaphore" ::: Ptr VkSemaphore) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSemaphoreCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSemaphore" ::: Ptr VkSemaphore) -> IO VkResult) destroySemaphore :: DeviceCmds -> (("device" ::: VkDevice) -> ("semaphore" ::: VkSemaphore) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroySemaphore deviceCmds = mkVkDestroySemaphore (pVkDestroySemaphore deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroySemaphore +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroySemaphore :: FunPtr (("device" ::: VkDevice) -> ("semaphore" ::: VkSemaphore) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("semaphore" ::: VkSemaphore) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) createEvent :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkEventCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pEvent" ::: Ptr VkEvent) -> IO VkResult) createEvent deviceCmds = mkVkCreateEvent (pVkCreateEvent deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateEvent +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateEvent :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkEventCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pEvent" ::: Ptr VkEvent) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkEventCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pEvent" ::: Ptr VkEvent) -> IO VkResult) destroyEvent :: DeviceCmds -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyEvent deviceCmds = mkVkDestroyEvent (pVkDestroyEvent deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyEvent +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyEvent :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) getEventStatus :: DeviceCmds -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) getEventStatus deviceCmds = mkVkGetEventStatus (pVkGetEventStatus deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetEventStatus +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetEventStatus :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) setEvent :: DeviceCmds -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) setEvent deviceCmds = mkVkSetEvent (pVkSetEvent deviceCmds) -foreign import ccall unsafe "dynamic" mkVkSetEvent +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkSetEvent :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) resetEvent :: DeviceCmds -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) resetEvent deviceCmds = mkVkResetEvent (pVkResetEvent deviceCmds) -foreign import ccall unsafe "dynamic" mkVkResetEvent +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkResetEvent :: FunPtr (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) -> (("device" ::: VkDevice) -> ("event" ::: VkEvent) -> IO VkResult) createQueryPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkQueryPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pQueryPool" ::: Ptr VkQueryPool) -> IO VkResult) createQueryPool deviceCmds = mkVkCreateQueryPool (pVkCreateQueryPool deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateQueryPool +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateQueryPool :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkQueryPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pQueryPool" ::: Ptr VkQueryPool) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkQueryPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pQueryPool" ::: Ptr VkQueryPool) -> IO VkResult) destroyQueryPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyQueryPool deviceCmds = mkVkDestroyQueryPool (pVkDestroyQueryPool deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyQueryPool +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyQueryPool :: FunPtr (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) getQueryPoolResults :: DeviceCmds -> (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO VkResult) getQueryPoolResults deviceCmds = mkVkGetQueryPoolResults (pVkGetQueryPoolResults deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetQueryPoolResults +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetQueryPoolResults :: FunPtr (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO VkResult) -> (("device" ::: VkDevice) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dataSize" ::: CSize) -> ("pData" ::: Ptr ()) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO VkResult) createBuffer :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pBuffer" ::: Ptr VkBuffer) -> IO VkResult) createBuffer deviceCmds = mkVkCreateBuffer (pVkCreateBuffer deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateBuffer +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateBuffer :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pBuffer" ::: Ptr VkBuffer) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pBuffer" ::: Ptr VkBuffer) -> IO VkResult) destroyBuffer :: DeviceCmds -> (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyBuffer deviceCmds = mkVkDestroyBuffer (pVkDestroyBuffer deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyBuffer +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyBuffer :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("buffer" ::: VkBuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) createBufferView :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkBufferView) -> IO VkResult) createBufferView deviceCmds = mkVkCreateBufferView (pVkCreateBufferView deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateBufferView +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateBufferView :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkBufferView) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkBufferViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkBufferView) -> IO VkResult) destroyBufferView :: DeviceCmds -> (("device" ::: VkDevice) -> ("bufferView" ::: VkBufferView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyBufferView deviceCmds = mkVkDestroyBufferView (pVkDestroyBufferView deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyBufferView +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyBufferView :: FunPtr (("device" ::: VkDevice) -> ("bufferView" ::: VkBufferView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("bufferView" ::: VkBufferView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) createImage :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pImage" ::: Ptr VkImage) -> IO VkResult) createImage deviceCmds = mkVkCreateImage (pVkCreateImage deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateImage +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateImage :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pImage" ::: Ptr VkImage) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pImage" ::: Ptr VkImage) -> IO VkResult) destroyImage :: DeviceCmds -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyImage deviceCmds = mkVkDestroyImage (pVkDestroyImage deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyImage +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyImage :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) getImageSubresourceLayout :: DeviceCmds -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSubresource" ::: Ptr VkImageSubresource) -> ("pLayout" ::: Ptr VkSubresourceLayout) -> IO ()) getImageSubresourceLayout deviceCmds = mkVkGetImageSubresourceLayout (pVkGetImageSubresourceLayout deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetImageSubresourceLayout +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetImageSubresourceLayout :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSubresource" ::: Ptr VkImageSubresource) -> ("pLayout" ::: Ptr VkSubresourceLayout) -> IO ()) -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("pSubresource" ::: Ptr VkImageSubresource) -> ("pLayout" ::: Ptr VkSubresourceLayout) -> IO ()) createImageView :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkImageView) -> IO VkResult) createImageView deviceCmds = mkVkCreateImageView (pVkCreateImageView deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateImageView +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateImageView :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkImageView) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkImageViewCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pView" ::: Ptr VkImageView) -> IO VkResult) destroyImageView :: DeviceCmds -> (("device" ::: VkDevice) -> ("imageView" ::: VkImageView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyImageView deviceCmds = mkVkDestroyImageView (pVkDestroyImageView deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyImageView +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyImageView :: FunPtr (("device" ::: VkDevice) -> ("imageView" ::: VkImageView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("imageView" ::: VkImageView) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) createShaderModule :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkShaderModuleCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pShaderModule" ::: Ptr VkShaderModule) -> IO VkResult) createShaderModule deviceCmds = mkVkCreateShaderModule (pVkCreateShaderModule deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateShaderModule +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateShaderModule :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkShaderModuleCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pShaderModule" ::: Ptr VkShaderModule) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkShaderModuleCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pShaderModule" ::: Ptr VkShaderModule) -> IO VkResult) destroyShaderModule :: DeviceCmds -> (("device" ::: VkDevice) -> ("shaderModule" ::: VkShaderModule) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyShaderModule deviceCmds = mkVkDestroyShaderModule (pVkDestroyShaderModule deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyShaderModule +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyShaderModule :: FunPtr (("device" ::: VkDevice) -> ("shaderModule" ::: VkShaderModule) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("shaderModule" ::: VkShaderModule) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) createPipelineCache :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineCache" ::: Ptr VkPipelineCache) -> IO VkResult) createPipelineCache deviceCmds = mkVkCreatePipelineCache (pVkCreatePipelineCache deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreatePipelineCache +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreatePipelineCache :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineCache" ::: Ptr VkPipelineCache) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineCacheCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineCache" ::: Ptr VkPipelineCache) -> IO VkResult) destroyPipelineCache :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyPipelineCache deviceCmds = mkVkDestroyPipelineCache (pVkDestroyPipelineCache deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyPipelineCache +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyPipelineCache :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) getPipelineCacheData :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) getPipelineCacheData deviceCmds = mkVkGetPipelineCacheData (pVkGetPipelineCacheData deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPipelineCacheData +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPipelineCacheData :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) mergePipelineCaches :: DeviceCmds -> (("device" ::: VkDevice) -> ("dstCache" ::: VkPipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkPipelineCache) -> IO VkResult) mergePipelineCaches deviceCmds = mkVkMergePipelineCaches (pVkMergePipelineCaches deviceCmds) -foreign import ccall unsafe "dynamic" mkVkMergePipelineCaches +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkMergePipelineCaches :: FunPtr (("device" ::: VkDevice) -> ("dstCache" ::: VkPipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkPipelineCache) -> IO VkResult) -> (("device" ::: VkDevice) -> ("dstCache" ::: VkPipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkPipelineCache) -> IO VkResult) createGraphicsPipelines :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkGraphicsPipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) createGraphicsPipelines deviceCmds = mkVkCreateGraphicsPipelines (pVkCreateGraphicsPipelines deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateGraphicsPipelines +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateGraphicsPipelines :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkGraphicsPipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkGraphicsPipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) createComputePipelines :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkComputePipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) createComputePipelines deviceCmds = mkVkCreateComputePipelines (pVkCreateComputePipelines deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateComputePipelines +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateComputePipelines :: FunPtr (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkComputePipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pipelineCache" ::: VkPipelineCache) -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkComputePipelineCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelines" ::: Ptr VkPipeline) -> IO VkResult) destroyPipeline :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyPipeline deviceCmds = mkVkDestroyPipeline (pVkDestroyPipeline deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyPipeline +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyPipeline :: FunPtr (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) createPipelineLayout :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineLayout" ::: Ptr VkPipelineLayout) -> IO VkResult) createPipelineLayout deviceCmds = mkVkCreatePipelineLayout (pVkCreatePipelineLayout deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreatePipelineLayout +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreatePipelineLayout :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineLayout" ::: Ptr VkPipelineLayout) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkPipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pPipelineLayout" ::: Ptr VkPipelineLayout) -> IO VkResult) destroyPipelineLayout :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipelineLayout" ::: VkPipelineLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyPipelineLayout deviceCmds = mkVkDestroyPipelineLayout (pVkDestroyPipelineLayout deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyPipelineLayout +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyPipelineLayout :: FunPtr (("device" ::: VkDevice) -> ("pipelineLayout" ::: VkPipelineLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("pipelineLayout" ::: VkPipelineLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) createSampler :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSampler" ::: Ptr VkSampler) -> IO VkResult) createSampler deviceCmds = mkVkCreateSampler (pVkCreateSampler deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateSampler +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateSampler :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSampler" ::: Ptr VkSampler) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSampler" ::: Ptr VkSampler) -> IO VkResult) destroySampler :: DeviceCmds -> (("device" ::: VkDevice) -> ("sampler" ::: VkSampler) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroySampler deviceCmds = mkVkDestroySampler (pVkDestroySampler deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroySampler +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroySampler :: FunPtr (("device" ::: VkDevice) -> ("sampler" ::: VkSampler) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("sampler" ::: VkSampler) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) createDescriptorSetLayout :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSetLayout" ::: Ptr VkDescriptorSetLayout) -> IO VkResult) createDescriptorSetLayout deviceCmds = mkVkCreateDescriptorSetLayout (pVkCreateDescriptorSetLayout deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateDescriptorSetLayout +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateDescriptorSetLayout :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSetLayout" ::: Ptr VkDescriptorSetLayout) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSetLayout" ::: Ptr VkDescriptorSetLayout) -> IO VkResult) destroyDescriptorSetLayout :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorSetLayout" ::: VkDescriptorSetLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyDescriptorSetLayout deviceCmds = mkVkDestroyDescriptorSetLayout (pVkDestroyDescriptorSetLayout deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyDescriptorSetLayout +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyDescriptorSetLayout :: FunPtr (("device" ::: VkDevice) -> ("descriptorSetLayout" ::: VkDescriptorSetLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("descriptorSetLayout" ::: VkDescriptorSetLayout) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) createDescriptorPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorPool" ::: Ptr VkDescriptorPool) -> IO VkResult) createDescriptorPool deviceCmds = mkVkCreateDescriptorPool (pVkCreateDescriptorPool deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateDescriptorPool +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateDescriptorPool :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorPool" ::: Ptr VkDescriptorPool) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorPool" ::: Ptr VkDescriptorPool) -> IO VkResult) destroyDescriptorPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyDescriptorPool deviceCmds = mkVkDestroyDescriptorPool (pVkDestroyDescriptorPool deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyDescriptorPool +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyDescriptorPool :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) resetDescriptorPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("flags" ::: VkDescriptorPoolResetFlags) -> IO VkResult) resetDescriptorPool deviceCmds = mkVkResetDescriptorPool (pVkResetDescriptorPool deviceCmds) -foreign import ccall unsafe "dynamic" mkVkResetDescriptorPool +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkResetDescriptorPool :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("flags" ::: VkDescriptorPoolResetFlags) -> IO VkResult) -> (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("flags" ::: VkDescriptorPoolResetFlags) -> IO VkResult) allocateDescriptorSets :: DeviceCmds -> (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkDescriptorSetAllocateInfo) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) allocateDescriptorSets deviceCmds = mkVkAllocateDescriptorSets (pVkAllocateDescriptorSets deviceCmds) -foreign import ccall unsafe "dynamic" mkVkAllocateDescriptorSets +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkAllocateDescriptorSets :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkDescriptorSetAllocateInfo) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkDescriptorSetAllocateInfo) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) freeDescriptorSets :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) freeDescriptorSets deviceCmds = mkVkFreeDescriptorSets (pVkFreeDescriptorSets deviceCmds) -foreign import ccall unsafe "dynamic" mkVkFreeDescriptorSets +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkFreeDescriptorSets :: FunPtr (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) -> (("device" ::: VkDevice) -> ("descriptorPool" ::: VkDescriptorPool) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> IO VkResult) updateDescriptorSets :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr VkCopyDescriptorSet) -> IO ()) updateDescriptorSets deviceCmds = mkVkUpdateDescriptorSets (pVkUpdateDescriptorSets deviceCmds) -foreign import ccall unsafe "dynamic" mkVkUpdateDescriptorSets +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkUpdateDescriptorSets :: FunPtr (("device" ::: VkDevice) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr VkCopyDescriptorSet) -> IO ()) -> (("device" ::: VkDevice) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> ("descriptorCopyCount" ::: Word32) -> ("pDescriptorCopies" ::: Ptr VkCopyDescriptorSet) -> IO ()) createFramebuffer :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFramebufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFramebuffer" ::: Ptr VkFramebuffer) -> IO VkResult) createFramebuffer deviceCmds = mkVkCreateFramebuffer (pVkCreateFramebuffer deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateFramebuffer +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateFramebuffer :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFramebufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFramebuffer" ::: Ptr VkFramebuffer) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkFramebufferCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFramebuffer" ::: Ptr VkFramebuffer) -> IO VkResult) destroyFramebuffer :: DeviceCmds -> (("device" ::: VkDevice) -> ("framebuffer" ::: VkFramebuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyFramebuffer deviceCmds = mkVkDestroyFramebuffer (pVkDestroyFramebuffer deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyFramebuffer +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyFramebuffer :: FunPtr (("device" ::: VkDevice) -> ("framebuffer" ::: VkFramebuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("framebuffer" ::: VkFramebuffer) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) createRenderPass :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkRenderPassCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pRenderPass" ::: Ptr VkRenderPass) -> IO VkResult) createRenderPass deviceCmds = mkVkCreateRenderPass (pVkCreateRenderPass deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateRenderPass +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateRenderPass :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkRenderPassCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pRenderPass" ::: Ptr VkRenderPass) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkRenderPassCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pRenderPass" ::: Ptr VkRenderPass) -> IO VkResult) destroyRenderPass :: DeviceCmds -> (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyRenderPass deviceCmds = mkVkDestroyRenderPass (pVkDestroyRenderPass deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyRenderPass +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyRenderPass :: FunPtr (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) getRenderAreaGranularity :: DeviceCmds -> (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pGranularity" ::: Ptr VkExtent2D) -> IO ()) getRenderAreaGranularity deviceCmds = mkVkGetRenderAreaGranularity (pVkGetRenderAreaGranularity deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetRenderAreaGranularity +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetRenderAreaGranularity :: FunPtr (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pGranularity" ::: Ptr VkExtent2D) -> IO ()) -> (("device" ::: VkDevice) -> ("renderPass" ::: VkRenderPass) -> ("pGranularity" ::: Ptr VkExtent2D) -> IO ()) createCommandPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkCommandPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCommandPool" ::: Ptr VkCommandPool) -> IO VkResult) createCommandPool deviceCmds = mkVkCreateCommandPool (pVkCreateCommandPool deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateCommandPool +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateCommandPool :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkCommandPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCommandPool" ::: Ptr VkCommandPool) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkCommandPoolCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCommandPool" ::: Ptr VkCommandPool) -> IO VkResult) destroyCommandPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyCommandPool deviceCmds = mkVkDestroyCommandPool (pVkDestroyCommandPool deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyCommandPool +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyCommandPool :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) resetCommandPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolResetFlags) -> IO VkResult) resetCommandPool deviceCmds = mkVkResetCommandPool (pVkResetCommandPool deviceCmds) -foreign import ccall unsafe "dynamic" mkVkResetCommandPool +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkResetCommandPool :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolResetFlags) -> IO VkResult) -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolResetFlags) -> IO VkResult) allocateCommandBuffers :: DeviceCmds -> (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkCommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO VkResult) allocateCommandBuffers deviceCmds = mkVkAllocateCommandBuffers (pVkAllocateCommandBuffers deviceCmds) -foreign import ccall unsafe "dynamic" mkVkAllocateCommandBuffers +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkAllocateCommandBuffers :: FunPtr (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkCommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pAllocateInfo" ::: Ptr VkCommandBufferAllocateInfo) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO VkResult) freeCommandBuffers :: DeviceCmds -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) freeCommandBuffers deviceCmds = mkVkFreeCommandBuffers (pVkFreeCommandBuffers deviceCmds) -foreign import ccall unsafe "dynamic" mkVkFreeCommandBuffers +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkFreeCommandBuffers :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) beginCommandBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pBeginInfo" ::: Ptr VkCommandBufferBeginInfo) -> IO VkResult) beginCommandBuffer deviceCmds = mkVkBeginCommandBuffer (pVkBeginCommandBuffer deviceCmds) -foreign import ccall unsafe "dynamic" mkVkBeginCommandBuffer +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkBeginCommandBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pBeginInfo" ::: Ptr VkCommandBufferBeginInfo) -> IO VkResult) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pBeginInfo" ::: Ptr VkCommandBufferBeginInfo) -> IO VkResult) endCommandBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> IO VkResult) endCommandBuffer deviceCmds = mkVkEndCommandBuffer (pVkEndCommandBuffer deviceCmds) -foreign import ccall unsafe "dynamic" mkVkEndCommandBuffer +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkEndCommandBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO VkResult) -> (("commandBuffer" ::: VkCommandBuffer) -> IO VkResult) resetCommandBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("flags" ::: VkCommandBufferResetFlags) -> IO VkResult) resetCommandBuffer deviceCmds = mkVkResetCommandBuffer (pVkResetCommandBuffer deviceCmds) -foreign import ccall unsafe "dynamic" mkVkResetCommandBuffer +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkResetCommandBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("flags" ::: VkCommandBufferResetFlags) -> IO VkResult) -> (("commandBuffer" ::: VkCommandBuffer) -> ("flags" ::: VkCommandBufferResetFlags) -> IO VkResult) cmdBindPipeline :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("pipeline" ::: VkPipeline) -> IO ()) cmdBindPipeline deviceCmds = mkVkCmdBindPipeline (pVkCmdBindPipeline deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdBindPipeline +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdBindPipeline :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("pipeline" ::: VkPipeline) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("pipeline" ::: VkPipeline) -> IO ()) cmdSetViewport :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr VkViewport) -> IO ()) cmdSetViewport deviceCmds = mkVkCmdSetViewport (pVkCmdSetViewport deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetViewport +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetViewport :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr VkViewport) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewports" ::: Ptr VkViewport) -> IO ()) cmdSetScissor :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr VkRect2D) -> IO ()) cmdSetScissor deviceCmds = mkVkCmdSetScissor (pVkCmdSetScissor deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetScissor +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetScissor :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr VkRect2D) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstScissor" ::: Word32) -> ("scissorCount" ::: Word32) -> ("pScissors" ::: Ptr VkRect2D) -> IO ()) cmdSetLineWidth :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("lineWidth" ::: CFloat) -> IO ()) cmdSetLineWidth deviceCmds = mkVkCmdSetLineWidth (pVkCmdSetLineWidth deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetLineWidth +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetLineWidth :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("lineWidth" ::: CFloat) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("lineWidth" ::: CFloat) -> IO ()) cmdSetDepthBias :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ()) cmdSetDepthBias deviceCmds = mkVkCmdSetDepthBias (pVkCmdSetDepthBias deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetDepthBias +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetDepthBias :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("depthBiasConstantFactor" ::: CFloat) -> ("depthBiasClamp" ::: CFloat) -> ("depthBiasSlopeFactor" ::: CFloat) -> IO ()) cmdSetBlendConstants :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("blendConstants" ::: Ptr CFloat) -> IO ()) cmdSetBlendConstants deviceCmds = mkVkCmdSetBlendConstants (pVkCmdSetBlendConstants deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetBlendConstants +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetBlendConstants :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("blendConstants" ::: Ptr CFloat) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("blendConstants" ::: Ptr CFloat) -> IO ()) cmdSetDepthBounds :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ()) cmdSetDepthBounds deviceCmds = mkVkCmdSetDepthBounds (pVkCmdSetDepthBounds deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetDepthBounds +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetDepthBounds :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("minDepthBounds" ::: CFloat) -> ("maxDepthBounds" ::: CFloat) -> IO ()) cmdSetStencilCompareMask :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ()) cmdSetStencilCompareMask deviceCmds = mkVkCmdSetStencilCompareMask (pVkCmdSetStencilCompareMask deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetStencilCompareMask +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetStencilCompareMask :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("compareMask" ::: Word32) -> IO ()) cmdSetStencilWriteMask :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ()) cmdSetStencilWriteMask deviceCmds = mkVkCmdSetStencilWriteMask (pVkCmdSetStencilWriteMask deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetStencilWriteMask +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetStencilWriteMask :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("writeMask" ::: Word32) -> IO ()) cmdSetStencilReference :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("reference" ::: Word32) -> IO ()) cmdSetStencilReference deviceCmds = mkVkCmdSetStencilReference (pVkCmdSetStencilReference deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetStencilReference +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetStencilReference :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("reference" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("faceMask" ::: VkStencilFaceFlags) -> ("reference" ::: Word32) -> IO ()) cmdBindDescriptorSets :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ()) cmdBindDescriptorSets deviceCmds = mkVkCmdBindDescriptorSets (pVkCmdBindDescriptorSets deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdBindDescriptorSets +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdBindDescriptorSets :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("firstSet" ::: Word32) -> ("descriptorSetCount" ::: Word32) -> ("pDescriptorSets" ::: Ptr VkDescriptorSet) -> ("dynamicOffsetCount" ::: Word32) -> ("pDynamicOffsets" ::: Ptr Word32) -> IO ()) cmdBindIndexBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("indexType" ::: VkIndexType) -> IO ()) cmdBindIndexBuffer deviceCmds = mkVkCmdBindIndexBuffer (pVkCmdBindIndexBuffer deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdBindIndexBuffer +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdBindIndexBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("indexType" ::: VkIndexType) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("indexType" ::: VkIndexType) -> IO ()) cmdBindVertexBuffers :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr VkBuffer) -> ("pOffsets" ::: Ptr VkDeviceSize) -> IO ()) cmdBindVertexBuffers deviceCmds = mkVkCmdBindVertexBuffers (pVkCmdBindVertexBuffers deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdBindVertexBuffers +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdBindVertexBuffers :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr VkBuffer) -> ("pOffsets" ::: Ptr VkDeviceSize) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstBinding" ::: Word32) -> ("bindingCount" ::: Word32) -> ("pBuffers" ::: Ptr VkBuffer) -> ("pOffsets" ::: Ptr VkDeviceSize) -> IO ()) cmdDraw :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ()) cmdDraw deviceCmds = mkVkCmdDraw (pVkCmdDraw deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdDraw +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdDraw :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("vertexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstVertex" ::: Word32) -> ("firstInstance" ::: Word32) -> IO ()) cmdDrawIndexed :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ()) cmdDrawIndexed deviceCmds = mkVkCmdDrawIndexed (pVkCmdDrawIndexed deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdDrawIndexed +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdDrawIndexed :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("indexCount" ::: Word32) -> ("instanceCount" ::: Word32) -> ("firstIndex" ::: Word32) -> ("vertexOffset" ::: Int32) -> ("firstInstance" ::: Word32) -> IO ()) cmdDrawIndirect :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) cmdDrawIndirect deviceCmds = mkVkCmdDrawIndirect (pVkCmdDrawIndirect deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdDrawIndirect +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdDrawIndirect :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) cmdDrawIndexedIndirect :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) cmdDrawIndexedIndirect deviceCmds = mkVkCmdDrawIndexedIndirect (pVkCmdDrawIndexedIndirect deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdDrawIndexedIndirect +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdDrawIndexedIndirect :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) cmdDispatch :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) cmdDispatch deviceCmds = mkVkCmdDispatch (pVkCmdDispatch deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdDispatch +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdDispatch :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) cmdDispatchIndirect :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> IO ()) cmdDispatchIndirect deviceCmds = mkVkCmdDispatchIndirect (pVkCmdDispatchIndirect deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdDispatchIndirect +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdDispatchIndirect :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> IO ()) cmdCopyBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferCopy) -> IO ()) cmdCopyBuffer deviceCmds = mkVkCmdCopyBuffer (pVkCmdCopyBuffer deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdCopyBuffer +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdCopyBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferCopy) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferCopy) -> IO ()) cmdCopyImage :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageCopy) -> IO ()) cmdCopyImage deviceCmds = mkVkCmdCopyImage (pVkCmdCopyImage deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdCopyImage +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdCopyImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageCopy) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageCopy) -> IO ()) cmdBlitImage :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageBlit) -> ("filter" ::: VkFilter) -> IO ()) cmdBlitImage deviceCmds = mkVkCmdBlitImage (pVkCmdBlitImage deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdBlitImage +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdBlitImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageBlit) -> ("filter" ::: VkFilter) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageBlit) -> ("filter" ::: VkFilter) -> IO ()) cmdCopyBufferToImage :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) cmdCopyBufferToImage deviceCmds = mkVkCmdCopyBufferToImage (pVkCmdCopyBufferToImage deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdCopyBufferToImage +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdCopyBufferToImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcBuffer" ::: VkBuffer) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) cmdCopyImageToBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) cmdCopyImageToBuffer deviceCmds = mkVkCmdCopyImageToBuffer (pVkCmdCopyImageToBuffer deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdCopyImageToBuffer +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdCopyImageToBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstBuffer" ::: VkBuffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkBufferImageCopy) -> IO ()) cmdUpdateBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("dataSize" ::: VkDeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) cmdUpdateBuffer deviceCmds = mkVkCmdUpdateBuffer (pVkCmdUpdateBuffer deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdUpdateBuffer +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdUpdateBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("dataSize" ::: VkDeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("dataSize" ::: VkDeviceSize) -> ("pData" ::: Ptr ()) -> IO ()) cmdFillBuffer :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("data" ::: Word32) -> IO ()) cmdFillBuffer deviceCmds = mkVkCmdFillBuffer (pVkCmdFillBuffer deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdFillBuffer +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdFillBuffer :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("data" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("size" ::: VkDeviceSize) -> ("data" ::: Word32) -> IO ()) cmdClearColorImage :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pColor" ::: Ptr VkClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) cmdClearColorImage deviceCmds = mkVkCmdClearColorImage (pVkCmdClearColorImage deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdClearColorImage +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdClearColorImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pColor" ::: Ptr VkClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pColor" ::: Ptr VkClearColorValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) cmdClearDepthStencilImage :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pDepthStencil" ::: Ptr VkClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) cmdClearDepthStencilImage deviceCmds = mkVkCmdClearDepthStencilImage (pVkCmdClearDepthStencilImage deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdClearDepthStencilImage +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdClearDepthStencilImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pDepthStencil" ::: Ptr VkClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("image" ::: VkImage) -> ("imageLayout" ::: VkImageLayout) -> ("pDepthStencil" ::: Ptr VkClearDepthStencilValue) -> ("rangeCount" ::: Word32) -> ("pRanges" ::: Ptr VkImageSubresourceRange) -> IO ()) cmdClearAttachments :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr VkClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr VkClearRect) -> IO ()) cmdClearAttachments deviceCmds = mkVkCmdClearAttachments (pVkCmdClearAttachments deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdClearAttachments +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdClearAttachments :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr VkClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr VkClearRect) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("attachmentCount" ::: Word32) -> ("pAttachments" ::: Ptr VkClearAttachment) -> ("rectCount" ::: Word32) -> ("pRects" ::: Ptr VkClearRect) -> IO ()) cmdResolveImage :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageResolve) -> IO ()) cmdResolveImage deviceCmds = mkVkCmdResolveImage (pVkCmdResolveImage deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdResolveImage +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdResolveImage :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageResolve) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcImage" ::: VkImage) -> ("srcImageLayout" ::: VkImageLayout) -> ("dstImage" ::: VkImage) -> ("dstImageLayout" ::: VkImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr VkImageResolve) -> IO ()) cmdSetEvent :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) cmdSetEvent deviceCmds = mkVkCmdSetEvent (pVkCmdSetEvent deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetEvent +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetEvent :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) cmdResetEvent :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) cmdResetEvent deviceCmds = mkVkCmdResetEvent (pVkCmdResetEvent deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdResetEvent +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdResetEvent :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("event" ::: VkEvent) -> ("stageMask" ::: VkPipelineStageFlags) -> IO ()) cmdWaitEvents :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr VkEvent) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) cmdWaitEvents deviceCmds = mkVkCmdWaitEvents (pVkCmdWaitEvents deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdWaitEvents +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdWaitEvents :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr VkEvent) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("eventCount" ::: Word32) -> ("pEvents" ::: Ptr VkEvent) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) cmdPipelineBarrier :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("dependencyFlags" ::: VkDependencyFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) cmdPipelineBarrier deviceCmds = mkVkCmdPipelineBarrier (pVkCmdPipelineBarrier deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdPipelineBarrier +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdPipelineBarrier :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("dependencyFlags" ::: VkDependencyFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("srcStageMask" ::: VkPipelineStageFlags) -> ("dstStageMask" ::: VkPipelineStageFlags) -> ("dependencyFlags" ::: VkDependencyFlags) -> ("memoryBarrierCount" ::: Word32) -> ("pMemoryBarriers" ::: Ptr VkMemoryBarrier) -> ("bufferMemoryBarrierCount" ::: Word32) -> ("pBufferMemoryBarriers" ::: Ptr VkBufferMemoryBarrier) -> ("imageMemoryBarrierCount" ::: Word32) -> ("pImageMemoryBarriers" ::: Ptr VkImageMemoryBarrier) -> IO ()) cmdBeginQuery :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> ("flags" ::: VkQueryControlFlags) -> IO ()) cmdBeginQuery deviceCmds = mkVkCmdBeginQuery (pVkCmdBeginQuery deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdBeginQuery +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdBeginQuery :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> ("flags" ::: VkQueryControlFlags) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> ("flags" ::: VkQueryControlFlags) -> IO ()) cmdEndQuery :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) cmdEndQuery deviceCmds = mkVkCmdEndQuery (pVkCmdEndQuery deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdEndQuery +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdEndQuery :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) cmdResetQueryPool :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) cmdResetQueryPool deviceCmds = mkVkCmdResetQueryPool (pVkCmdResetQueryPool deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdResetQueryPool +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdResetQueryPool :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> IO ()) cmdWriteTimestamp :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) cmdWriteTimestamp deviceCmds = mkVkCmdWriteTimestamp (pVkCmdWriteTimestamp deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdWriteTimestamp +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdWriteTimestamp :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("queryPool" ::: VkQueryPool) -> ("query" ::: Word32) -> IO ()) cmdCopyQueryPoolResults :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO ()) cmdCopyQueryPoolResults deviceCmds = mkVkCmdCopyQueryPoolResults (pVkCmdCopyQueryPoolResults deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdCopyQueryPoolResults +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdCopyQueryPoolResults :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("queryPool" ::: VkQueryPool) -> ("firstQuery" ::: Word32) -> ("queryCount" ::: Word32) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("stride" ::: VkDeviceSize) -> ("flags" ::: VkQueryResultFlags) -> IO ()) cmdPushConstants :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("layout" ::: VkPipelineLayout) -> ("stageFlags" ::: VkShaderStageFlags) -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO ()) cmdPushConstants deviceCmds = mkVkCmdPushConstants (pVkCmdPushConstants deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdPushConstants +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdPushConstants :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("layout" ::: VkPipelineLayout) -> ("stageFlags" ::: VkShaderStageFlags) -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("layout" ::: VkPipelineLayout) -> ("stageFlags" ::: VkShaderStageFlags) -> ("offset" ::: Word32) -> ("size" ::: Word32) -> ("pValues" ::: Ptr ()) -> IO ()) cmdBeginRenderPass :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pRenderPassBegin" ::: Ptr VkRenderPassBeginInfo) -> ("contents" ::: VkSubpassContents) -> IO ()) cmdBeginRenderPass deviceCmds = mkVkCmdBeginRenderPass (pVkCmdBeginRenderPass deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdBeginRenderPass +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdBeginRenderPass :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pRenderPassBegin" ::: Ptr VkRenderPassBeginInfo) -> ("contents" ::: VkSubpassContents) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pRenderPassBegin" ::: Ptr VkRenderPassBeginInfo) -> ("contents" ::: VkSubpassContents) -> IO ()) cmdNextSubpass :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("contents" ::: VkSubpassContents) -> IO ()) cmdNextSubpass deviceCmds = mkVkCmdNextSubpass (pVkCmdNextSubpass deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdNextSubpass +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdNextSubpass :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("contents" ::: VkSubpassContents) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("contents" ::: VkSubpassContents) -> IO ()) cmdEndRenderPass :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> IO ()) cmdEndRenderPass deviceCmds = mkVkCmdEndRenderPass (pVkCmdEndRenderPass deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdEndRenderPass +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdEndRenderPass :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> IO ()) cmdExecuteCommands :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) cmdExecuteCommands deviceCmds = mkVkCmdExecuteCommands (pVkCmdExecuteCommands deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdExecuteCommands +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdExecuteCommands :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("commandBufferCount" ::: Word32) -> ("pCommandBuffers" ::: Ptr VkCommandBuffer) -> IO ()) createSharedSwapchainsKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> IO VkResult) createSharedSwapchainsKHR deviceCmds = mkVkCreateSharedSwapchainsKHR (pVkCreateSharedSwapchainsKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateSharedSwapchainsKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateSharedSwapchainsKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> IO VkResult) createSwapchainKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchain" ::: Ptr VkSwapchainKHR) -> IO VkResult) createSwapchainKHR deviceCmds = mkVkCreateSwapchainKHR (pVkCreateSwapchainKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateSwapchainKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateSwapchainKHR :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchain" ::: Ptr VkSwapchainKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchain" ::: Ptr VkSwapchainKHR) -> IO VkResult) destroySwapchainKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroySwapchainKHR deviceCmds = mkVkDestroySwapchainKHR (pVkDestroySwapchainKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroySwapchainKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroySwapchainKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) getSwapchainImagesKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr VkImage) -> IO VkResult) getSwapchainImagesKHR deviceCmds = mkVkGetSwapchainImagesKHR (pVkGetSwapchainImagesKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetSwapchainImagesKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetSwapchainImagesKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr VkImage) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr VkImage) -> IO VkResult) acquireNextImageKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("timeout" ::: Word64) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) acquireNextImageKHR deviceCmds = mkVkAcquireNextImageKHR (pVkAcquireNextImageKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkAcquireNextImageKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkAcquireNextImageKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("timeout" ::: Word64) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("timeout" ::: Word64) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) queuePresentKHR :: DeviceCmds -> (("queue" ::: VkQueue) -> ("pPresentInfo" ::: Ptr VkPresentInfoKHR) -> IO VkResult) queuePresentKHR deviceCmds = mkVkQueuePresentKHR (pVkQueuePresentKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkQueuePresentKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkQueuePresentKHR :: FunPtr (("queue" ::: VkQueue) -> ("pPresentInfo" ::: Ptr VkPresentInfoKHR) -> IO VkResult) -> (("queue" ::: VkQueue) -> ("pPresentInfo" ::: Ptr VkPresentInfoKHR) -> IO VkResult) debugMarkerSetObjectNameEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugMarkerObjectNameInfoEXT) -> IO VkResult) debugMarkerSetObjectNameEXT deviceCmds = mkVkDebugMarkerSetObjectNameEXT (pVkDebugMarkerSetObjectNameEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDebugMarkerSetObjectNameEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDebugMarkerSetObjectNameEXT :: FunPtr (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugMarkerObjectNameInfoEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugMarkerObjectNameInfoEXT) -> IO VkResult) debugMarkerSetObjectTagEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugMarkerObjectTagInfoEXT) -> IO VkResult) debugMarkerSetObjectTagEXT deviceCmds = mkVkDebugMarkerSetObjectTagEXT (pVkDebugMarkerSetObjectTagEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDebugMarkerSetObjectTagEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDebugMarkerSetObjectTagEXT :: FunPtr (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugMarkerObjectTagInfoEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugMarkerObjectTagInfoEXT) -> IO VkResult) cmdDebugMarkerBeginEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) cmdDebugMarkerBeginEXT deviceCmds = mkVkCmdDebugMarkerBeginEXT (pVkCmdDebugMarkerBeginEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdDebugMarkerBeginEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdDebugMarkerBeginEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) cmdDebugMarkerEndEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> IO ()) cmdDebugMarkerEndEXT deviceCmds = mkVkCmdDebugMarkerEndEXT (pVkCmdDebugMarkerEndEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdDebugMarkerEndEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdDebugMarkerEndEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> IO ()) cmdDebugMarkerInsertEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) cmdDebugMarkerInsertEXT deviceCmds = mkVkCmdDebugMarkerInsertEXT (pVkCmdDebugMarkerInsertEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdDebugMarkerInsertEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdDebugMarkerInsertEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO ()) +#if defined(VK_USE_PLATFORM_WIN32_KHR) getMemoryWin32HandleNV :: DeviceCmds -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) getMemoryWin32HandleNV deviceCmds = mkVkGetMemoryWin32HandleNV (pVkGetMemoryWin32HandleNV deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetMemoryWin32HandleNV +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetMemoryWin32HandleNV :: FunPtr (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) -> (("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) +#endif cmdDrawIndirectCountAMD :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) cmdDrawIndirectCountAMD deviceCmds = mkVkCmdDrawIndirectCountAMD (pVkCmdDrawIndirectCountAMD deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdDrawIndirectCountAMD +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdDrawIndirectCountAMD :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) cmdDrawIndexedIndirectCountAMD :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) cmdDrawIndexedIndirectCountAMD deviceCmds = mkVkCmdDrawIndexedIndirectCountAMD (pVkCmdDrawIndexedIndirectCountAMD deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdDrawIndexedIndirectCountAMD +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdDrawIndexedIndirectCountAMD :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) cmdProcessCommandsNVX :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pProcessCommandsInfo" ::: Ptr VkCmdProcessCommandsInfoNVX) -> IO ()) cmdProcessCommandsNVX deviceCmds = mkVkCmdProcessCommandsNVX (pVkCmdProcessCommandsNVX deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdProcessCommandsNVX +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdProcessCommandsNVX :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pProcessCommandsInfo" ::: Ptr VkCmdProcessCommandsInfoNVX) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pProcessCommandsInfo" ::: Ptr VkCmdProcessCommandsInfoNVX) -> IO ()) cmdReserveSpaceForCommandsNVX :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pReserveSpaceInfo" ::: Ptr VkCmdReserveSpaceForCommandsInfoNVX) -> IO ()) cmdReserveSpaceForCommandsNVX deviceCmds = mkVkCmdReserveSpaceForCommandsNVX (pVkCmdReserveSpaceForCommandsNVX deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdReserveSpaceForCommandsNVX +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdReserveSpaceForCommandsNVX :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pReserveSpaceInfo" ::: Ptr VkCmdReserveSpaceForCommandsInfoNVX) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pReserveSpaceInfo" ::: Ptr VkCmdReserveSpaceForCommandsInfoNVX) -> IO ()) createIndirectCommandsLayoutNVX :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkIndirectCommandsLayoutCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr VkIndirectCommandsLayoutNVX) -> IO VkResult) createIndirectCommandsLayoutNVX deviceCmds = mkVkCreateIndirectCommandsLayoutNVX (pVkCreateIndirectCommandsLayoutNVX deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateIndirectCommandsLayoutNVX +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateIndirectCommandsLayoutNVX :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkIndirectCommandsLayoutCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr VkIndirectCommandsLayoutNVX) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkIndirectCommandsLayoutCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr VkIndirectCommandsLayoutNVX) -> IO VkResult) destroyIndirectCommandsLayoutNVX :: DeviceCmds -> (("device" ::: VkDevice) -> ("indirectCommandsLayout" ::: VkIndirectCommandsLayoutNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyIndirectCommandsLayoutNVX deviceCmds = mkVkDestroyIndirectCommandsLayoutNVX (pVkDestroyIndirectCommandsLayoutNVX deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyIndirectCommandsLayoutNVX +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyIndirectCommandsLayoutNVX :: FunPtr (("device" ::: VkDevice) -> ("indirectCommandsLayout" ::: VkIndirectCommandsLayoutNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("indirectCommandsLayout" ::: VkIndirectCommandsLayoutNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) createObjectTableNVX :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkObjectTableCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pObjectTable" ::: Ptr VkObjectTableNVX) -> IO VkResult) createObjectTableNVX deviceCmds = mkVkCreateObjectTableNVX (pVkCreateObjectTableNVX deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateObjectTableNVX +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateObjectTableNVX :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkObjectTableCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pObjectTable" ::: Ptr VkObjectTableNVX) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkObjectTableCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pObjectTable" ::: Ptr VkObjectTableNVX) -> IO VkResult) destroyObjectTableNVX :: DeviceCmds -> (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyObjectTableNVX deviceCmds = mkVkDestroyObjectTableNVX (pVkDestroyObjectTableNVX deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyObjectTableNVX +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyObjectTableNVX :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) registerObjectsNVX :: DeviceCmds -> (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("ppObjectTableEntries" ::: Ptr (Ptr VkObjectTableEntryNVX)) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) registerObjectsNVX deviceCmds = mkVkRegisterObjectsNVX (pVkRegisterObjectsNVX deviceCmds) -foreign import ccall unsafe "dynamic" mkVkRegisterObjectsNVX +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkRegisterObjectsNVX :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("ppObjectTableEntries" ::: Ptr (Ptr VkObjectTableEntryNVX)) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) -> (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("ppObjectTableEntries" ::: Ptr (Ptr VkObjectTableEntryNVX)) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) unregisterObjectsNVX :: DeviceCmds -> (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("pObjectEntryTypes" ::: Ptr VkObjectEntryTypeNVX) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) unregisterObjectsNVX deviceCmds = mkVkUnregisterObjectsNVX (pVkUnregisterObjectsNVX deviceCmds) -foreign import ccall unsafe "dynamic" mkVkUnregisterObjectsNVX +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkUnregisterObjectsNVX :: FunPtr (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("pObjectEntryTypes" ::: Ptr VkObjectEntryTypeNVX) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) -> (("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("pObjectEntryTypes" ::: Ptr VkObjectEntryTypeNVX) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult) cmdPushDescriptorSetKHR :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> IO ()) cmdPushDescriptorSetKHR deviceCmds = mkVkCmdPushDescriptorSetKHR (pVkCmdPushDescriptorSetKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdPushDescriptorSetKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdPushDescriptorSetKHR :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> IO ()) trimCommandPool :: DeviceCmds -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolTrimFlags) -> IO ()) trimCommandPool deviceCmds = mkVkTrimCommandPool (pVkTrimCommandPool deviceCmds) -foreign import ccall unsafe "dynamic" mkVkTrimCommandPool +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkTrimCommandPool :: FunPtr (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolTrimFlags) -> IO ()) -> (("device" ::: VkDevice) -> ("commandPool" ::: VkCommandPool) -> ("flags" ::: VkCommandPoolTrimFlags) -> IO ()) +#if defined(VK_USE_PLATFORM_WIN32_KHR) getMemoryWin32HandleKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkMemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) getMemoryWin32HandleKHR deviceCmds = mkVkGetMemoryWin32HandleKHR (pVkGetMemoryWin32HandleKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetMemoryWin32HandleKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetMemoryWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkMemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkMemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) getMemoryWin32HandlePropertiesKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("handle" ::: HANDLE) -> ("pMemoryWin32HandleProperties" ::: Ptr VkMemoryWin32HandlePropertiesKHR) -> IO VkResult) getMemoryWin32HandlePropertiesKHR deviceCmds = mkVkGetMemoryWin32HandlePropertiesKHR (pVkGetMemoryWin32HandlePropertiesKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetMemoryWin32HandlePropertiesKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetMemoryWin32HandlePropertiesKHR :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("handle" ::: HANDLE) -> ("pMemoryWin32HandleProperties" ::: Ptr VkMemoryWin32HandlePropertiesKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("handle" ::: HANDLE) -> ("pMemoryWin32HandleProperties" ::: Ptr VkMemoryWin32HandlePropertiesKHR) -> IO VkResult) +#endif getMemoryFdKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkMemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) getMemoryFdKHR deviceCmds = mkVkGetMemoryFdKHR (pVkGetMemoryFdKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetMemoryFdKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetMemoryFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkMemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkMemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) getMemoryFdPropertiesKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr VkMemoryFdPropertiesKHR) -> IO VkResult) getMemoryFdPropertiesKHR deviceCmds = mkVkGetMemoryFdPropertiesKHR (pVkGetMemoryFdPropertiesKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetMemoryFdPropertiesKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetMemoryFdPropertiesKHR :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr VkMemoryFdPropertiesKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr VkMemoryFdPropertiesKHR) -> IO VkResult) +#if defined(VK_USE_PLATFORM_WIN32_KHR) getSemaphoreWin32HandleKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkSemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) getSemaphoreWin32HandleKHR deviceCmds = mkVkGetSemaphoreWin32HandleKHR (pVkGetSemaphoreWin32HandleKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetSemaphoreWin32HandleKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetSemaphoreWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkSemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkSemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) importSemaphoreWin32HandleKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr VkImportSemaphoreWin32HandleInfoKHR) -> IO VkResult) importSemaphoreWin32HandleKHR deviceCmds = mkVkImportSemaphoreWin32HandleKHR (pVkImportSemaphoreWin32HandleKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkImportSemaphoreWin32HandleKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkImportSemaphoreWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr VkImportSemaphoreWin32HandleInfoKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr VkImportSemaphoreWin32HandleInfoKHR) -> IO VkResult) +#endif getSemaphoreFdKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkSemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) getSemaphoreFdKHR deviceCmds = mkVkGetSemaphoreFdKHR (pVkGetSemaphoreFdKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetSemaphoreFdKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetSemaphoreFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkSemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkSemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) importSemaphoreFdKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pImportSemaphoreFdInfo" ::: Ptr VkImportSemaphoreFdInfoKHR) -> IO VkResult) importSemaphoreFdKHR deviceCmds = mkVkImportSemaphoreFdKHR (pVkImportSemaphoreFdKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkImportSemaphoreFdKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkImportSemaphoreFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportSemaphoreFdInfo" ::: Ptr VkImportSemaphoreFdInfoKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pImportSemaphoreFdInfo" ::: Ptr VkImportSemaphoreFdInfoKHR) -> IO VkResult) +#if defined(VK_USE_PLATFORM_WIN32_KHR) getFenceWin32HandleKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkFenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) getFenceWin32HandleKHR deviceCmds = mkVkGetFenceWin32HandleKHR (pVkGetFenceWin32HandleKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetFenceWin32HandleKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetFenceWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkFenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkFenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult) importFenceWin32HandleKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pImportFenceWin32HandleInfo" ::: Ptr VkImportFenceWin32HandleInfoKHR) -> IO VkResult) importFenceWin32HandleKHR deviceCmds = mkVkImportFenceWin32HandleKHR (pVkImportFenceWin32HandleKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkImportFenceWin32HandleKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkImportFenceWin32HandleKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportFenceWin32HandleInfo" ::: Ptr VkImportFenceWin32HandleInfoKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pImportFenceWin32HandleInfo" ::: Ptr VkImportFenceWin32HandleInfoKHR) -> IO VkResult) +#endif getFenceFdKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkFenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) getFenceFdKHR deviceCmds = mkVkGetFenceFdKHR (pVkGetFenceFdKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetFenceFdKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetFenceFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkFenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkFenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult) importFenceFdKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pImportFenceFdInfo" ::: Ptr VkImportFenceFdInfoKHR) -> IO VkResult) importFenceFdKHR deviceCmds = mkVkImportFenceFdKHR (pVkImportFenceFdKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkImportFenceFdKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkImportFenceFdKHR :: FunPtr (("device" ::: VkDevice) -> ("pImportFenceFdInfo" ::: Ptr VkImportFenceFdInfoKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pImportFenceFdInfo" ::: Ptr VkImportFenceFdInfoKHR) -> IO VkResult) displayPowerControlEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayPowerInfo" ::: Ptr VkDisplayPowerInfoEXT) -> IO VkResult) displayPowerControlEXT deviceCmds = mkVkDisplayPowerControlEXT (pVkDisplayPowerControlEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDisplayPowerControlEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDisplayPowerControlEXT :: FunPtr (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayPowerInfo" ::: Ptr VkDisplayPowerInfoEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayPowerInfo" ::: Ptr VkDisplayPowerInfoEXT) -> IO VkResult) registerDeviceEventEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("pDeviceEventInfo" ::: Ptr VkDeviceEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) registerDeviceEventEXT deviceCmds = mkVkRegisterDeviceEventEXT (pVkRegisterDeviceEventEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkRegisterDeviceEventEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkRegisterDeviceEventEXT :: FunPtr (("device" ::: VkDevice) -> ("pDeviceEventInfo" ::: Ptr VkDeviceEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pDeviceEventInfo" ::: Ptr VkDeviceEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) registerDisplayEventEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayEventInfo" ::: Ptr VkDisplayEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) registerDisplayEventEXT deviceCmds = mkVkRegisterDisplayEventEXT (pVkRegisterDisplayEventEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkRegisterDisplayEventEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkRegisterDisplayEventEXT :: FunPtr (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayEventInfo" ::: Ptr VkDisplayEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) -> (("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayEventInfo" ::: Ptr VkDisplayEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult) getSwapchainCounterEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("counter" ::: VkSurfaceCounterFlagBitsEXT) -> ("pCounterValue" ::: Ptr Word64) -> IO VkResult) getSwapchainCounterEXT deviceCmds = mkVkGetSwapchainCounterEXT (pVkGetSwapchainCounterEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetSwapchainCounterEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetSwapchainCounterEXT :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("counter" ::: VkSurfaceCounterFlagBitsEXT) -> ("pCounterValue" ::: Ptr Word64) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("counter" ::: VkSurfaceCounterFlagBitsEXT) -> ("pCounterValue" ::: Ptr Word64) -> IO VkResult) getDeviceGroupPeerMemoryFeatures :: DeviceCmds -> (("device" ::: VkDevice) -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr VkPeerMemoryFeatureFlags) -> IO ()) getDeviceGroupPeerMemoryFeatures deviceCmds = mkVkGetDeviceGroupPeerMemoryFeatures (pVkGetDeviceGroupPeerMemoryFeatures deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetDeviceGroupPeerMemoryFeatures +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetDeviceGroupPeerMemoryFeatures :: FunPtr (("device" ::: VkDevice) -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr VkPeerMemoryFeatureFlags) -> IO ()) -> (("device" ::: VkDevice) -> ("heapIndex" ::: Word32) -> ("localDeviceIndex" ::: Word32) -> ("remoteDeviceIndex" ::: Word32) -> ("pPeerMemoryFeatures" ::: Ptr VkPeerMemoryFeatureFlags) -> IO ()) bindBufferMemory2 :: DeviceCmds -> (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindBufferMemoryInfo) -> IO VkResult) bindBufferMemory2 deviceCmds = mkVkBindBufferMemory2 (pVkBindBufferMemory2 deviceCmds) -foreign import ccall unsafe "dynamic" mkVkBindBufferMemory2 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkBindBufferMemory2 :: FunPtr (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindBufferMemoryInfo) -> IO VkResult) -> (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindBufferMemoryInfo) -> IO VkResult) bindImageMemory2 :: DeviceCmds -> (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindImageMemoryInfo) -> IO VkResult) bindImageMemory2 deviceCmds = mkVkBindImageMemory2 (pVkBindImageMemory2 deviceCmds) -foreign import ccall unsafe "dynamic" mkVkBindImageMemory2 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkBindImageMemory2 :: FunPtr (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindImageMemoryInfo) -> IO VkResult) -> (("device" ::: VkDevice) -> ("bindInfoCount" ::: Word32) -> ("pBindInfos" ::: Ptr VkBindImageMemoryInfo) -> IO VkResult) cmdSetDeviceMask :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("deviceMask" ::: Word32) -> IO ()) cmdSetDeviceMask deviceCmds = mkVkCmdSetDeviceMask (pVkCmdSetDeviceMask deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetDeviceMask +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetDeviceMask :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("deviceMask" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("deviceMask" ::: Word32) -> IO ()) getDeviceGroupPresentCapabilitiesKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pDeviceGroupPresentCapabilities" ::: Ptr VkDeviceGroupPresentCapabilitiesKHR) -> IO VkResult) getDeviceGroupPresentCapabilitiesKHR deviceCmds = mkVkGetDeviceGroupPresentCapabilitiesKHR (pVkGetDeviceGroupPresentCapabilitiesKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetDeviceGroupPresentCapabilitiesKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetDeviceGroupPresentCapabilitiesKHR :: FunPtr (("device" ::: VkDevice) -> ("pDeviceGroupPresentCapabilities" ::: Ptr VkDeviceGroupPresentCapabilitiesKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pDeviceGroupPresentCapabilities" ::: Ptr VkDeviceGroupPresentCapabilitiesKHR) -> IO VkResult) getDeviceGroupSurfacePresentModesKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pModes" ::: Ptr VkDeviceGroupPresentModeFlagsKHR) -> IO VkResult) getDeviceGroupSurfacePresentModesKHR deviceCmds = mkVkGetDeviceGroupSurfacePresentModesKHR (pVkGetDeviceGroupSurfacePresentModesKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetDeviceGroupSurfacePresentModesKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetDeviceGroupSurfacePresentModesKHR :: FunPtr (("device" ::: VkDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pModes" ::: Ptr VkDeviceGroupPresentModeFlagsKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pModes" ::: Ptr VkDeviceGroupPresentModeFlagsKHR) -> IO VkResult) acquireNextImage2KHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("pAcquireInfo" ::: Ptr VkAcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) acquireNextImage2KHR deviceCmds = mkVkAcquireNextImage2KHR (pVkAcquireNextImage2KHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkAcquireNextImage2KHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkAcquireNextImage2KHR :: FunPtr (("device" ::: VkDevice) -> ("pAcquireInfo" ::: Ptr VkAcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pAcquireInfo" ::: Ptr VkAcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult) cmdDispatchBase :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) cmdDispatchBase deviceCmds = mkVkCmdDispatchBase (pVkCmdDispatchBase deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdDispatchBase +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdDispatchBase :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("baseGroupX" ::: Word32) -> ("baseGroupY" ::: Word32) -> ("baseGroupZ" ::: Word32) -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) createDescriptorUpdateTemplate :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr VkDescriptorUpdateTemplate) -> IO VkResult) createDescriptorUpdateTemplate deviceCmds = mkVkCreateDescriptorUpdateTemplate (pVkCreateDescriptorUpdateTemplate deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateDescriptorUpdateTemplate +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateDescriptorUpdateTemplate :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr VkDescriptorUpdateTemplate) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorUpdateTemplateCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDescriptorUpdateTemplate" ::: Ptr VkDescriptorUpdateTemplate) -> IO VkResult) destroyDescriptorUpdateTemplate :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyDescriptorUpdateTemplate deviceCmds = mkVkDestroyDescriptorUpdateTemplate (pVkDestroyDescriptorUpdateTemplate deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyDescriptorUpdateTemplate +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyDescriptorUpdateTemplate :: FunPtr (("device" ::: VkDevice) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) updateDescriptorSetWithTemplate :: DeviceCmds -> (("device" ::: VkDevice) -> ("descriptorSet" ::: VkDescriptorSet) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pData" ::: Ptr ()) -> IO ()) updateDescriptorSetWithTemplate deviceCmds = mkVkUpdateDescriptorSetWithTemplate (pVkUpdateDescriptorSetWithTemplate deviceCmds) -foreign import ccall unsafe "dynamic" mkVkUpdateDescriptorSetWithTemplate +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkUpdateDescriptorSetWithTemplate :: FunPtr (("device" ::: VkDevice) -> ("descriptorSet" ::: VkDescriptorSet) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pData" ::: Ptr ()) -> IO ()) -> (("device" ::: VkDevice) -> ("descriptorSet" ::: VkDescriptorSet) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("pData" ::: Ptr ()) -> IO ()) cmdPushDescriptorSetWithTemplateKHR :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO ()) cmdPushDescriptorSetWithTemplateKHR deviceCmds = mkVkCmdPushDescriptorSetWithTemplateKHR (pVkCmdPushDescriptorSetWithTemplateKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdPushDescriptorSetWithTemplateKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdPushDescriptorSetWithTemplateKHR :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO ()) setHdrMetadataEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> ("pMetadata" ::: Ptr VkHdrMetadataEXT) -> IO ()) setHdrMetadataEXT deviceCmds = mkVkSetHdrMetadataEXT (pVkSetHdrMetadataEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkSetHdrMetadataEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkSetHdrMetadataEXT :: FunPtr (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> ("pMetadata" ::: Ptr VkHdrMetadataEXT) -> IO ()) -> (("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> ("pMetadata" ::: Ptr VkHdrMetadataEXT) -> IO ()) getSwapchainStatusKHR :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> IO VkResult) getSwapchainStatusKHR deviceCmds = mkVkGetSwapchainStatusKHR (pVkGetSwapchainStatusKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetSwapchainStatusKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetSwapchainStatusKHR :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> IO VkResult) getRefreshCycleDurationGOOGLE :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pDisplayTimingProperties" ::: Ptr VkRefreshCycleDurationGOOGLE) -> IO VkResult) getRefreshCycleDurationGOOGLE deviceCmds = mkVkGetRefreshCycleDurationGOOGLE (pVkGetRefreshCycleDurationGOOGLE deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetRefreshCycleDurationGOOGLE +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetRefreshCycleDurationGOOGLE :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pDisplayTimingProperties" ::: Ptr VkRefreshCycleDurationGOOGLE) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pDisplayTimingProperties" ::: Ptr VkRefreshCycleDurationGOOGLE) -> IO VkResult) getPastPresentationTimingGOOGLE :: DeviceCmds -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr VkPastPresentationTimingGOOGLE) -> IO VkResult) getPastPresentationTimingGOOGLE deviceCmds = mkVkGetPastPresentationTimingGOOGLE (pVkGetPastPresentationTimingGOOGLE deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPastPresentationTimingGOOGLE +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPastPresentationTimingGOOGLE :: FunPtr (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr VkPastPresentationTimingGOOGLE) -> IO VkResult) -> (("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr VkPastPresentationTimingGOOGLE) -> IO VkResult) cmdSetViewportWScalingNV :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr VkViewportWScalingNV) -> IO ()) cmdSetViewportWScalingNV deviceCmds = mkVkCmdSetViewportWScalingNV (pVkCmdSetViewportWScalingNV deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetViewportWScalingNV +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetViewportWScalingNV :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr VkViewportWScalingNV) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr VkViewportWScalingNV) -> IO ()) cmdSetDiscardRectangleEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr VkRect2D) -> IO ()) cmdSetDiscardRectangleEXT deviceCmds = mkVkCmdSetDiscardRectangleEXT (pVkCmdSetDiscardRectangleEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetDiscardRectangleEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetDiscardRectangleEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr VkRect2D) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr VkRect2D) -> IO ()) cmdSetSampleLocationsEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pSampleLocationsInfo" ::: Ptr VkSampleLocationsInfoEXT) -> IO ()) cmdSetSampleLocationsEXT deviceCmds = mkVkCmdSetSampleLocationsEXT (pVkCmdSetSampleLocationsEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdSetSampleLocationsEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdSetSampleLocationsEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pSampleLocationsInfo" ::: Ptr VkSampleLocationsInfoEXT) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pSampleLocationsInfo" ::: Ptr VkSampleLocationsInfoEXT) -> IO ()) getBufferMemoryRequirements2 :: DeviceCmds -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkBufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) getBufferMemoryRequirements2 deviceCmds = mkVkGetBufferMemoryRequirements2 (pVkGetBufferMemoryRequirements2 deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetBufferMemoryRequirements2 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetBufferMemoryRequirements2 :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkBufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkBufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) getImageMemoryRequirements2 :: DeviceCmds -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) getImageMemoryRequirements2 deviceCmds = mkVkGetImageMemoryRequirements2 (pVkGetImageMemoryRequirements2 deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetImageMemoryRequirements2 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetImageMemoryRequirements2 :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr VkMemoryRequirements2) -> IO ()) getImageSparseMemoryRequirements2 :: DeviceCmds -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements2) -> IO ()) getImageSparseMemoryRequirements2 deviceCmds = mkVkGetImageSparseMemoryRequirements2 (pVkGetImageSparseMemoryRequirements2 deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetImageSparseMemoryRequirements2 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetImageSparseMemoryRequirements2 :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements2) -> IO ()) -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr VkSparseImageMemoryRequirements2) -> IO ()) createSamplerYcbcrConversion :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerYcbcrConversionCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr VkSamplerYcbcrConversion) -> IO VkResult) createSamplerYcbcrConversion deviceCmds = mkVkCreateSamplerYcbcrConversion (pVkCreateSamplerYcbcrConversion deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateSamplerYcbcrConversion +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateSamplerYcbcrConversion :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerYcbcrConversionCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr VkSamplerYcbcrConversion) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSamplerYcbcrConversionCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr VkSamplerYcbcrConversion) -> IO VkResult) destroySamplerYcbcrConversion :: DeviceCmds -> (("device" ::: VkDevice) -> ("ycbcrConversion" ::: VkSamplerYcbcrConversion) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroySamplerYcbcrConversion deviceCmds = mkVkDestroySamplerYcbcrConversion (pVkDestroySamplerYcbcrConversion deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroySamplerYcbcrConversion +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroySamplerYcbcrConversion :: FunPtr (("device" ::: VkDevice) -> ("ycbcrConversion" ::: VkSamplerYcbcrConversion) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("ycbcrConversion" ::: VkSamplerYcbcrConversion) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) getDeviceQueue2 :: DeviceCmds -> (("device" ::: VkDevice) -> ("pQueueInfo" ::: Ptr VkDeviceQueueInfo2) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) getDeviceQueue2 deviceCmds = mkVkGetDeviceQueue2 (pVkGetDeviceQueue2 deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetDeviceQueue2 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetDeviceQueue2 :: FunPtr (("device" ::: VkDevice) -> ("pQueueInfo" ::: Ptr VkDeviceQueueInfo2) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) -> (("device" ::: VkDevice) -> ("pQueueInfo" ::: Ptr VkDeviceQueueInfo2) -> ("pQueue" ::: Ptr VkQueue) -> IO ()) createValidationCacheEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pValidationCache" ::: Ptr VkValidationCacheEXT) -> IO VkResult) createValidationCacheEXT deviceCmds = mkVkCreateValidationCacheEXT (pVkCreateValidationCacheEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateValidationCacheEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateValidationCacheEXT :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pValidationCache" ::: Ptr VkValidationCacheEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pValidationCache" ::: Ptr VkValidationCacheEXT) -> IO VkResult) destroyValidationCacheEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyValidationCacheEXT deviceCmds = mkVkDestroyValidationCacheEXT (pVkDestroyValidationCacheEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyValidationCacheEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyValidationCacheEXT :: FunPtr (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) getValidationCacheDataEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) getValidationCacheDataEXT deviceCmds = mkVkGetValidationCacheDataEXT (pVkGetValidationCacheDataEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetValidationCacheDataEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetValidationCacheDataEXT :: FunPtr (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) -> (("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult) mergeValidationCachesEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("dstCache" ::: VkValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkValidationCacheEXT) -> IO VkResult) mergeValidationCachesEXT deviceCmds = mkVkMergeValidationCachesEXT (pVkMergeValidationCachesEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkMergeValidationCachesEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkMergeValidationCachesEXT :: FunPtr (("device" ::: VkDevice) -> ("dstCache" ::: VkValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkValidationCacheEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("dstCache" ::: VkValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkValidationCacheEXT) -> IO VkResult) getDescriptorSetLayoutSupport :: DeviceCmds -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pSupport" ::: Ptr VkDescriptorSetLayoutSupport) -> IO ()) getDescriptorSetLayoutSupport deviceCmds = mkVkGetDescriptorSetLayoutSupport (pVkGetDescriptorSetLayoutSupport deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetDescriptorSetLayoutSupport +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetDescriptorSetLayoutSupport :: FunPtr (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pSupport" ::: Ptr VkDescriptorSetLayoutSupport) -> IO ()) -> (("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkDescriptorSetLayoutCreateInfo) -> ("pSupport" ::: Ptr VkDescriptorSetLayoutSupport) -> IO ()) getSwapchainGrallocUsageANDROID :: DeviceCmds -> (("device" ::: VkDevice) -> ("format" ::: VkFormat) -> ("imageUsage" ::: VkImageUsageFlags) -> ("grallocUsage" ::: Ptr CInt) -> IO VkResult) getSwapchainGrallocUsageANDROID deviceCmds = mkVkGetSwapchainGrallocUsageANDROID (pVkGetSwapchainGrallocUsageANDROID deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetSwapchainGrallocUsageANDROID +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetSwapchainGrallocUsageANDROID :: FunPtr (("device" ::: VkDevice) -> ("format" ::: VkFormat) -> ("imageUsage" ::: VkImageUsageFlags) -> ("grallocUsage" ::: Ptr CInt) -> IO VkResult) -> (("device" ::: VkDevice) -> ("format" ::: VkFormat) -> ("imageUsage" ::: VkImageUsageFlags) -> ("grallocUsage" ::: Ptr CInt) -> IO VkResult) acquireImageANDROID :: DeviceCmds -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("nativeFenceFd" ::: CInt) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> IO VkResult) acquireImageANDROID deviceCmds = mkVkAcquireImageANDROID (pVkAcquireImageANDROID deviceCmds) -foreign import ccall unsafe "dynamic" mkVkAcquireImageANDROID +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkAcquireImageANDROID :: FunPtr (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("nativeFenceFd" ::: CInt) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> IO VkResult) -> (("device" ::: VkDevice) -> ("image" ::: VkImage) -> ("nativeFenceFd" ::: CInt) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> IO VkResult) queueSignalReleaseImageANDROID :: DeviceCmds -> (("queue" ::: VkQueue) -> ("waitSemaphoreCount" ::: Word32) -> ("pWaitSemaphores" ::: Ptr VkSemaphore) -> ("image" ::: VkImage) -> ("pNativeFenceFd" ::: Ptr CInt) -> IO VkResult) queueSignalReleaseImageANDROID deviceCmds = mkVkQueueSignalReleaseImageANDROID (pVkQueueSignalReleaseImageANDROID deviceCmds) -foreign import ccall unsafe "dynamic" mkVkQueueSignalReleaseImageANDROID +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkQueueSignalReleaseImageANDROID :: FunPtr (("queue" ::: VkQueue) -> ("waitSemaphoreCount" ::: Word32) -> ("pWaitSemaphores" ::: Ptr VkSemaphore) -> ("image" ::: VkImage) -> ("pNativeFenceFd" ::: Ptr CInt) -> IO VkResult) -> (("queue" ::: VkQueue) -> ("waitSemaphoreCount" ::: Word32) -> ("pWaitSemaphores" ::: Ptr VkSemaphore) -> ("image" ::: VkImage) -> ("pNativeFenceFd" ::: Ptr CInt) -> IO VkResult) getShaderInfoAMD :: DeviceCmds -> (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("shaderStage" ::: VkShaderStageFlagBits) -> ("infoType" ::: VkShaderInfoTypeAMD) -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO VkResult) getShaderInfoAMD deviceCmds = mkVkGetShaderInfoAMD (pVkGetShaderInfoAMD deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetShaderInfoAMD +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetShaderInfoAMD :: FunPtr (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("shaderStage" ::: VkShaderStageFlagBits) -> ("infoType" ::: VkShaderInfoTypeAMD) -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("shaderStage" ::: VkShaderStageFlagBits) -> ("infoType" ::: VkShaderInfoTypeAMD) -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO VkResult) setDebugUtilsObjectNameEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult) setDebugUtilsObjectNameEXT deviceCmds = mkVkSetDebugUtilsObjectNameEXT (pVkSetDebugUtilsObjectNameEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkSetDebugUtilsObjectNameEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkSetDebugUtilsObjectNameEXT :: FunPtr (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult) setDebugUtilsObjectTagEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult) setDebugUtilsObjectTagEXT deviceCmds = mkVkSetDebugUtilsObjectTagEXT (pVkSetDebugUtilsObjectTagEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkSetDebugUtilsObjectTagEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkSetDebugUtilsObjectTagEXT :: FunPtr (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult) queueBeginDebugUtilsLabelEXT :: DeviceCmds -> (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) queueBeginDebugUtilsLabelEXT deviceCmds = mkVkQueueBeginDebugUtilsLabelEXT (pVkQueueBeginDebugUtilsLabelEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkQueueBeginDebugUtilsLabelEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkQueueBeginDebugUtilsLabelEXT :: FunPtr (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) -> (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) queueEndDebugUtilsLabelEXT :: DeviceCmds -> (("queue" ::: VkQueue) -> IO ()) queueEndDebugUtilsLabelEXT deviceCmds = mkVkQueueEndDebugUtilsLabelEXT (pVkQueueEndDebugUtilsLabelEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkQueueEndDebugUtilsLabelEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkQueueEndDebugUtilsLabelEXT :: FunPtr (("queue" ::: VkQueue) -> IO ()) -> (("queue" ::: VkQueue) -> IO ()) queueInsertDebugUtilsLabelEXT :: DeviceCmds -> (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) queueInsertDebugUtilsLabelEXT deviceCmds = mkVkQueueInsertDebugUtilsLabelEXT (pVkQueueInsertDebugUtilsLabelEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkQueueInsertDebugUtilsLabelEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkQueueInsertDebugUtilsLabelEXT :: FunPtr (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) -> (("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) cmdBeginDebugUtilsLabelEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) cmdBeginDebugUtilsLabelEXT deviceCmds = mkVkCmdBeginDebugUtilsLabelEXT (pVkCmdBeginDebugUtilsLabelEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdBeginDebugUtilsLabelEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdBeginDebugUtilsLabelEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) cmdEndDebugUtilsLabelEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> IO ()) cmdEndDebugUtilsLabelEXT deviceCmds = mkVkCmdEndDebugUtilsLabelEXT (pVkCmdEndDebugUtilsLabelEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdEndDebugUtilsLabelEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdEndDebugUtilsLabelEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> IO ()) cmdInsertDebugUtilsLabelEXT :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) cmdInsertDebugUtilsLabelEXT deviceCmds = mkVkCmdInsertDebugUtilsLabelEXT (pVkCmdInsertDebugUtilsLabelEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdInsertDebugUtilsLabelEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdInsertDebugUtilsLabelEXT :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO ()) getMemoryHostPointerPropertiesEXT :: DeviceCmds -> (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr VkMemoryHostPointerPropertiesEXT) -> IO VkResult) getMemoryHostPointerPropertiesEXT deviceCmds = mkVkGetMemoryHostPointerPropertiesEXT (pVkGetMemoryHostPointerPropertiesEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetMemoryHostPointerPropertiesEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetMemoryHostPointerPropertiesEXT :: FunPtr (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr VkMemoryHostPointerPropertiesEXT) -> IO VkResult) -> (("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr VkMemoryHostPointerPropertiesEXT) -> IO VkResult) cmdWriteBufferMarkerAMD :: DeviceCmds -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("marker" ::: Word32) -> IO ()) cmdWriteBufferMarkerAMD deviceCmds = mkVkCmdWriteBufferMarkerAMD (pVkCmdWriteBufferMarkerAMD deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCmdWriteBufferMarkerAMD +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCmdWriteBufferMarkerAMD :: FunPtr (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("marker" ::: Word32) -> IO ()) -> (("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("marker" ::: Word32) -> IO ()) +#if defined(VK_USE_PLATFORM_ANDROID_KHR) getAndroidHardwareBufferPropertiesANDROID :: DeviceCmds -> (("device" ::: VkDevice) -> ("buffer" ::: Ptr AHardwareBuffer) -> ("pProperties" ::: Ptr VkAndroidHardwareBufferPropertiesANDROID) -> IO VkResult) getAndroidHardwareBufferPropertiesANDROID deviceCmds = mkVkGetAndroidHardwareBufferPropertiesANDROID (pVkGetAndroidHardwareBufferPropertiesANDROID deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetAndroidHardwareBufferPropertiesANDROID +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetAndroidHardwareBufferPropertiesANDROID :: FunPtr (("device" ::: VkDevice) -> ("buffer" ::: Ptr AHardwareBuffer) -> ("pProperties" ::: Ptr VkAndroidHardwareBufferPropertiesANDROID) -> IO VkResult) -> (("device" ::: VkDevice) -> ("buffer" ::: Ptr AHardwareBuffer) -> ("pProperties" ::: Ptr VkAndroidHardwareBufferPropertiesANDROID) -> IO VkResult) getMemoryAndroidHardwareBufferANDROID :: DeviceCmds -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO VkResult) getMemoryAndroidHardwareBufferANDROID deviceCmds = mkVkGetMemoryAndroidHardwareBufferANDROID (pVkGetMemoryAndroidHardwareBufferANDROID deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetMemoryAndroidHardwareBufferANDROID +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetMemoryAndroidHardwareBufferANDROID :: FunPtr (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO VkResult) -> (("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO VkResult) +#endif -- * Instance commands destroyInstance :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyInstance deviceCmds = mkVkDestroyInstance (pVkDestroyInstance deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyInstance +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyInstance :: FunPtr (("instance" ::: VkInstance) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("instance" ::: VkInstance) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) enumeratePhysicalDevices :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr VkPhysicalDevice) -> IO VkResult) enumeratePhysicalDevices deviceCmds = mkVkEnumeratePhysicalDevices (pVkEnumeratePhysicalDevices deviceCmds) -foreign import ccall unsafe "dynamic" mkVkEnumeratePhysicalDevices +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkEnumeratePhysicalDevices :: FunPtr (("instance" ::: VkInstance) -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr VkPhysicalDevice) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pPhysicalDeviceCount" ::: Ptr Word32) -> ("pPhysicalDevices" ::: Ptr VkPhysicalDevice) -> IO VkResult) getInstanceProcAddr :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) getInstanceProcAddr deviceCmds = mkVkGetInstanceProcAddr (pVkGetInstanceProcAddr deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetInstanceProcAddr +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetInstanceProcAddr :: FunPtr (("instance" ::: VkInstance) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) -> (("instance" ::: VkInstance) -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) getPhysicalDeviceProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties) -> IO ()) getPhysicalDeviceProperties deviceCmds = mkVkGetPhysicalDeviceProperties (pVkGetPhysicalDeviceProperties deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceProperties +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties) -> IO ()) getPhysicalDeviceQueueFamilyProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties) -> IO ()) getPhysicalDeviceQueueFamilyProperties deviceCmds = mkVkGetPhysicalDeviceQueueFamilyProperties (pVkGetPhysicalDeviceQueueFamilyProperties deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceQueueFamilyProperties +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceQueueFamilyProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties) -> IO ()) getPhysicalDeviceMemoryProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties) -> IO ()) getPhysicalDeviceMemoryProperties deviceCmds = mkVkGetPhysicalDeviceMemoryProperties (pVkGetPhysicalDeviceMemoryProperties deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceMemoryProperties +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceMemoryProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties) -> IO ()) getPhysicalDeviceFeatures :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures) -> IO ()) getPhysicalDeviceFeatures deviceCmds = mkVkGetPhysicalDeviceFeatures (pVkGetPhysicalDeviceFeatures deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceFeatures +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceFeatures :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures) -> IO ()) getPhysicalDeviceFormatProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties) -> IO ()) getPhysicalDeviceFormatProperties deviceCmds = mkVkGetPhysicalDeviceFormatProperties (pVkGetPhysicalDeviceFormatProperties deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceFormatProperties +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceFormatProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties) -> IO ()) getPhysicalDeviceImageFormatProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties) -> IO VkResult) getPhysicalDeviceImageFormatProperties deviceCmds = mkVkGetPhysicalDeviceImageFormatProperties (pVkGetPhysicalDeviceImageFormatProperties deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceImageFormatProperties +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceImageFormatProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties) -> IO VkResult) createDevice :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pCreateInfo" ::: Ptr VkDeviceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDevice" ::: Ptr VkDevice) -> IO VkResult) createDevice deviceCmds = mkVkCreateDevice (pVkCreateDevice deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateDevice +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateDevice :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pCreateInfo" ::: Ptr VkDeviceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDevice" ::: Ptr VkDevice) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pCreateInfo" ::: Ptr VkDeviceCreateInfo) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pDevice" ::: Ptr VkDevice) -> IO VkResult) enumerateDeviceLayerProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkLayerProperties) -> IO VkResult) enumerateDeviceLayerProperties deviceCmds = mkVkEnumerateDeviceLayerProperties (pVkEnumerateDeviceLayerProperties deviceCmds) -foreign import ccall unsafe "dynamic" mkVkEnumerateDeviceLayerProperties +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkEnumerateDeviceLayerProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkLayerProperties) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkLayerProperties) -> IO VkResult) enumerateDeviceExtensionProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkExtensionProperties) -> IO VkResult) enumerateDeviceExtensionProperties deviceCmds = mkVkEnumerateDeviceExtensionProperties (pVkEnumerateDeviceExtensionProperties deviceCmds) -foreign import ccall unsafe "dynamic" mkVkEnumerateDeviceExtensionProperties +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkEnumerateDeviceExtensionProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkExtensionProperties) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pLayerName" ::: Ptr CChar) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkExtensionProperties) -> IO VkResult) getPhysicalDeviceSparseImageFormatProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("samples" ::: VkSampleCountFlagBits) -> ("usage" ::: VkImageUsageFlags) -> ("tiling" ::: VkImageTiling) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties) -> IO ()) getPhysicalDeviceSparseImageFormatProperties deviceCmds = mkVkGetPhysicalDeviceSparseImageFormatProperties (pVkGetPhysicalDeviceSparseImageFormatProperties deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSparseImageFormatProperties +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceSparseImageFormatProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("samples" ::: VkSampleCountFlagBits) -> ("usage" ::: VkImageUsageFlags) -> ("tiling" ::: VkImageTiling) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("samples" ::: VkSampleCountFlagBits) -> ("usage" ::: VkImageUsageFlags) -> ("tiling" ::: VkImageTiling) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties) -> IO ()) +#if defined(VK_USE_PLATFORM_ANDROID_KHR) createAndroidSurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkAndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) createAndroidSurfaceKHR deviceCmds = mkVkCreateAndroidSurfaceKHR (pVkCreateAndroidSurfaceKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateAndroidSurfaceKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateAndroidSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkAndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkAndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +#endif getPhysicalDeviceDisplayPropertiesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPropertiesKHR) -> IO VkResult) getPhysicalDeviceDisplayPropertiesKHR deviceCmds = mkVkGetPhysicalDeviceDisplayPropertiesKHR (pVkGetPhysicalDeviceDisplayPropertiesKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceDisplayPropertiesKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceDisplayPropertiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPropertiesKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPropertiesKHR) -> IO VkResult) getPhysicalDeviceDisplayPlanePropertiesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPlanePropertiesKHR) -> IO VkResult) getPhysicalDeviceDisplayPlanePropertiesKHR deviceCmds = mkVkGetPhysicalDeviceDisplayPlanePropertiesKHR (pVkGetPhysicalDeviceDisplayPlanePropertiesKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceDisplayPlanePropertiesKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceDisplayPlanePropertiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPlanePropertiesKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPlanePropertiesKHR) -> IO VkResult) getDisplayPlaneSupportedDisplaysKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr VkDisplayKHR) -> IO VkResult) getDisplayPlaneSupportedDisplaysKHR deviceCmds = mkVkGetDisplayPlaneSupportedDisplaysKHR (pVkGetDisplayPlaneSupportedDisplaysKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetDisplayPlaneSupportedDisplaysKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetDisplayPlaneSupportedDisplaysKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr VkDisplayKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr VkDisplayKHR) -> IO VkResult) getDisplayModePropertiesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayModePropertiesKHR) -> IO VkResult) getDisplayModePropertiesKHR deviceCmds = mkVkGetDisplayModePropertiesKHR (pVkGetDisplayModePropertiesKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetDisplayModePropertiesKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetDisplayModePropertiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayModePropertiesKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayModePropertiesKHR) -> IO VkResult) createDisplayModeKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pCreateInfo" ::: Ptr VkDisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMode" ::: Ptr VkDisplayModeKHR) -> IO VkResult) createDisplayModeKHR deviceCmds = mkVkCreateDisplayModeKHR (pVkCreateDisplayModeKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateDisplayModeKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateDisplayModeKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pCreateInfo" ::: Ptr VkDisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMode" ::: Ptr VkDisplayModeKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pCreateInfo" ::: Ptr VkDisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMode" ::: Ptr VkDisplayModeKHR) -> IO VkResult) getDisplayPlaneCapabilitiesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("mode" ::: VkDisplayModeKHR) -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr VkDisplayPlaneCapabilitiesKHR) -> IO VkResult) getDisplayPlaneCapabilitiesKHR deviceCmds = mkVkGetDisplayPlaneCapabilitiesKHR (pVkGetDisplayPlaneCapabilitiesKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetDisplayPlaneCapabilitiesKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetDisplayPlaneCapabilitiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("mode" ::: VkDisplayModeKHR) -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr VkDisplayPlaneCapabilitiesKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("mode" ::: VkDisplayModeKHR) -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr VkDisplayPlaneCapabilitiesKHR) -> IO VkResult) createDisplayPlaneSurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) createDisplayPlaneSurfaceKHR deviceCmds = mkVkCreateDisplayPlaneSurfaceKHR (pVkCreateDisplayPlaneSurfaceKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateDisplayPlaneSurfaceKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateDisplayPlaneSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +#if defined(VK_USE_PLATFORM_MIR_KHR) createMirSurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMirSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) createMirSurfaceKHR deviceCmds = mkVkCreateMirSurfaceKHR (pVkCreateMirSurfaceKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateMirSurfaceKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateMirSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMirSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMirSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) getPhysicalDeviceMirPresentationSupportKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr MirConnection) -> IO VkBool32) getPhysicalDeviceMirPresentationSupportKHR deviceCmds = mkVkGetPhysicalDeviceMirPresentationSupportKHR (pVkGetPhysicalDeviceMirPresentationSupportKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceMirPresentationSupportKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceMirPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr MirConnection) -> IO VkBool32) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr MirConnection) -> IO VkBool32) +#endif destroySurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("surface" ::: VkSurfaceKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroySurfaceKHR deviceCmds = mkVkDestroySurfaceKHR (pVkDestroySurfaceKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroySurfaceKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroySurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("surface" ::: VkSurfaceKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("instance" ::: VkInstance) -> ("surface" ::: VkSurfaceKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) getPhysicalDeviceSurfaceSupportKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("surface" ::: VkSurfaceKHR) -> ("pSupported" ::: Ptr VkBool32) -> IO VkResult) getPhysicalDeviceSurfaceSupportKHR deviceCmds = mkVkGetPhysicalDeviceSurfaceSupportKHR (pVkGetPhysicalDeviceSurfaceSupportKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfaceSupportKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceSurfaceSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("surface" ::: VkSurfaceKHR) -> ("pSupported" ::: Ptr VkBool32) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("surface" ::: VkSurfaceKHR) -> ("pSupported" ::: Ptr VkBool32) -> IO VkResult) getPhysicalDeviceSurfaceCapabilitiesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilitiesKHR) -> IO VkResult) getPhysicalDeviceSurfaceCapabilitiesKHR deviceCmds = mkVkGetPhysicalDeviceSurfaceCapabilitiesKHR (pVkGetPhysicalDeviceSurfaceCapabilitiesKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfaceCapabilitiesKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceSurfaceCapabilitiesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilitiesKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilitiesKHR) -> IO VkResult) getPhysicalDeviceSurfaceFormatsKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormatKHR) -> IO VkResult) getPhysicalDeviceSurfaceFormatsKHR deviceCmds = mkVkGetPhysicalDeviceSurfaceFormatsKHR (pVkGetPhysicalDeviceSurfaceFormatsKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfaceFormatsKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceSurfaceFormatsKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormatKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormatKHR) -> IO VkResult) getPhysicalDeviceSurfacePresentModesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr VkPresentModeKHR) -> IO VkResult) getPhysicalDeviceSurfacePresentModesKHR deviceCmds = mkVkGetPhysicalDeviceSurfacePresentModesKHR (pVkGetPhysicalDeviceSurfacePresentModesKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfacePresentModesKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceSurfacePresentModesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr VkPresentModeKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr VkPresentModeKHR) -> IO VkResult) +#if defined(VK_USE_PLATFORM_VI_NN) createViSurfaceNN :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) createViSurfaceNN deviceCmds = mkVkCreateViSurfaceNN (pVkCreateViSurfaceNN deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateViSurfaceNN +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateViSurfaceNN :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +#endif +#if defined(VK_USE_PLATFORM_WAYLAND_KHR) createWaylandSurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) createWaylandSurfaceKHR deviceCmds = mkVkCreateWaylandSurfaceKHR (pVkCreateWaylandSurfaceKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateWaylandSurfaceKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateWaylandSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) getPhysicalDeviceWaylandPresentationSupportKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("display" ::: Ptr Wl_display) -> IO VkBool32) getPhysicalDeviceWaylandPresentationSupportKHR deviceCmds = mkVkGetPhysicalDeviceWaylandPresentationSupportKHR (pVkGetPhysicalDeviceWaylandPresentationSupportKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceWaylandPresentationSupportKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceWaylandPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("display" ::: Ptr Wl_display) -> IO VkBool32) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("display" ::: Ptr Wl_display) -> IO VkBool32) +#endif +#if defined(VK_USE_PLATFORM_WIN32_KHR) createWin32SurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWin32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) createWin32SurfaceKHR deviceCmds = mkVkCreateWin32SurfaceKHR (pVkCreateWin32SurfaceKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateWin32SurfaceKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateWin32SurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWin32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWin32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) getPhysicalDeviceWin32PresentationSupportKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> IO VkBool32) getPhysicalDeviceWin32PresentationSupportKHR deviceCmds = mkVkGetPhysicalDeviceWin32PresentationSupportKHR (pVkGetPhysicalDeviceWin32PresentationSupportKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceWin32PresentationSupportKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceWin32PresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> IO VkBool32) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> IO VkBool32) +#endif +#if defined(VK_USE_PLATFORM_XLIB_KHR) createXlibSurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) createXlibSurfaceKHR deviceCmds = mkVkCreateXlibSurfaceKHR (pVkCreateXlibSurfaceKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateXlibSurfaceKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateXlibSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) getPhysicalDeviceXlibPresentationSupportKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> ("visualID" ::: VisualID) -> IO VkBool32) getPhysicalDeviceXlibPresentationSupportKHR deviceCmds = mkVkGetPhysicalDeviceXlibPresentationSupportKHR (pVkGetPhysicalDeviceXlibPresentationSupportKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceXlibPresentationSupportKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceXlibPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> ("visualID" ::: VisualID) -> IO VkBool32) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> ("visualID" ::: VisualID) -> IO VkBool32) +#endif +#if defined(VK_USE_PLATFORM_XCB_KHR) createXcbSurfaceKHR :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) createXcbSurfaceKHR deviceCmds = mkVkCreateXcbSurfaceKHR (pVkCreateXcbSurfaceKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateXcbSurfaceKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateXcbSurfaceKHR :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) getPhysicalDeviceXcbPresentationSupportKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr Xcb_connection_t) -> ("visual_id" ::: Xcb_visualid_t) -> IO VkBool32) getPhysicalDeviceXcbPresentationSupportKHR deviceCmds = mkVkGetPhysicalDeviceXcbPresentationSupportKHR (pVkGetPhysicalDeviceXcbPresentationSupportKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceXcbPresentationSupportKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceXcbPresentationSupportKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr Xcb_connection_t) -> ("visual_id" ::: Xcb_visualid_t) -> IO VkBool32) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr Xcb_connection_t) -> ("visual_id" ::: Xcb_visualid_t) -> IO VkBool32) +#endif createDebugReportCallbackEXT :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCallback" ::: Ptr VkDebugReportCallbackEXT) -> IO VkResult) createDebugReportCallbackEXT deviceCmds = mkVkCreateDebugReportCallbackEXT (pVkCreateDebugReportCallbackEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateDebugReportCallbackEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateDebugReportCallbackEXT :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCallback" ::: Ptr VkDebugReportCallbackEXT) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCallback" ::: Ptr VkDebugReportCallbackEXT) -> IO VkResult) destroyDebugReportCallbackEXT :: InstanceCmds -> (("instance" ::: VkInstance) -> ("callback" ::: VkDebugReportCallbackEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyDebugReportCallbackEXT deviceCmds = mkVkDestroyDebugReportCallbackEXT (pVkDestroyDebugReportCallbackEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyDebugReportCallbackEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyDebugReportCallbackEXT :: FunPtr (("instance" ::: VkInstance) -> ("callback" ::: VkDebugReportCallbackEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("instance" ::: VkInstance) -> ("callback" ::: VkDebugReportCallbackEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) debugReportMessageEXT :: InstanceCmds -> (("instance" ::: VkInstance) -> ("flags" ::: VkDebugReportFlagsEXT) -> ("objectType" ::: VkDebugReportObjectTypeEXT) -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO ()) debugReportMessageEXT deviceCmds = mkVkDebugReportMessageEXT (pVkDebugReportMessageEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDebugReportMessageEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDebugReportMessageEXT :: FunPtr (("instance" ::: VkInstance) -> ("flags" ::: VkDebugReportFlagsEXT) -> ("objectType" ::: VkDebugReportObjectTypeEXT) -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO ()) -> (("instance" ::: VkInstance) -> ("flags" ::: VkDebugReportFlagsEXT) -> ("objectType" ::: VkDebugReportObjectTypeEXT) -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO ()) getPhysicalDeviceExternalImageFormatPropertiesNV :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("externalHandleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr VkExternalImageFormatPropertiesNV) -> IO VkResult) getPhysicalDeviceExternalImageFormatPropertiesNV deviceCmds = mkVkGetPhysicalDeviceExternalImageFormatPropertiesNV (pVkGetPhysicalDeviceExternalImageFormatPropertiesNV deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceExternalImageFormatPropertiesNV +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceExternalImageFormatPropertiesNV :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("externalHandleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr VkExternalImageFormatPropertiesNV) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("externalHandleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr VkExternalImageFormatPropertiesNV) -> IO VkResult) getPhysicalDeviceGeneratedCommandsPropertiesNVX :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkDeviceGeneratedCommandsFeaturesNVX) -> ("pLimits" ::: Ptr VkDeviceGeneratedCommandsLimitsNVX) -> IO ()) getPhysicalDeviceGeneratedCommandsPropertiesNVX deviceCmds = mkVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX (pVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceGeneratedCommandsPropertiesNVX :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkDeviceGeneratedCommandsFeaturesNVX) -> ("pLimits" ::: Ptr VkDeviceGeneratedCommandsLimitsNVX) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkDeviceGeneratedCommandsFeaturesNVX) -> ("pLimits" ::: Ptr VkDeviceGeneratedCommandsLimitsNVX) -> IO ()) getPhysicalDeviceFeatures2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures2) -> IO ()) getPhysicalDeviceFeatures2 deviceCmds = mkVkGetPhysicalDeviceFeatures2 (pVkGetPhysicalDeviceFeatures2 deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceFeatures2 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceFeatures2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures2) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkPhysicalDeviceFeatures2) -> IO ()) getPhysicalDeviceProperties2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties2) -> IO ()) getPhysicalDeviceProperties2 deviceCmds = mkVkGetPhysicalDeviceProperties2 (pVkGetPhysicalDeviceProperties2 deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceProperties2 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties2) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pProperties" ::: Ptr VkPhysicalDeviceProperties2) -> IO ()) getPhysicalDeviceFormatProperties2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties2) -> IO ()) getPhysicalDeviceFormatProperties2 deviceCmds = mkVkGetPhysicalDeviceFormatProperties2 (pVkGetPhysicalDeviceFormatProperties2 deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceFormatProperties2 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceFormatProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties2) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("pFormatProperties" ::: Ptr VkFormatProperties2) -> IO ()) getPhysicalDeviceImageFormatProperties2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pImageFormatInfo" ::: Ptr VkPhysicalDeviceImageFormatInfo2) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties2) -> IO VkResult) getPhysicalDeviceImageFormatProperties2 deviceCmds = mkVkGetPhysicalDeviceImageFormatProperties2 (pVkGetPhysicalDeviceImageFormatProperties2 deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceImageFormatProperties2 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceImageFormatProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pImageFormatInfo" ::: Ptr VkPhysicalDeviceImageFormatInfo2) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties2) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pImageFormatInfo" ::: Ptr VkPhysicalDeviceImageFormatInfo2) -> ("pImageFormatProperties" ::: Ptr VkImageFormatProperties2) -> IO VkResult) getPhysicalDeviceQueueFamilyProperties2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties2) -> IO ()) getPhysicalDeviceQueueFamilyProperties2 deviceCmds = mkVkGetPhysicalDeviceQueueFamilyProperties2 (pVkGetPhysicalDeviceQueueFamilyProperties2 deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceQueueFamilyProperties2 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceQueueFamilyProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties2) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pQueueFamilyPropertyCount" ::: Ptr Word32) -> ("pQueueFamilyProperties" ::: Ptr VkQueueFamilyProperties2) -> IO ()) getPhysicalDeviceMemoryProperties2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties2) -> IO ()) getPhysicalDeviceMemoryProperties2 deviceCmds = mkVkGetPhysicalDeviceMemoryProperties2 (pVkGetPhysicalDeviceMemoryProperties2 deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceMemoryProperties2 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceMemoryProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties2) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pMemoryProperties" ::: Ptr VkPhysicalDeviceMemoryProperties2) -> IO ()) getPhysicalDeviceSparseImageFormatProperties2 :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFormatInfo" ::: Ptr VkPhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties2) -> IO ()) getPhysicalDeviceSparseImageFormatProperties2 deviceCmds = mkVkGetPhysicalDeviceSparseImageFormatProperties2 (pVkGetPhysicalDeviceSparseImageFormatProperties2 deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSparseImageFormatProperties2 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceSparseImageFormatProperties2 :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pFormatInfo" ::: Ptr VkPhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties2) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pFormatInfo" ::: Ptr VkPhysicalDeviceSparseImageFormatInfo2) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkSparseImageFormatProperties2) -> IO ()) getPhysicalDeviceExternalBufferProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalBufferInfo" ::: Ptr VkPhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr VkExternalBufferProperties) -> IO ()) getPhysicalDeviceExternalBufferProperties deviceCmds = mkVkGetPhysicalDeviceExternalBufferProperties (pVkGetPhysicalDeviceExternalBufferProperties deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceExternalBufferProperties +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceExternalBufferProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalBufferInfo" ::: Ptr VkPhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr VkExternalBufferProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalBufferInfo" ::: Ptr VkPhysicalDeviceExternalBufferInfo) -> ("pExternalBufferProperties" ::: Ptr VkExternalBufferProperties) -> IO ()) getPhysicalDeviceExternalSemaphoreProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalSemaphoreInfo" ::: Ptr VkPhysicalDeviceExternalSemaphoreInfo) -> ("pExternalSemaphoreProperties" ::: Ptr VkExternalSemaphoreProperties) -> IO ()) getPhysicalDeviceExternalSemaphoreProperties deviceCmds = mkVkGetPhysicalDeviceExternalSemaphoreProperties (pVkGetPhysicalDeviceExternalSemaphoreProperties deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceExternalSemaphoreProperties +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceExternalSemaphoreProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalSemaphoreInfo" ::: Ptr VkPhysicalDeviceExternalSemaphoreInfo) -> ("pExternalSemaphoreProperties" ::: Ptr VkExternalSemaphoreProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalSemaphoreInfo" ::: Ptr VkPhysicalDeviceExternalSemaphoreInfo) -> ("pExternalSemaphoreProperties" ::: Ptr VkExternalSemaphoreProperties) -> IO ()) getPhysicalDeviceExternalFenceProperties :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalFenceInfo" ::: Ptr VkPhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr VkExternalFenceProperties) -> IO ()) getPhysicalDeviceExternalFenceProperties deviceCmds = mkVkGetPhysicalDeviceExternalFenceProperties (pVkGetPhysicalDeviceExternalFenceProperties deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceExternalFenceProperties +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceExternalFenceProperties :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalFenceInfo" ::: Ptr VkPhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr VkExternalFenceProperties) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pExternalFenceInfo" ::: Ptr VkPhysicalDeviceExternalFenceInfo) -> ("pExternalFenceProperties" ::: Ptr VkExternalFenceProperties) -> IO ()) releaseDisplayEXT :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> IO VkResult) releaseDisplayEXT deviceCmds = mkVkReleaseDisplayEXT (pVkReleaseDisplayEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkReleaseDisplayEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkReleaseDisplayEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> IO VkResult) +#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT) acquireXlibDisplayEXT :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("display" ::: VkDisplayKHR) -> IO VkResult) acquireXlibDisplayEXT deviceCmds = mkVkAcquireXlibDisplayEXT (pVkAcquireXlibDisplayEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkAcquireXlibDisplayEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkAcquireXlibDisplayEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("display" ::: VkDisplayKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("display" ::: VkDisplayKHR) -> IO VkResult) getRandROutputDisplayEXT :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("rrOutput" ::: RROutput) -> ("pDisplay" ::: Ptr VkDisplayKHR) -> IO VkResult) getRandROutputDisplayEXT deviceCmds = mkVkGetRandROutputDisplayEXT (pVkGetRandROutputDisplayEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetRandROutputDisplayEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetRandROutputDisplayEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("rrOutput" ::: RROutput) -> ("pDisplay" ::: Ptr VkDisplayKHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("rrOutput" ::: RROutput) -> ("pDisplay" ::: Ptr VkDisplayKHR) -> IO VkResult) +#endif getPhysicalDeviceSurfaceCapabilities2EXT :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2EXT) -> IO VkResult) getPhysicalDeviceSurfaceCapabilities2EXT deviceCmds = mkVkGetPhysicalDeviceSurfaceCapabilities2EXT (pVkGetPhysicalDeviceSurfaceCapabilities2EXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfaceCapabilities2EXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceSurfaceCapabilities2EXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2EXT) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2EXT) -> IO VkResult) enumeratePhysicalDeviceGroups :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr VkPhysicalDeviceGroupProperties) -> IO VkResult) enumeratePhysicalDeviceGroups deviceCmds = mkVkEnumeratePhysicalDeviceGroups (pVkEnumeratePhysicalDeviceGroups deviceCmds) -foreign import ccall unsafe "dynamic" mkVkEnumeratePhysicalDeviceGroups +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkEnumeratePhysicalDeviceGroups :: FunPtr (("instance" ::: VkInstance) -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr VkPhysicalDeviceGroupProperties) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pPhysicalDeviceGroupCount" ::: Ptr Word32) -> ("pPhysicalDeviceGroupProperties" ::: Ptr VkPhysicalDeviceGroupProperties) -> IO VkResult) getPhysicalDevicePresentRectanglesKHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr VkRect2D) -> IO VkResult) getPhysicalDevicePresentRectanglesKHR deviceCmds = mkVkGetPhysicalDevicePresentRectanglesKHR (pVkGetPhysicalDevicePresentRectanglesKHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDevicePresentRectanglesKHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDevicePresentRectanglesKHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr VkRect2D) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr VkRect2D) -> IO VkResult) +#if defined(VK_USE_PLATFORM_IOS_MVK) createIOSSurfaceMVK :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkIOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) createIOSSurfaceMVK deviceCmds = mkVkCreateIOSSurfaceMVK (pVkCreateIOSSurfaceMVK deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateIOSSurfaceMVK +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateIOSSurfaceMVK :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkIOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkIOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +#endif +#if defined(VK_USE_PLATFORM_MACOS_MVK) createMacOSSurfaceMVK :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) createMacOSSurfaceMVK deviceCmds = mkVkCreateMacOSSurfaceMVK (pVkCreateMacOSSurfaceMVK deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateMacOSSurfaceMVK +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateMacOSSurfaceMVK :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult) +#endif getPhysicalDeviceMultisamplePropertiesEXT :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("samples" ::: VkSampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr VkMultisamplePropertiesEXT) -> IO ()) getPhysicalDeviceMultisamplePropertiesEXT deviceCmds = mkVkGetPhysicalDeviceMultisamplePropertiesEXT (pVkGetPhysicalDeviceMultisamplePropertiesEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceMultisamplePropertiesEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceMultisamplePropertiesEXT :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("samples" ::: VkSampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr VkMultisamplePropertiesEXT) -> IO ()) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("samples" ::: VkSampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr VkMultisamplePropertiesEXT) -> IO ()) getPhysicalDeviceSurfaceCapabilities2KHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2KHR) -> IO VkResult) getPhysicalDeviceSurfaceCapabilities2KHR deviceCmds = mkVkGetPhysicalDeviceSurfaceCapabilities2KHR (pVkGetPhysicalDeviceSurfaceCapabilities2KHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfaceCapabilities2KHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceSurfaceCapabilities2KHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2KHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2KHR) -> IO VkResult) getPhysicalDeviceSurfaceFormats2KHR :: InstanceCmds -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormat2KHR) -> IO VkResult) getPhysicalDeviceSurfaceFormats2KHR deviceCmds = mkVkGetPhysicalDeviceSurfaceFormats2KHR (pVkGetPhysicalDeviceSurfaceFormats2KHR deviceCmds) -foreign import ccall unsafe "dynamic" mkVkGetPhysicalDeviceSurfaceFormats2KHR +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkGetPhysicalDeviceSurfaceFormats2KHR :: FunPtr (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormat2KHR) -> IO VkResult) -> (("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormat2KHR) -> IO VkResult) createDebugUtilsMessengerEXT :: InstanceCmds -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult) createDebugUtilsMessengerEXT deviceCmds = mkVkCreateDebugUtilsMessengerEXT (pVkCreateDebugUtilsMessengerEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkCreateDebugUtilsMessengerEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkCreateDebugUtilsMessengerEXT :: FunPtr (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult) -> (("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult) destroyDebugUtilsMessengerEXT :: InstanceCmds -> (("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) destroyDebugUtilsMessengerEXT deviceCmds = mkVkDestroyDebugUtilsMessengerEXT (pVkDestroyDebugUtilsMessengerEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkDestroyDebugUtilsMessengerEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkDestroyDebugUtilsMessengerEXT :: FunPtr (("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) -> (("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO ()) submitDebugUtilsMessageEXT :: InstanceCmds -> (("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO ()) submitDebugUtilsMessageEXT deviceCmds = mkVkSubmitDebugUtilsMessageEXT (pVkSubmitDebugUtilsMessageEXT deviceCmds) -foreign import ccall unsafe "dynamic" mkVkSubmitDebugUtilsMessageEXT +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "dynamic" mkVkSubmitDebugUtilsMessageEXT :: FunPtr (("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO ()) -> (("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO ()) diff --git a/src/Graphics/Vulkan/Extensions.hs b/src/Graphics/Vulkan/Extensions.hs index 13b805ac..4e8236d9 100644 --- a/src/Graphics/Vulkan/Extensions.hs +++ b/src/Graphics/Vulkan/Extensions.hs @@ -3,7 +3,7 @@ module Graphics.Vulkan.Extensions - ( module Graphics.Vulkan.Extensions.VK_KHR_surface + ( module Graphics.Vulkan.Extensions.VK_KHR_surface , module Graphics.Vulkan.Extensions.VK_KHR_swapchain , module Graphics.Vulkan.Extensions.VK_KHR_display , module Graphics.Vulkan.Extensions.VK_KHR_display_swapchain @@ -49,8 +49,6 @@ module Graphics.Vulkan.Extensions , module Graphics.Vulkan.Extensions.VK_NV_external_memory #if defined(VK_USE_PLATFORM_WIN32_KHR) , module Graphics.Vulkan.Extensions.VK_NV_external_memory_win32 -#endif -#if defined(VK_USE_PLATFORM_WIN32_KHR) , module Graphics.Vulkan.Extensions.VK_NV_win32_keyed_mutex #endif , module Graphics.Vulkan.Extensions.VK_KHR_get_physical_device_properties2 diff --git a/src/Graphics/Vulkan/Extensions/VK_AMD_buffer_marker.hs b/src/Graphics/Vulkan/Extensions/VK_AMD_buffer_marker.hs index d50163ee..c8abd84b 100644 --- a/src/Graphics/Vulkan/Extensions/VK_AMD_buffer_marker.hs +++ b/src/Graphics/Vulkan/Extensions/VK_AMD_buffer_marker.hs @@ -146,4 +146,8 @@ pattern VK_AMD_BUFFER_MARKER_EXTENSION_NAME = "VK_AMD_buffer_marker" -- 'Graphics.Vulkan.Core10.MemoryManagement.VkBuffer', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', @VkDeviceSize@, -- 'Graphics.Vulkan.Core10.Queue.VkPipelineStageFlagBits' -foreign import ccall "vkCmdWriteBufferMarkerAMD" vkCmdWriteBufferMarkerAMD :: ("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("marker" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdWriteBufferMarkerAMD" vkCmdWriteBufferMarkerAMD :: ("commandBuffer" ::: VkCommandBuffer) -> ("pipelineStage" ::: VkPipelineStageFlagBits) -> ("dstBuffer" ::: VkBuffer) -> ("dstOffset" ::: VkDeviceSize) -> ("marker" ::: Word32) -> IO () diff --git a/src/Graphics/Vulkan/Extensions/VK_AMD_draw_indirect_count.hs b/src/Graphics/Vulkan/Extensions/VK_AMD_draw_indirect_count.hs index 31c44fb1..0566b06e 100644 --- a/src/Graphics/Vulkan/Extensions/VK_AMD_draw_indirect_count.hs +++ b/src/Graphics/Vulkan/Extensions/VK_AMD_draw_indirect_count.hs @@ -259,7 +259,11 @@ pattern VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME = "VK_AMD_draw_indirect_count" -- -- 'Graphics.Vulkan.Core10.MemoryManagement.VkBuffer', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', @VkDeviceSize@ -foreign import ccall "vkCmdDrawIndirectCountAMD" vkCmdDrawIndirectCountAMD :: ("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdDrawIndirectCountAMD" vkCmdDrawIndirectCountAMD :: ("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO () -- | vkCmdDrawIndexedIndirectCountAMD - Perform an indexed indirect draw with -- the draw count sourced from a buffer -- @@ -480,4 +484,8 @@ foreign import ccall "vkCmdDrawIndirectCountAMD" vkCmdDrawIndirectCountAMD :: (" -- -- 'Graphics.Vulkan.Core10.MemoryManagement.VkBuffer', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', @VkDeviceSize@ -foreign import ccall "vkCmdDrawIndexedIndirectCountAMD" vkCmdDrawIndexedIndirectCountAMD :: ("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdDrawIndexedIndirectCountAMD" vkCmdDrawIndexedIndirectCountAMD :: ("commandBuffer" ::: VkCommandBuffer) -> ("buffer" ::: VkBuffer) -> ("offset" ::: VkDeviceSize) -> ("countBuffer" ::: VkBuffer) -> ("countBufferOffset" ::: VkDeviceSize) -> ("maxDrawCount" ::: Word32) -> ("stride" ::: Word32) -> IO () diff --git a/src/Graphics/Vulkan/Extensions/VK_AMD_rasterization_order.hs b/src/Graphics/Vulkan/Extensions/VK_AMD_rasterization_order.hs index bfd20615..aed89574 100644 --- a/src/Graphics/Vulkan/Extensions/VK_AMD_rasterization_order.hs +++ b/src/Graphics/Vulkan/Extensions/VK_AMD_rasterization_order.hs @@ -22,16 +22,16 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) diff --git a/src/Graphics/Vulkan/Extensions/VK_AMD_shader_core_properties.hs b/src/Graphics/Vulkan/Extensions/VK_AMD_shader_core_properties.hs index 7f28f29d..555a5de8 100644 --- a/src/Graphics/Vulkan/Extensions/VK_AMD_shader_core_properties.hs +++ b/src/Graphics/Vulkan/Extensions/VK_AMD_shader_core_properties.hs @@ -18,12 +18,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Extensions/VK_AMD_shader_info.hs b/src/Graphics/Vulkan/Extensions/VK_AMD_shader_info.hs index 6c41362f..b78194e3 100644 --- a/src/Graphics/Vulkan/Extensions/VK_AMD_shader_info.hs +++ b/src/Graphics/Vulkan/Extensions/VK_AMD_shader_info.hs @@ -35,16 +35,16 @@ import Foreign.C.Types ( CSize(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -209,7 +209,11 @@ pattern VK_AMD_SHADER_INFO_EXTENSION_NAME = "VK_AMD_shader_info" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Pipeline.VkPipeline', 'VkShaderInfoTypeAMD', -- 'Graphics.Vulkan.Core10.Pipeline.VkShaderStageFlagBits' -foreign import ccall "vkGetShaderInfoAMD" vkGetShaderInfoAMD :: ("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("shaderStage" ::: VkShaderStageFlagBits) -> ("infoType" ::: VkShaderInfoTypeAMD) -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetShaderInfoAMD" vkGetShaderInfoAMD :: ("device" ::: VkDevice) -> ("pipeline" ::: VkPipeline) -> ("shaderStage" ::: VkShaderStageFlagBits) -> ("infoType" ::: VkShaderInfoTypeAMD) -> ("pInfoSize" ::: Ptr CSize) -> ("pInfo" ::: Ptr ()) -> IO VkResult -- | VkShaderResourceUsageAMD - Resource usage information about a particular -- shader within a pipeline -- diff --git a/src/Graphics/Vulkan/Extensions/VK_AMD_texture_gather_bias_lod.hs b/src/Graphics/Vulkan/Extensions/VK_AMD_texture_gather_bias_lod.hs index 4c876310..b0089279 100644 --- a/src/Graphics/Vulkan/Extensions/VK_AMD_texture_gather_bias_lod.hs +++ b/src/Graphics/Vulkan/Extensions/VK_AMD_texture_gather_bias_lod.hs @@ -15,12 +15,12 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs b/src/Graphics/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs index 535dca95..773e7b3b 100644 --- a/src/Graphics/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs +++ b/src/Graphics/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs @@ -31,16 +31,16 @@ import Data.String ( IsString ) import Data.Word - ( Word64 - , Word32 + ( Word32 + , Word64 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -53,9 +53,9 @@ import Graphics.Vulkan.Core10.Core , VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkFormatFeatureFlags + ( VkDevice , VkDeviceSize - , VkDevice + , VkFormatFeatureFlags ) import Graphics.Vulkan.Core10.ImageView ( VkComponentMapping(..) @@ -68,8 +68,8 @@ import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_memory_capabilities ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_sampler_ycbcr_conversion ( VkChromaLocation(..) - , VkSamplerYcbcrRange(..) , VkSamplerYcbcrModelConversion(..) + , VkSamplerYcbcrRange(..) ) @@ -140,7 +140,11 @@ pattern VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME = "VK_ -- -- 'VkAndroidHardwareBufferPropertiesANDROID', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkGetAndroidHardwareBufferPropertiesANDROID" vkGetAndroidHardwareBufferPropertiesANDROID :: ("device" ::: VkDevice) -> ("buffer" ::: Ptr AHardwareBuffer) -> ("pProperties" ::: Ptr VkAndroidHardwareBufferPropertiesANDROID) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetAndroidHardwareBufferPropertiesANDROID" vkGetAndroidHardwareBufferPropertiesANDROID :: ("device" ::: VkDevice) -> ("buffer" ::: Ptr AHardwareBuffer) -> ("pProperties" ::: Ptr VkAndroidHardwareBufferPropertiesANDROID) -> IO VkResult -- | vkGetMemoryAndroidHardwareBufferANDROID - Get an Android hardware buffer -- for a memory object -- @@ -194,7 +198,11 @@ foreign import ccall "vkGetAndroidHardwareBufferPropertiesANDROID" vkGetAndroidH -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkMemoryGetAndroidHardwareBufferInfoANDROID' -foreign import ccall "vkGetMemoryAndroidHardwareBufferANDROID" vkGetMemoryAndroidHardwareBufferANDROID :: ("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetMemoryAndroidHardwareBufferANDROID" vkGetMemoryAndroidHardwareBufferANDROID :: ("device" ::: VkDevice) -> ("pInfo" ::: Ptr VkMemoryGetAndroidHardwareBufferInfoANDROID) -> ("pBuffer" ::: Ptr (Ptr AHardwareBuffer)) -> IO VkResult -- | VkImportAndroidHardwareBufferInfoANDROID - Import memory from an Android -- hardware buffer -- diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs index 7c2065c5..ec017f38 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs @@ -97,7 +97,11 @@ pattern VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME = "VK_EXT_acquire_xlib_displa -- -- 'Graphics.Vulkan.Extensions.VK_KHR_display.VkDisplayKHR', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkAcquireXlibDisplayEXT" vkAcquireXlibDisplayEXT :: ("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("display" ::: VkDisplayKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkAcquireXlibDisplayEXT" vkAcquireXlibDisplayEXT :: ("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("display" ::: VkDisplayKHR) -> IO VkResult -- | vkGetRandROutputDisplayEXT - Query the VkDisplayKHR corresponding to an -- X11 RandR Output -- @@ -138,4 +142,8 @@ foreign import ccall "vkAcquireXlibDisplayEXT" vkAcquireXlibDisplayEXT :: ("phys -- -- 'Graphics.Vulkan.Extensions.VK_KHR_display.VkDisplayKHR', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetRandROutputDisplayEXT" vkGetRandROutputDisplayEXT :: ("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("rrOutput" ::: RROutput) -> ("pDisplay" ::: Ptr VkDisplayKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetRandROutputDisplayEXT" vkGetRandROutputDisplayEXT :: ("physicalDevice" ::: VkPhysicalDevice) -> ("dpy" ::: Ptr Display) -> ("rrOutput" ::: RROutput) -> ("pDisplay" ::: Ptr VkDisplayKHR) -> IO VkResult diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs index 1b173d59..b9ac2dc8 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs @@ -77,16 +77,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs index 989a0cd3..7f7ae57d 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs @@ -33,16 +33,16 @@ import Foreign.C.Types ( CFloat(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_debug_marker.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_debug_marker.hs index 6dda1f0e..292ba369 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_debug_marker.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_debug_marker.hs @@ -32,17 +32,17 @@ import Data.Word ( Word64 ) import Foreign.C.Types - ( CFloat(..) - , CChar(..) + ( CChar(..) + , CFloat(..) , CSize(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -114,7 +114,11 @@ pattern VK_EXT_DEBUG_MARKER_EXTENSION_NAME = "VK_EXT_debug_marker" -- -- 'VkDebugMarkerObjectNameInfoEXT', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkDebugMarkerSetObjectNameEXT" vkDebugMarkerSetObjectNameEXT :: ("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugMarkerObjectNameInfoEXT) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDebugMarkerSetObjectNameEXT" vkDebugMarkerSetObjectNameEXT :: ("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugMarkerObjectNameInfoEXT) -> IO VkResult -- | vkDebugMarkerSetObjectTagEXT - Attach arbitrary data to an object -- -- = Parameters @@ -150,7 +154,11 @@ foreign import ccall "vkDebugMarkerSetObjectNameEXT" vkDebugMarkerSetObjectNameE -- -- 'VkDebugMarkerObjectTagInfoEXT', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkDebugMarkerSetObjectTagEXT" vkDebugMarkerSetObjectTagEXT :: ("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugMarkerObjectTagInfoEXT) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDebugMarkerSetObjectTagEXT" vkDebugMarkerSetObjectTagEXT :: ("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugMarkerObjectTagInfoEXT) -> IO VkResult -- | vkCmdDebugMarkerBeginEXT - Open a command buffer marker region -- -- = Parameters @@ -196,7 +204,11 @@ foreign import ccall "vkDebugMarkerSetObjectTagEXT" vkDebugMarkerSetObjectTagEXT -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'VkDebugMarkerMarkerInfoEXT' -foreign import ccall "vkCmdDebugMarkerBeginEXT" vkCmdDebugMarkerBeginEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdDebugMarkerBeginEXT" vkCmdDebugMarkerBeginEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO () -- | vkCmdDebugMarkerEndEXT - Close a command buffer marker region -- -- = Parameters @@ -254,7 +266,11 @@ foreign import ccall "vkCmdDebugMarkerBeginEXT" vkCmdDebugMarkerBeginEXT :: ("co -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdDebugMarkerEndEXT" vkCmdDebugMarkerEndEXT :: ("commandBuffer" ::: VkCommandBuffer) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdDebugMarkerEndEXT" vkCmdDebugMarkerEndEXT :: ("commandBuffer" ::: VkCommandBuffer) -> IO () -- | vkCmdDebugMarkerInsertEXT - Insert a marker label into a command buffer -- -- = Parameters @@ -300,7 +316,11 @@ foreign import ccall "vkCmdDebugMarkerEndEXT" vkCmdDebugMarkerEndEXT :: ("comman -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'VkDebugMarkerMarkerInfoEXT' -foreign import ccall "vkCmdDebugMarkerInsertEXT" vkCmdDebugMarkerInsertEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdDebugMarkerInsertEXT" vkCmdDebugMarkerInsertEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pMarkerInfo" ::: Ptr VkDebugMarkerMarkerInfoEXT) -> IO () -- | VkDebugMarkerObjectNameInfoEXT - Specify parameters of a name to give to -- an object -- diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_debug_report.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_debug_report.hs index 8eee8460..972fae79 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_debug_report.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_debug_report.hs @@ -85,16 +85,16 @@ import Foreign.C.Types , CSize(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -116,8 +116,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core ( VkBool32(..) , VkObjectType(..) - , VkStructureType(..) , VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization @@ -642,7 +642,11 @@ type VkDebugReportCallbackEXT = Ptr VkDebugReportCallbackEXT_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'VkDebugReportCallbackCreateInfoEXT', 'VkDebugReportCallbackEXT', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance' -foreign import ccall "vkCreateDebugReportCallbackEXT" vkCreateDebugReportCallbackEXT :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCallback" ::: Ptr VkDebugReportCallbackEXT) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateDebugReportCallbackEXT" vkCreateDebugReportCallbackEXT :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugReportCallbackCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pCallback" ::: Ptr VkDebugReportCallbackEXT) -> IO VkResult -- | vkDestroyDebugReportCallbackEXT - Destroy a debug report callback object -- -- = Parameters @@ -689,7 +693,11 @@ foreign import ccall "vkCreateDebugReportCallbackEXT" vkCreateDebugReportCallbac -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'VkDebugReportCallbackEXT', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance' -foreign import ccall "vkDestroyDebugReportCallbackEXT" vkDestroyDebugReportCallbackEXT :: ("instance" ::: VkInstance) -> ("callback" ::: VkDebugReportCallbackEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyDebugReportCallbackEXT" vkDestroyDebugReportCallbackEXT :: ("instance" ::: VkInstance) -> ("callback" ::: VkDebugReportCallbackEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkDebugReportMessageEXT - Inject a message into a debug stream -- -- = Parameters @@ -751,7 +759,11 @@ foreign import ccall "vkDestroyDebugReportCallbackEXT" vkDestroyDebugReportCallb -- -- 'VkDebugReportFlagsEXT', 'VkDebugReportObjectTypeEXT', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance' -foreign import ccall "vkDebugReportMessageEXT" vkDebugReportMessageEXT :: ("instance" ::: VkInstance) -> ("flags" ::: VkDebugReportFlagsEXT) -> ("objectType" ::: VkDebugReportObjectTypeEXT) -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDebugReportMessageEXT" vkDebugReportMessageEXT :: ("instance" ::: VkInstance) -> ("flags" ::: VkDebugReportFlagsEXT) -> ("objectType" ::: VkDebugReportObjectTypeEXT) -> ("object" ::: Word64) -> ("location" ::: CSize) -> ("messageCode" ::: Int32) -> ("pLayerPrefix" ::: Ptr CChar) -> ("pMessage" ::: Ptr CChar) -> IO () -- | VkDebugReportCallbackCreateInfoEXT - Structure specifying parameters of -- a newly created debug report callback -- diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_debug_utils.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_debug_utils.hs index 08ff6a4d..38732d31 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_debug_utils.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_debug_utils.hs @@ -72,16 +72,16 @@ import Foreign.C.Types , CSize(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -101,16 +101,16 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkResult(..) - , VkBool32(..) + ( VkBool32(..) , VkObjectType(..) + , VkResult(..) , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization ( VkAllocationCallbacks(..) - , VkInstance , VkDevice + , VkInstance ) import Graphics.Vulkan.Core10.Queue ( VkCommandBuffer @@ -374,7 +374,11 @@ type VkDebugUtilsMessengerEXT = Ptr VkDebugUtilsMessengerEXT_T -- -- 'VkDebugUtilsObjectNameInfoEXT', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkSetDebugUtilsObjectNameEXT" vkSetDebugUtilsObjectNameEXT :: ("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkSetDebugUtilsObjectNameEXT" vkSetDebugUtilsObjectNameEXT :: ("device" ::: VkDevice) -> ("pNameInfo" ::: Ptr VkDebugUtilsObjectNameInfoEXT) -> IO VkResult -- | vkSetDebugUtilsObjectTagEXT - Attach arbitrary data to an object -- -- = Parameters @@ -411,7 +415,11 @@ foreign import ccall "vkSetDebugUtilsObjectNameEXT" vkSetDebugUtilsObjectNameEXT -- -- 'VkDebugUtilsObjectTagInfoEXT', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkSetDebugUtilsObjectTagEXT" vkSetDebugUtilsObjectTagEXT :: ("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkSetDebugUtilsObjectTagEXT" vkSetDebugUtilsObjectTagEXT :: ("device" ::: VkDevice) -> ("pTagInfo" ::: Ptr VkDebugUtilsObjectTagInfoEXT) -> IO VkResult -- | vkQueueBeginDebugUtilsLabelEXT - Open a queue debug label region -- -- = Parameters @@ -443,7 +451,11 @@ foreign import ccall "vkSetDebugUtilsObjectTagEXT" vkSetDebugUtilsObjectTagEXT : -- = See Also -- -- 'VkDebugUtilsLabelEXT', 'Graphics.Vulkan.Core10.Queue.VkQueue' -foreign import ccall "vkQueueBeginDebugUtilsLabelEXT" vkQueueBeginDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkQueueBeginDebugUtilsLabelEXT" vkQueueBeginDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO () -- | vkQueueEndDebugUtilsLabelEXT - Close a queue debug label region -- -- = Parameters @@ -478,7 +490,11 @@ foreign import ccall "vkQueueBeginDebugUtilsLabelEXT" vkQueueBeginDebugUtilsLabe -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkQueue' -foreign import ccall "vkQueueEndDebugUtilsLabelEXT" vkQueueEndDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkQueueEndDebugUtilsLabelEXT" vkQueueEndDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> IO () -- | vkQueueInsertDebugUtilsLabelEXT - Insert a label into a queue -- -- = Parameters @@ -510,7 +526,11 @@ foreign import ccall "vkQueueEndDebugUtilsLabelEXT" vkQueueEndDebugUtilsLabelEXT -- = See Also -- -- 'VkDebugUtilsLabelEXT', 'Graphics.Vulkan.Core10.Queue.VkQueue' -foreign import ccall "vkQueueInsertDebugUtilsLabelEXT" vkQueueInsertDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkQueueInsertDebugUtilsLabelEXT" vkQueueInsertDebugUtilsLabelEXT :: ("queue" ::: VkQueue) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO () -- | vkCmdBeginDebugUtilsLabelEXT - Open a command buffer debug label region -- -- = Parameters @@ -555,7 +575,11 @@ foreign import ccall "vkQueueInsertDebugUtilsLabelEXT" vkQueueInsertDebugUtilsLa -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', 'VkDebugUtilsLabelEXT' -foreign import ccall "vkCmdBeginDebugUtilsLabelEXT" vkCmdBeginDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdBeginDebugUtilsLabelEXT" vkCmdBeginDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO () -- | vkCmdEndDebugUtilsLabelEXT - Close a command buffer label region -- -- = Parameters @@ -613,7 +637,11 @@ foreign import ccall "vkCmdBeginDebugUtilsLabelEXT" vkCmdBeginDebugUtilsLabelEXT -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdEndDebugUtilsLabelEXT" vkCmdEndDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdEndDebugUtilsLabelEXT" vkCmdEndDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> IO () -- | vkCmdInsertDebugUtilsLabelEXT - Insert a label into a command buffer -- -- = Parameters @@ -657,7 +685,11 @@ foreign import ccall "vkCmdEndDebugUtilsLabelEXT" vkCmdEndDebugUtilsLabelEXT :: -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', 'VkDebugUtilsLabelEXT' -foreign import ccall "vkCmdInsertDebugUtilsLabelEXT" vkCmdInsertDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdInsertDebugUtilsLabelEXT" vkCmdInsertDebugUtilsLabelEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pLabelInfo" ::: Ptr VkDebugUtilsLabelEXT) -> IO () -- | vkCreateDebugUtilsMessengerEXT - Create a debug messenger object -- -- = Parameters @@ -702,7 +734,11 @@ foreign import ccall "vkCmdInsertDebugUtilsLabelEXT" vkCmdInsertDebugUtilsLabelE -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'VkDebugUtilsMessengerCreateInfoEXT', 'VkDebugUtilsMessengerEXT', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance' -foreign import ccall "vkCreateDebugUtilsMessengerEXT" vkCreateDebugUtilsMessengerEXT :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateDebugUtilsMessengerEXT" vkCreateDebugUtilsMessengerEXT :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDebugUtilsMessengerCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMessenger" ::: Ptr VkDebugUtilsMessengerEXT) -> IO VkResult -- | vkDestroyDebugUtilsMessengerEXT - Destroy a debug messenger object -- -- = Parameters @@ -749,7 +785,11 @@ foreign import ccall "vkCreateDebugUtilsMessengerEXT" vkCreateDebugUtilsMessenge -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'VkDebugUtilsMessengerEXT', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance' -foreign import ccall "vkDestroyDebugUtilsMessengerEXT" vkDestroyDebugUtilsMessengerEXT :: ("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyDebugUtilsMessengerEXT" vkDestroyDebugUtilsMessengerEXT :: ("instance" ::: VkInstance) -> ("messenger" ::: VkDebugUtilsMessengerEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkSubmitDebugUtilsMessageEXT - Inject a message into a debug stream -- -- = Parameters @@ -793,7 +833,11 @@ foreign import ccall "vkDestroyDebugUtilsMessengerEXT" vkDestroyDebugUtilsMessen -- 'VkDebugUtilsMessageTypeFlagsEXT', -- 'VkDebugUtilsMessengerCallbackDataEXT', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance' -foreign import ccall "vkSubmitDebugUtilsMessageEXT" vkSubmitDebugUtilsMessageEXT :: ("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkSubmitDebugUtilsMessageEXT" vkSubmitDebugUtilsMessageEXT :: ("instance" ::: VkInstance) -> ("messageSeverity" ::: VkDebugUtilsMessageSeverityFlagBitsEXT) -> ("messageTypes" ::: VkDebugUtilsMessageTypeFlagsEXT) -> ("pCallbackData" ::: Ptr VkDebugUtilsMessengerCallbackDataEXT) -> IO () -- | VkDebugUtilsObjectNameInfoEXT - Specify parameters of a name to give to -- an object -- diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_descriptor_indexing.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_descriptor_indexing.hs index fe1fc417..16c485e8 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_descriptor_indexing.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_descriptor_indexing.hs @@ -40,16 +40,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) @@ -67,8 +67,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core ( VkBool32(..) - , VkStructureType(..) , VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DescriptorSet diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_direct_mode_display.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_direct_mode_display.hs index ae5ddc4a..b2aa63c2 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_direct_mode_display.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_direct_mode_display.hs @@ -59,4 +59,8 @@ pattern VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME = "VK_EXT_direct_mode_display" -- -- 'Graphics.Vulkan.Extensions.VK_KHR_display.VkDisplayKHR', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkReleaseDisplayEXT" vkReleaseDisplayEXT :: ("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkReleaseDisplayEXT" vkReleaseDisplayEXT :: ("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> IO VkResult diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_discard_rectangles.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_discard_rectangles.hs index 1738c9e7..e500ca89 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_discard_rectangles.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_discard_rectangles.hs @@ -36,16 +36,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -69,8 +69,8 @@ import Graphics.Vulkan.Core10.Core , VkFlags ) import Graphics.Vulkan.Core10.Pipeline - ( VkRect2D(..) - , VkDynamicState(..) + ( VkDynamicState(..) + , VkRect2D(..) ) import Graphics.Vulkan.Core10.Queue ( VkCommandBuffer @@ -241,7 +241,11 @@ pattern VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME = "VK_EXT_discard_rectangles" -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core10.Pipeline.VkRect2D' -foreign import ccall "vkCmdSetDiscardRectangleEXT" vkCmdSetDiscardRectangleEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr VkRect2D) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetDiscardRectangleEXT" vkCmdSetDiscardRectangleEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("firstDiscardRectangle" ::: Word32) -> ("discardRectangleCount" ::: Word32) -> ("pDiscardRectangles" ::: Ptr VkRect2D) -> IO () -- | VkPhysicalDeviceDiscardRectanglePropertiesEXT - Structure describing -- discard rectangle limits that can be supported by an implementation -- diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_display_control.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_display_control.hs index 4f24d45e..f43a13a1 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_display_control.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_display_control.hs @@ -42,16 +42,16 @@ import Data.Word ( Word64 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -82,8 +82,8 @@ import Graphics.Vulkan.Core10.Queue ( VkFence ) import Graphics.Vulkan.Extensions.VK_EXT_display_surface_counter - ( VkSurfaceCounterFlagsEXT - , VkSurfaceCounterFlagBitsEXT(..) + ( VkSurfaceCounterFlagBitsEXT(..) + , VkSurfaceCounterFlagsEXT ) import Graphics.Vulkan.Extensions.VK_KHR_display ( VkDisplayKHR @@ -245,7 +245,11 @@ pattern VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME = "VK_EXT_display_control" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Extensions.VK_KHR_display.VkDisplayKHR', -- 'VkDisplayPowerInfoEXT' -foreign import ccall "vkDisplayPowerControlEXT" vkDisplayPowerControlEXT :: ("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayPowerInfo" ::: Ptr VkDisplayPowerInfoEXT) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDisplayPowerControlEXT" vkDisplayPowerControlEXT :: ("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayPowerInfo" ::: Ptr VkDisplayPowerInfoEXT) -> IO VkResult -- | vkRegisterDeviceEventEXT - Signal a fence when a device event occurs -- -- = Parameters @@ -286,7 +290,11 @@ foreign import ccall "vkDisplayPowerControlEXT" vkDisplayPowerControlEXT :: ("de -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkDeviceEventInfoEXT', 'Graphics.Vulkan.Core10.Queue.VkFence' -foreign import ccall "vkRegisterDeviceEventEXT" vkRegisterDeviceEventEXT :: ("device" ::: VkDevice) -> ("pDeviceEventInfo" ::: Ptr VkDeviceEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkRegisterDeviceEventEXT" vkRegisterDeviceEventEXT :: ("device" ::: VkDevice) -> ("pDeviceEventInfo" ::: Ptr VkDeviceEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult -- | vkRegisterDisplayEventEXT - Signal a fence when a display event occurs -- -- = Parameters @@ -333,7 +341,11 @@ foreign import ccall "vkRegisterDeviceEventEXT" vkRegisterDeviceEventEXT :: ("de -- 'VkDisplayEventInfoEXT', -- 'Graphics.Vulkan.Extensions.VK_KHR_display.VkDisplayKHR', -- 'Graphics.Vulkan.Core10.Queue.VkFence' -foreign import ccall "vkRegisterDisplayEventEXT" vkRegisterDisplayEventEXT :: ("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayEventInfo" ::: Ptr VkDisplayEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkRegisterDisplayEventEXT" vkRegisterDisplayEventEXT :: ("device" ::: VkDevice) -> ("display" ::: VkDisplayKHR) -> ("pDisplayEventInfo" ::: Ptr VkDisplayEventInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pFence" ::: Ptr VkFence) -> IO VkResult -- | vkGetSwapchainCounterEXT - Query the current value of a surface counter -- -- = Parameters @@ -386,7 +398,11 @@ foreign import ccall "vkRegisterDisplayEventEXT" vkRegisterDisplayEventEXT :: (" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Extensions.VK_EXT_display_surface_counter.VkSurfaceCounterFlagBitsEXT', -- 'Graphics.Vulkan.Extensions.VK_KHR_swapchain.VkSwapchainKHR' -foreign import ccall "vkGetSwapchainCounterEXT" vkGetSwapchainCounterEXT :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("counter" ::: VkSurfaceCounterFlagBitsEXT) -> ("pCounterValue" ::: Ptr Word64) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetSwapchainCounterEXT" vkGetSwapchainCounterEXT :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("counter" ::: VkSurfaceCounterFlagBitsEXT) -> ("pCounterValue" ::: Ptr Word64) -> IO VkResult -- | VkDisplayPowerInfoEXT - Describe the power state of a display -- -- == Valid Usage (Implicit) diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_display_surface_counter.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_display_surface_counter.hs index a3cf9182..8fb019fc 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_display_surface_counter.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_display_surface_counter.hs @@ -30,16 +30,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -71,10 +71,10 @@ import Graphics.Vulkan.Core10.Pipeline ( VkExtent2D(..) ) import Graphics.Vulkan.Extensions.VK_KHR_surface - ( VkCompositeAlphaFlagsKHR - , VkSurfaceTransformFlagBitsKHR(..) - , VkSurfaceTransformFlagsKHR + ( VkSurfaceTransformFlagBitsKHR(..) + , VkCompositeAlphaFlagsKHR , VkSurfaceKHR + , VkSurfaceTransformFlagsKHR ) @@ -170,7 +170,11 @@ pattern VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES2_EXT = VK_STRUCTURE_TYPE_SURFACE_ -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkSurfaceCapabilities2EXT', -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR' -foreign import ccall "vkGetPhysicalDeviceSurfaceCapabilities2EXT" vkGetPhysicalDeviceSurfaceCapabilities2EXT :: ("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2EXT) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceSurfaceCapabilities2EXT" vkGetPhysicalDeviceSurfaceCapabilities2EXT :: ("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2EXT) -> IO VkResult -- | VkSurfaceCapabilities2EXT - Structure describing capabilities of a -- surface -- diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_external_memory_host.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_external_memory_host.hs index f26ed321..61b69e36 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_external_memory_host.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_external_memory_host.hs @@ -27,12 +27,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -44,8 +44,8 @@ import Graphics.Vulkan.Core10.Core , VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDeviceSize - , VkDevice + ( VkDevice + , VkDeviceSize ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_memory_capabilities ( VkExternalMemoryHandleTypeFlagBits(..) @@ -126,7 +126,11 @@ pattern VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME = "VK_EXT_external_memory_hos -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_memory_capabilities.VkExternalMemoryHandleTypeFlagBits', -- 'VkMemoryHostPointerPropertiesEXT' -foreign import ccall "vkGetMemoryHostPointerPropertiesEXT" vkGetMemoryHostPointerPropertiesEXT :: ("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr VkMemoryHostPointerPropertiesEXT) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetMemoryHostPointerPropertiesEXT" vkGetMemoryHostPointerPropertiesEXT :: ("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("pHostPointer" ::: Ptr ()) -> ("pMemoryHostPointerProperties" ::: Ptr VkMemoryHostPointerPropertiesEXT) -> IO VkResult -- | VkImportMemoryHostPointerInfoEXT - import memory from a host pointer -- -- = Description diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_global_priority.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_global_priority.hs index 5b5b76a5..e310e6cb 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_global_priority.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_global_priority.hs @@ -25,16 +25,16 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) @@ -51,8 +51,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) ) diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_hdr_metadata.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_hdr_metadata.hs index 40a8dbdc..875364cd 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_hdr_metadata.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_hdr_metadata.hs @@ -25,12 +25,12 @@ import Foreign.C.Types ( CFloat(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -92,7 +92,11 @@ pattern VK_EXT_HDR_METADATA_EXTENSION_NAME = "VK_EXT_hdr_metadata" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkHdrMetadataEXT', -- 'Graphics.Vulkan.Extensions.VK_KHR_swapchain.VkSwapchainKHR' -foreign import ccall "vkSetHdrMetadataEXT" vkSetHdrMetadataEXT :: ("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> ("pMetadata" ::: Ptr VkHdrMetadataEXT) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkSetHdrMetadataEXT" vkSetHdrMetadataEXT :: ("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> ("pMetadata" ::: Ptr VkHdrMetadataEXT) -> IO () -- | VkXYColorEXT - structure to specify X,Y chromaticity coordinates -- -- = See Also diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_sample_locations.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_sample_locations.hs index 4f58a0ee..fe15f602 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_sample_locations.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_sample_locations.hs @@ -41,12 +41,12 @@ import Foreign.C.Types ( CFloat(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -58,14 +58,14 @@ import Graphics.Vulkan.Core10.Core , VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkSampleCountFlags + ( VkImageCreateFlagBits(..) , VkSampleCountFlagBits(..) , VkPhysicalDevice - , VkImageCreateFlagBits(..) + , VkSampleCountFlags ) import Graphics.Vulkan.Core10.Pipeline - ( VkExtent2D(..) - , VkDynamicState(..) + ( VkDynamicState(..) + , VkExtent2D(..) ) import Graphics.Vulkan.Core10.Queue ( VkCommandBuffer @@ -169,7 +169,11 @@ pattern VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME = "VK_EXT_sample_locations" -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'VkSampleLocationsInfoEXT' -foreign import ccall "vkCmdSetSampleLocationsEXT" vkCmdSetSampleLocationsEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pSampleLocationsInfo" ::: Ptr VkSampleLocationsInfoEXT) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetSampleLocationsEXT" vkCmdSetSampleLocationsEXT :: ("commandBuffer" ::: VkCommandBuffer) -> ("pSampleLocationsInfo" ::: Ptr VkSampleLocationsInfoEXT) -> IO () -- | vkGetPhysicalDeviceMultisamplePropertiesEXT - Report sample count -- specific multisampling capabilities of a physical device -- @@ -201,7 +205,11 @@ foreign import ccall "vkCmdSetSampleLocationsEXT" vkCmdSetSampleLocationsEXT :: -- 'VkMultisamplePropertiesEXT', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkSampleCountFlagBits' -foreign import ccall "vkGetPhysicalDeviceMultisamplePropertiesEXT" vkGetPhysicalDeviceMultisamplePropertiesEXT :: ("physicalDevice" ::: VkPhysicalDevice) -> ("samples" ::: VkSampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr VkMultisamplePropertiesEXT) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceMultisamplePropertiesEXT" vkGetPhysicalDeviceMultisamplePropertiesEXT :: ("physicalDevice" ::: VkPhysicalDevice) -> ("samples" ::: VkSampleCountFlagBits) -> ("pMultisampleProperties" ::: Ptr VkMultisamplePropertiesEXT) -> IO () -- | VkSampleLocationEXT - Structure specifying the coordinates of a sample -- location -- diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_sampler_filter_minmax.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_sampler_filter_minmax.hs index 600de706..30c00839 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_sampler_filter_minmax.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_sampler_filter_minmax.hs @@ -26,16 +26,16 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_validation_cache.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_validation_cache.hs index 1746f6bd..775f9be7 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_validation_cache.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_validation_cache.hs @@ -43,16 +43,16 @@ import Foreign.C.Types ( CSize(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -72,8 +72,8 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkResult(..) - , VkObjectType(..) + ( VkObjectType(..) + , VkResult(..) , VkStructureType(..) , VkFlags ) @@ -247,7 +247,11 @@ type VkValidationCacheEXT = Ptr VkValidationCacheEXT_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkValidationCacheCreateInfoEXT', 'VkValidationCacheEXT' -foreign import ccall "vkCreateValidationCacheEXT" vkCreateValidationCacheEXT :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pValidationCache" ::: Ptr VkValidationCacheEXT) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateValidationCacheEXT" vkCreateValidationCacheEXT :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkValidationCacheCreateInfoEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pValidationCache" ::: Ptr VkValidationCacheEXT) -> IO VkResult -- | vkDestroyValidationCacheEXT - Destroy a validation cache object -- -- = Parameters @@ -293,7 +297,11 @@ foreign import ccall "vkCreateValidationCacheEXT" vkCreateValidationCacheEXT :: -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkValidationCacheEXT' -foreign import ccall "vkDestroyValidationCacheEXT" vkDestroyValidationCacheEXT :: ("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyValidationCacheEXT" vkDestroyValidationCacheEXT :: ("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkGetValidationCacheDataEXT - Get the data store from a validation cache -- -- = Parameters @@ -400,7 +408,11 @@ foreign import ccall "vkDestroyValidationCacheEXT" vkDestroyValidationCacheEXT : -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkValidationCacheEXT' -foreign import ccall "vkGetValidationCacheDataEXT" vkGetValidationCacheDataEXT :: ("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetValidationCacheDataEXT" vkGetValidationCacheDataEXT :: ("device" ::: VkDevice) -> ("validationCache" ::: VkValidationCacheEXT) -> ("pDataSize" ::: Ptr CSize) -> ("pData" ::: Ptr ()) -> IO VkResult -- | vkMergeValidationCachesEXT - Combine the data stores of validation -- caches -- @@ -465,7 +477,11 @@ foreign import ccall "vkGetValidationCacheDataEXT" vkGetValidationCacheDataEXT : -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkValidationCacheEXT' -foreign import ccall "vkMergeValidationCachesEXT" vkMergeValidationCachesEXT :: ("device" ::: VkDevice) -> ("dstCache" ::: VkValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkValidationCacheEXT) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkMergeValidationCachesEXT" vkMergeValidationCachesEXT :: ("device" ::: VkDevice) -> ("dstCache" ::: VkValidationCacheEXT) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr VkValidationCacheEXT) -> IO VkResult -- | VkValidationCacheCreateInfoEXT - Structure specifying parameters of a -- newly created validation cache -- diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_validation_flags.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_validation_flags.hs index 490b88d6..55b7078d 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_validation_flags.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_validation_flags.hs @@ -25,16 +25,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) diff --git a/src/Graphics/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs b/src/Graphics/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs index 8b1e412f..ced3a716 100644 --- a/src/Graphics/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs +++ b/src/Graphics/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs @@ -21,12 +21,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Extensions/VK_GOOGLE_display_timing.hs b/src/Graphics/Vulkan/Extensions/VK_GOOGLE_display_timing.hs index a864db86..81bc65f7 100644 --- a/src/Graphics/Vulkan/Extensions/VK_GOOGLE_display_timing.hs +++ b/src/Graphics/Vulkan/Extensions/VK_GOOGLE_display_timing.hs @@ -22,16 +22,16 @@ import Data.String ( IsString ) import Data.Word - ( Word64 - , Word32 + ( Word32 + , Word64 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -102,7 +102,11 @@ pattern VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME = "VK_GOOGLE_display_timing" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkRefreshCycleDurationGOOGLE', -- 'Graphics.Vulkan.Extensions.VK_KHR_swapchain.VkSwapchainKHR' -foreign import ccall "vkGetRefreshCycleDurationGOOGLE" vkGetRefreshCycleDurationGOOGLE :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pDisplayTimingProperties" ::: Ptr VkRefreshCycleDurationGOOGLE) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetRefreshCycleDurationGOOGLE" vkGetRefreshCycleDurationGOOGLE :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pDisplayTimingProperties" ::: Ptr VkRefreshCycleDurationGOOGLE) -> IO VkResult -- | vkGetPastPresentationTimingGOOGLE - Obtain timing of a -- previously-presented image -- @@ -176,7 +180,11 @@ foreign import ccall "vkGetRefreshCycleDurationGOOGLE" vkGetRefreshCycleDuration -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkPastPresentationTimingGOOGLE', -- 'Graphics.Vulkan.Extensions.VK_KHR_swapchain.VkSwapchainKHR' -foreign import ccall "vkGetPastPresentationTimingGOOGLE" vkGetPastPresentationTimingGOOGLE :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr VkPastPresentationTimingGOOGLE) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPastPresentationTimingGOOGLE" vkGetPastPresentationTimingGOOGLE :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pPresentationTimingCount" ::: Ptr Word32) -> ("pPresentationTimings" ::: Ptr VkPastPresentationTimingGOOGLE) -> IO VkResult -- | VkRefreshCycleDurationGOOGLE - Structure containing the RC duration of a -- display -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_16bit_storage.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_16bit_storage.hs index 36e6b2f1..cd29a76c 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_16bit_storage.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_16bit_storage.hs @@ -29,8 +29,8 @@ import Graphics.Vulkan.Core10.Core , VkStructureType(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_16bit_storage - ( pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES - , VkPhysicalDevice16BitStorageFeatures(..) + ( VkPhysicalDevice16BitStorageFeatures(..) + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_android_surface.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_android_surface.hs index 1ecc5e6b..6789ccbd 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_android_surface.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_android_surface.hs @@ -25,16 +25,16 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -173,7 +173,11 @@ pattern VK_KHR_ANDROID_SURFACE_EXTENSION_NAME = "VK_KHR_android_surface" -- 'VkAndroidSurfaceCreateInfoKHR', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance', -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR' -foreign import ccall "vkCreateAndroidSurfaceKHR" vkCreateAndroidSurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkAndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateAndroidSurfaceKHR" vkCreateAndroidSurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkAndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult -- | VkAndroidSurfaceCreateInfoKHR - Structure specifying parameters of a -- newly created Android surface object -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_bind_memory2.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_bind_memory2.hs index 0a2e9acb..04feb9ab 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_bind_memory2.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_bind_memory2.hs @@ -34,29 +34,29 @@ import Graphics.Vulkan.NamedType import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) - , VkResult(..) + ( VkResult(..) + , VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization ( VkImageCreateFlagBits(..) - , VkDeviceSize , VkDevice + , VkDeviceSize ) import Graphics.Vulkan.Core10.Memory ( VkDeviceMemory ) import Graphics.Vulkan.Core10.MemoryManagement - ( VkImage - , VkBuffer + ( VkBuffer + , VkImage ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_bind_memory2 - ( pattern VK_IMAGE_CREATE_ALIAS_BIT - , pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO - , pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO + ( VkBindBufferMemoryInfo(..) , VkBindImageMemoryInfo(..) - , vkBindImageMemory2 - , VkBindBufferMemoryInfo(..) , vkBindBufferMemory2 + , vkBindImageMemory2 + , pattern VK_IMAGE_CREATE_ALIAS_BIT + , pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO + , pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_dedicated_allocation.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_dedicated_allocation.hs index ea8e2bf5..cf876472 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_dedicated_allocation.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_dedicated_allocation.hs @@ -36,10 +36,10 @@ import Graphics.Vulkan.Core10.MemoryManagement , VkImage ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_dedicated_allocation - ( pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO - , pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS - , VkMemoryDedicatedAllocateInfo(..) + ( VkMemoryDedicatedAllocateInfo(..) , VkMemoryDedicatedRequirements(..) + , pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO + , pattern VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_descriptor_update_template.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_descriptor_update_template.hs index a9ef91c8..daef8d0e 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_descriptor_update_template.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_descriptor_update_template.hs @@ -43,8 +43,8 @@ import Graphics.Vulkan.NamedType import Graphics.Vulkan.Core10.Core ( VkObjectType(..) - , VkStructureType(..) , VkResult(..) + , VkStructureType(..) ) import Graphics.Vulkan.Core10.DescriptorSet ( VkDescriptorType(..) @@ -64,17 +64,17 @@ import Graphics.Vulkan.Core10.PipelineLayout ( VkDescriptorSetLayout ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_descriptor_update_template - ( pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET - , pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE - , pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO + ( VkDescriptorUpdateTemplateCreateFlags(..) + , VkDescriptorUpdateTemplateCreateInfo(..) , VkDescriptorUpdateTemplateEntry(..) - , VkDescriptorUpdateTemplateCreateFlags(..) , VkDescriptorUpdateTemplateType(..) - , vkUpdateDescriptorSetWithTemplate - , vkDestroyDescriptorUpdateTemplate , VkDescriptorUpdateTemplate - , VkDescriptorUpdateTemplateCreateInfo(..) , vkCreateDescriptorUpdateTemplate + , vkDestroyDescriptorUpdateTemplate + , vkUpdateDescriptorSetWithTemplate + , pattern VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET + , pattern VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE + , pattern VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO ) import Graphics.Vulkan.Extensions.VK_EXT_debug_report ( VkDebugReportObjectTypeEXT(..) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_device_group.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_device_group.hs index 65ca05f1..95066e16 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_device_group.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_device_group.hs @@ -79,38 +79,38 @@ import Graphics.Vulkan.Core10.Queue ( VkCommandBuffer ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_device_group - ( pattern VK_DEPENDENCY_DEVICE_GROUP_BIT - , pattern VK_PIPELINE_CREATE_DISPATCH_BASE - , pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT - , pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT - , pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT - , pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT - , pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT - , pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT - , pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO - , pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO - , pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO - , pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO - , pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO - , VkDeviceGroupBindSparseInfo(..) - , VkDeviceGroupSubmitInfo(..) + ( VkDeviceGroupBindSparseInfo(..) , VkDeviceGroupCommandBufferBeginInfo(..) , VkDeviceGroupRenderPassBeginInfo(..) - , VkMemoryAllocateFlagsInfo(..) - , VkMemoryAllocateFlags + , VkDeviceGroupSubmitInfo(..) , VkMemoryAllocateFlagBits(..) + , VkMemoryAllocateFlagsInfo(..) , VkPeerMemoryFeatureFlagBits(..) + , VkMemoryAllocateFlags + , VkPeerMemoryFeatureFlags , vkCmdDispatchBase , vkCmdSetDeviceMask - , VkPeerMemoryFeatureFlags , vkGetDeviceGroupPeerMemoryFeatures + , pattern VK_DEPENDENCY_DEVICE_GROUP_BIT + , pattern VK_MEMORY_ALLOCATE_DEVICE_MASK_BIT + , pattern VK_PEER_MEMORY_FEATURE_COPY_DST_BIT + , pattern VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT + , pattern VK_PEER_MEMORY_FEATURE_GENERIC_DST_BIT + , pattern VK_PEER_MEMORY_FEATURE_GENERIC_SRC_BIT + , pattern VK_PIPELINE_CREATE_DISPATCH_BASE + , pattern VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT + , pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO + , pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO + , pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO + , pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO + , pattern VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_device_group_and_VK_KHR_bind_memory2 - ( pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT - , pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO - , pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO + ( VkBindBufferMemoryDeviceGroupInfo(..) , VkBindImageMemoryDeviceGroupInfo(..) - , VkBindBufferMemoryDeviceGroupInfo(..) + , pattern VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT + , pattern VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO + , pattern VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_device_group_creation.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_device_group_creation.hs index c0e600b1..6650ba21 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_device_group_creation.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_device_group_creation.hs @@ -39,23 +39,23 @@ import Graphics.Vulkan.NamedType import Graphics.Vulkan.Core10.Core ( VkBool32(..) - , VkStructureType(..) , VkResult(..) + , VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization ( VkMemoryHeapFlagBits(..) - , VkPhysicalDevice , VkInstance + , VkPhysicalDevice ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_device_group_creation - ( pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT - , pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO - , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES - , pattern VK_MAX_DEVICE_GROUP_SIZE - , VkDeviceGroupDeviceCreateInfo(..) - , VK_MAX_DEVICE_GROUP_SIZE + ( VkDeviceGroupDeviceCreateInfo(..) , VkPhysicalDeviceGroupProperties(..) + , VK_MAX_DEVICE_GROUP_SIZE , vkEnumeratePhysicalDeviceGroups + , pattern VK_MAX_DEVICE_GROUP_SIZE + , pattern VK_MEMORY_HEAP_MULTI_INSTANCE_BIT + , pattern VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_display.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_display.hs index f368feb4..32c01240 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_display.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_display.hs @@ -51,20 +51,20 @@ import Data.Word ( Word32 ) import Foreign.C.Types - ( CFloat(..) - , CChar(..) + ( CChar(..) + , CFloat(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -85,24 +85,24 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core ( VkBool32(..) - , VkResult(..) , VkObjectType(..) + , VkResult(..) , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkInstance - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) + , VkInstance , VkPhysicalDevice ) import Graphics.Vulkan.Core10.Pipeline - ( VkOffset2D(..) - , VkExtent2D(..) + ( VkExtent2D(..) + , VkOffset2D(..) ) import Graphics.Vulkan.Extensions.VK_KHR_surface ( VkSurfaceTransformFlagBitsKHR(..) - , VkSurfaceTransformFlagsKHR , VkSurfaceKHR + , VkSurfaceTransformFlagsKHR ) @@ -299,7 +299,11 @@ type VkDisplayModeKHR = Ptr VkDisplayModeKHR_T -- -- 'VkDisplayPropertiesKHR', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetPhysicalDeviceDisplayPropertiesKHR" vkGetPhysicalDeviceDisplayPropertiesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPropertiesKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceDisplayPropertiesKHR" vkGetPhysicalDeviceDisplayPropertiesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPropertiesKHR) -> IO VkResult -- | vkGetPhysicalDeviceDisplayPlanePropertiesKHR - Query the plane -- properties -- @@ -351,7 +355,11 @@ foreign import ccall "vkGetPhysicalDeviceDisplayPropertiesKHR" vkGetPhysicalDevi -- -- 'VkDisplayPlanePropertiesKHR', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" vkGetPhysicalDeviceDisplayPlanePropertiesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPlanePropertiesKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" vkGetPhysicalDeviceDisplayPlanePropertiesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayPlanePropertiesKHR) -> IO VkResult -- | vkGetDisplayPlaneSupportedDisplaysKHR - Query the list of displays a -- plane supports -- @@ -415,7 +423,11 @@ foreign import ccall "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" vkGetPhysica -- -- 'VkDisplayKHR', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetDisplayPlaneSupportedDisplaysKHR" vkGetDisplayPlaneSupportedDisplaysKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr VkDisplayKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetDisplayPlaneSupportedDisplaysKHR" vkGetDisplayPlaneSupportedDisplaysKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("planeIndex" ::: Word32) -> ("pDisplayCount" ::: Ptr Word32) -> ("pDisplays" ::: Ptr VkDisplayKHR) -> IO VkResult -- | vkGetDisplayModePropertiesKHR - Query the set of mode properties -- supported by the display -- @@ -475,7 +487,11 @@ foreign import ccall "vkGetDisplayPlaneSupportedDisplaysKHR" vkGetDisplayPlaneSu -- -- 'VkDisplayKHR', 'VkDisplayModePropertiesKHR', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetDisplayModePropertiesKHR" vkGetDisplayModePropertiesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayModePropertiesKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetDisplayModePropertiesKHR" vkGetDisplayModePropertiesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pPropertyCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr VkDisplayModePropertiesKHR) -> IO VkResult -- | vkCreateDisplayModeKHR - Create a display mode -- -- = Parameters @@ -529,7 +545,11 @@ foreign import ccall "vkGetDisplayModePropertiesKHR" vkGetDisplayModePropertiesK -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'VkDisplayKHR', 'VkDisplayModeCreateInfoKHR', 'VkDisplayModeKHR', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkCreateDisplayModeKHR" vkCreateDisplayModeKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pCreateInfo" ::: Ptr VkDisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMode" ::: Ptr VkDisplayModeKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateDisplayModeKHR" vkCreateDisplayModeKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("display" ::: VkDisplayKHR) -> ("pCreateInfo" ::: Ptr VkDisplayModeCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pMode" ::: Ptr VkDisplayModeKHR) -> IO VkResult -- | vkGetDisplayPlaneCapabilitiesKHR - Query capabilities of a mode and -- plane combination -- @@ -575,7 +595,11 @@ foreign import ccall "vkCreateDisplayModeKHR" vkCreateDisplayModeKHR :: ("physic -- -- 'VkDisplayModeKHR', 'VkDisplayPlaneCapabilitiesKHR', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetDisplayPlaneCapabilitiesKHR" vkGetDisplayPlaneCapabilitiesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("mode" ::: VkDisplayModeKHR) -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr VkDisplayPlaneCapabilitiesKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetDisplayPlaneCapabilitiesKHR" vkGetDisplayPlaneCapabilitiesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("mode" ::: VkDisplayModeKHR) -> ("planeIndex" ::: Word32) -> ("pCapabilities" ::: Ptr VkDisplayPlaneCapabilitiesKHR) -> IO VkResult -- | vkCreateDisplayPlaneSurfaceKHR - Create a -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR' structure -- representing a display plane and mode @@ -625,7 +649,11 @@ foreign import ccall "vkGetDisplayPlaneCapabilitiesKHR" vkGetDisplayPlaneCapabil -- 'VkDisplaySurfaceCreateInfoKHR', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance', -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR' -foreign import ccall "vkCreateDisplayPlaneSurfaceKHR" vkCreateDisplayPlaneSurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateDisplayPlaneSurfaceKHR" vkCreateDisplayPlaneSurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkDisplaySurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult -- | VkDisplayPropertiesKHR - Structure describing an available display -- device -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_display_swapchain.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_display_swapchain.hs index 37f2d597..872a38dc 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_display_swapchain.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_display_swapchain.hs @@ -22,12 +22,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -36,8 +36,8 @@ import Graphics.Vulkan.NamedType import Graphics.Vulkan.Core10.Core ( VkBool32(..) - , VkStructureType(..) , VkResult(..) + , VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization ( VkAllocationCallbacks(..) @@ -47,8 +47,8 @@ import Graphics.Vulkan.Core10.Pipeline ( VkRect2D(..) ) import Graphics.Vulkan.Extensions.VK_KHR_swapchain - ( VkSwapchainKHR - , VkSwapchainCreateInfoKHR(..) + ( VkSwapchainCreateInfoKHR(..) + , VkSwapchainKHR ) @@ -149,7 +149,11 @@ pattern VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME = "VK_KHR_display_swapchain" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Extensions.VK_KHR_swapchain.VkSwapchainCreateInfoKHR', -- 'Graphics.Vulkan.Extensions.VK_KHR_swapchain.VkSwapchainKHR' -foreign import ccall "vkCreateSharedSwapchainsKHR" vkCreateSharedSwapchainsKHR :: ("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateSharedSwapchainsKHR" vkCreateSharedSwapchainsKHR :: ("device" ::: VkDevice) -> ("swapchainCount" ::: Word32) -> ("pCreateInfos" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchains" ::: Ptr VkSwapchainKHR) -> IO VkResult -- | VkDisplayPresentInfoKHR - Structure describing parameters of a queue -- presentation to a swapchain -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence.hs index 25038163..a8528615 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence.hs @@ -31,11 +31,11 @@ import Graphics.Vulkan.Core10.Core ( VkStructureType(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_fence - ( pattern VK_FENCE_IMPORT_TEMPORARY_BIT - , pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO - , VkExportFenceCreateInfo(..) - , VkFenceImportFlags + ( VkExportFenceCreateInfo(..) , VkFenceImportFlagBits(..) + , VkFenceImportFlags + , pattern VK_FENCE_IMPORT_TEMPORARY_BIT + , pattern VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_fence_capabilities ( VkExternalFenceHandleTypeFlags diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence_capabilities.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence_capabilities.hs index a7ba6802..ac88622f 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence_capabilities.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence_capabilities.hs @@ -45,21 +45,21 @@ import Graphics.Vulkan.Core10.DeviceInitialization ( VkPhysicalDevice ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_fence_capabilities - ( pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT - , pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT - , pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT - , pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT - , pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT - , pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT - , pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES - , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO - , VkExternalFenceFeatureFlags - , VkExternalFenceHandleTypeFlags - , VkExternalFenceFeatureFlagBits(..) + ( VkExternalFenceFeatureFlagBits(..) , VkExternalFenceHandleTypeFlagBits(..) , VkExternalFenceProperties(..) , VkPhysicalDeviceExternalFenceInfo(..) + , VkExternalFenceFeatureFlags + , VkExternalFenceHandleTypeFlags , vkGetPhysicalDeviceExternalFenceProperties + , pattern VK_EXTERNAL_FENCE_FEATURE_EXPORTABLE_BIT + , pattern VK_EXTERNAL_FENCE_FEATURE_IMPORTABLE_BIT + , pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_FD_BIT + , pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT + , pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT + , pattern VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT + , pattern VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence_fd.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence_fd.hs index 05b1fb4e..40066a35 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence_fd.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence_fd.hs @@ -24,12 +24,12 @@ import Foreign.C.Types ( CInt(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -130,7 +130,11 @@ pattern VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME = "VK_KHR_external_fence_fd" -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkFenceGetFdInfoKHR' -foreign import ccall "vkGetFenceFdKHR" vkGetFenceFdKHR :: ("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkFenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetFenceFdKHR" vkGetFenceFdKHR :: ("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkFenceGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult -- | vkImportFenceFdKHR - Import a fence from a POSIX file descriptor -- -- = Parameters @@ -177,7 +181,11 @@ foreign import ccall "vkGetFenceFdKHR" vkGetFenceFdKHR :: ("device" ::: VkDevice -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkImportFenceFdInfoKHR' -foreign import ccall "vkImportFenceFdKHR" vkImportFenceFdKHR :: ("device" ::: VkDevice) -> ("pImportFenceFdInfo" ::: Ptr VkImportFenceFdInfoKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkImportFenceFdKHR" vkImportFenceFdKHR :: ("device" ::: VkDevice) -> ("pImportFenceFdInfo" ::: Ptr VkImportFenceFdInfoKHR) -> IO VkResult -- | VkImportFenceFdInfoKHR - (None) -- -- = Description diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence_win32.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence_win32.hs index eee6f008..894f6a5b 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence_win32.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_external_fence_win32.hs @@ -23,12 +23,12 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -56,8 +56,8 @@ import Graphics.Vulkan.Extensions.VK_KHR_external_memory_win32 ) import Graphics.Vulkan.Extensions.VK_NV_external_memory_win32 ( DWORD - , SECURITY_ATTRIBUTES , HANDLE + , SECURITY_ATTRIBUTES ) @@ -125,7 +125,11 @@ pattern VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME = "VK_KHR_external_fence_win3 -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkFenceGetWin32HandleInfoKHR' -foreign import ccall "vkGetFenceWin32HandleKHR" vkGetFenceWin32HandleKHR :: ("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkFenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetFenceWin32HandleKHR" vkGetFenceWin32HandleKHR :: ("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkFenceGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult -- | vkImportFenceWin32HandleKHR - Import a fence from a Windows HANDLE -- -- = Parameters @@ -168,7 +172,11 @@ foreign import ccall "vkGetFenceWin32HandleKHR" vkGetFenceWin32HandleKHR :: ("de -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkImportFenceWin32HandleInfoKHR' -foreign import ccall "vkImportFenceWin32HandleKHR" vkImportFenceWin32HandleKHR :: ("device" ::: VkDevice) -> ("pImportFenceWin32HandleInfo" ::: Ptr VkImportFenceWin32HandleInfoKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkImportFenceWin32HandleKHR" vkImportFenceWin32HandleKHR :: ("device" ::: VkDevice) -> ("pImportFenceWin32HandleInfo" ::: Ptr VkImportFenceWin32HandleInfoKHR) -> IO VkResult -- | VkImportFenceWin32HandleInfoKHR - (None) -- -- = Description diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory.hs index a45c900a..50cd18b0 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory.hs @@ -40,14 +40,14 @@ import Graphics.Vulkan.Core10.Core , VkStructureType(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_memory - ( pattern VK_ERROR_INVALID_EXTERNAL_HANDLE - , pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO - , pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO - , pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO - , pattern VK_QUEUE_FAMILY_EXTERNAL - , VkExportMemoryAllocateInfo(..) + ( VkExportMemoryAllocateInfo(..) , VkExternalMemoryBufferCreateInfo(..) , VkExternalMemoryImageCreateInfo(..) + , pattern VK_ERROR_INVALID_EXTERNAL_HANDLE + , pattern VK_QUEUE_FAMILY_EXTERNAL + , pattern VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO + , pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO + , pattern VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_memory_capabilities ( VkExternalMemoryHandleTypeFlags diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory_capabilities.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory_capabilities.hs index 17cbb6b7..5b6dc471 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory_capabilities.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory_capabilities.hs @@ -63,8 +63,8 @@ import Graphics.Vulkan.NamedType import Graphics.Vulkan.Core10.Buffer - ( VkBufferUsageFlags - , VkBufferCreateFlags + ( VkBufferCreateFlags + , VkBufferUsageFlags ) import Graphics.Vulkan.Core10.Core ( VkBool32(..) @@ -75,34 +75,34 @@ import Graphics.Vulkan.Core10.DeviceInitialization , VkPhysicalDevice ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_memory_capabilities - ( pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT - , pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT + ( VkExternalBufferProperties(..) + , VkExternalImageFormatProperties(..) + , VkExternalMemoryFeatureFlagBits(..) + , VkExternalMemoryHandleTypeFlagBits(..) + , VkExternalMemoryProperties(..) + , VkPhysicalDeviceExternalBufferInfo(..) + , VkPhysicalDeviceExternalImageFormatInfo(..) + , VkPhysicalDeviceIDProperties(..) + , VK_LUID_SIZE + , VkExternalMemoryFeatureFlags + , VkExternalMemoryHandleTypeFlags + , vkGetPhysicalDeviceExternalBufferProperties , pattern VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT - , pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT - , pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT - , pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT + , pattern VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT + , pattern VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT , pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT - , pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT - , pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT + , pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT + , pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT + , pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT , pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT - , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES + , pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT + , pattern VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT + , pattern VK_LUID_SIZE , pattern VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES - , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO , pattern VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO - , pattern VK_LUID_SIZE - , VK_LUID_SIZE - , VkPhysicalDeviceIDProperties(..) - , VkExternalImageFormatProperties(..) - , VkPhysicalDeviceExternalImageFormatInfo(..) - , VkExternalMemoryProperties(..) - , VkExternalMemoryFeatureFlags - , VkExternalMemoryHandleTypeFlags - , VkExternalMemoryFeatureFlagBits(..) - , VkExternalMemoryHandleTypeFlagBits(..) - , VkExternalBufferProperties(..) - , VkPhysicalDeviceExternalBufferInfo(..) - , vkGetPhysicalDeviceExternalBufferProperties + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory_fd.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory_fd.hs index 2c29e374..243a87b2 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory_fd.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory_fd.hs @@ -29,12 +29,12 @@ import Foreign.C.Types ( CInt(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -118,7 +118,11 @@ pattern VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME = "VK_KHR_external_memory_fd" -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkMemoryGetFdInfoKHR' -foreign import ccall "vkGetMemoryFdKHR" vkGetMemoryFdKHR :: ("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkMemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetMemoryFdKHR" vkGetMemoryFdKHR :: ("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkMemoryGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult -- | vkGetMemoryFdPropertiesKHR - Get Properties of External Memory File -- Descriptors -- @@ -164,7 +168,11 @@ foreign import ccall "vkGetMemoryFdKHR" vkGetMemoryFdKHR :: ("device" ::: VkDevi -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_memory_capabilities.VkExternalMemoryHandleTypeFlagBits', -- 'VkMemoryFdPropertiesKHR' -foreign import ccall "vkGetMemoryFdPropertiesKHR" vkGetMemoryFdPropertiesKHR :: ("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr VkMemoryFdPropertiesKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetMemoryFdPropertiesKHR" vkGetMemoryFdPropertiesKHR :: ("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("fd" ::: CInt) -> ("pMemoryFdProperties" ::: Ptr VkMemoryFdPropertiesKHR) -> IO VkResult -- | VkImportMemoryFdInfoKHR - import memory created on the same physical -- device from a file descriptor -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory_win32.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory_win32.hs index 550543e7..ea3a4ed0 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory_win32.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_external_memory_win32.hs @@ -32,12 +32,12 @@ import Foreign.C.Types ( CWchar ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -59,8 +59,8 @@ import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_memory_capabilities ) import Graphics.Vulkan.Extensions.VK_NV_external_memory_win32 ( DWORD - , SECURITY_ATTRIBUTES , HANDLE + , SECURITY_ATTRIBUTES ) @@ -128,7 +128,11 @@ pattern VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME = "VK_KHR_external_memory_wi -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkMemoryGetWin32HandleInfoKHR' -foreign import ccall "vkGetMemoryWin32HandleKHR" vkGetMemoryWin32HandleKHR :: ("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkMemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetMemoryWin32HandleKHR" vkGetMemoryWin32HandleKHR :: ("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkMemoryGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult -- | vkGetMemoryWin32HandlePropertiesKHR - Get Properties of External Memory -- Win32 Handles -- @@ -174,7 +178,11 @@ foreign import ccall "vkGetMemoryWin32HandleKHR" vkGetMemoryWin32HandleKHR :: (" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_memory_capabilities.VkExternalMemoryHandleTypeFlagBits', -- 'VkMemoryWin32HandlePropertiesKHR' -foreign import ccall "vkGetMemoryWin32HandlePropertiesKHR" vkGetMemoryWin32HandlePropertiesKHR :: ("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("handle" ::: HANDLE) -> ("pMemoryWin32HandleProperties" ::: Ptr VkMemoryWin32HandlePropertiesKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetMemoryWin32HandlePropertiesKHR" vkGetMemoryWin32HandlePropertiesKHR :: ("device" ::: VkDevice) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagBits) -> ("handle" ::: HANDLE) -> ("pMemoryWin32HandleProperties" ::: Ptr VkMemoryWin32HandlePropertiesKHR) -> IO VkResult -- | VkImportMemoryWin32HandleInfoKHR - import Win32 memory created on the -- same physical device -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore.hs index 9579bb70..896f3877 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore.hs @@ -31,11 +31,11 @@ import Graphics.Vulkan.Core10.Core ( VkStructureType(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_semaphore - ( pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT - , pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO - , VkExportSemaphoreCreateInfo(..) - , VkSemaphoreImportFlags + ( VkExportSemaphoreCreateInfo(..) , VkSemaphoreImportFlagBits(..) + , VkSemaphoreImportFlags + , pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT + , pattern VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_semaphore_capabilities ( VkExternalSemaphoreHandleTypeFlags diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore_capabilities.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore_capabilities.hs index 06d62b65..0531d51b 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore_capabilities.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore_capabilities.hs @@ -46,22 +46,22 @@ import Graphics.Vulkan.Core10.DeviceInitialization ( VkPhysicalDevice ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_external_semaphore_capabilities - ( pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT + ( VkExternalSemaphoreFeatureFlagBits(..) + , VkExternalSemaphoreHandleTypeFlagBits(..) + , VkExternalSemaphoreProperties(..) + , VkPhysicalDeviceExternalSemaphoreInfo(..) + , VkExternalSemaphoreFeatureFlags + , VkExternalSemaphoreHandleTypeFlags + , vkGetPhysicalDeviceExternalSemaphoreProperties , pattern VK_EXTERNAL_SEMAPHORE_FEATURE_EXPORTABLE_BIT - , pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT + , pattern VK_EXTERNAL_SEMAPHORE_FEATURE_IMPORTABLE_BIT , pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT - , pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT - , pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT , pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT + , pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_BIT + , pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT + , pattern VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT , pattern VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO - , VkExternalSemaphoreFeatureFlags - , VkExternalSemaphoreHandleTypeFlags - , VkExternalSemaphoreFeatureFlagBits(..) - , VkExternalSemaphoreHandleTypeFlagBits(..) - , VkExternalSemaphoreProperties(..) - , VkPhysicalDeviceExternalSemaphoreInfo(..) - , vkGetPhysicalDeviceExternalSemaphoreProperties ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs index 54fcd0c0..f561e995 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs @@ -24,12 +24,12 @@ import Foreign.C.Types ( CInt(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -125,7 +125,11 @@ pattern VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME = "VK_KHR_external_semaphore -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkSemaphoreGetFdInfoKHR' -foreign import ccall "vkGetSemaphoreFdKHR" vkGetSemaphoreFdKHR :: ("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkSemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetSemaphoreFdKHR" vkGetSemaphoreFdKHR :: ("device" ::: VkDevice) -> ("pGetFdInfo" ::: Ptr VkSemaphoreGetFdInfoKHR) -> ("pFd" ::: Ptr CInt) -> IO VkResult -- | vkImportSemaphoreFdKHR - Import a semaphore from a POSIX file descriptor -- -- = Parameters @@ -172,7 +176,11 @@ foreign import ccall "vkGetSemaphoreFdKHR" vkGetSemaphoreFdKHR :: ("device" ::: -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkImportSemaphoreFdInfoKHR' -foreign import ccall "vkImportSemaphoreFdKHR" vkImportSemaphoreFdKHR :: ("device" ::: VkDevice) -> ("pImportSemaphoreFdInfo" ::: Ptr VkImportSemaphoreFdInfoKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkImportSemaphoreFdKHR" vkImportSemaphoreFdKHR :: ("device" ::: VkDevice) -> ("pImportSemaphoreFdInfo" ::: Ptr VkImportSemaphoreFdInfoKHR) -> IO VkResult -- | VkImportSemaphoreFdInfoKHR - Structure specifying POSIX file descriptor -- to import to a semaphore -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs index cbcad133..c1ce4ed5 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs @@ -25,16 +25,16 @@ import Data.String ( IsString ) import Data.Word - ( Word64 - , Word32 + ( Word32 + , Word64 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -62,8 +62,8 @@ import Graphics.Vulkan.Extensions.VK_KHR_external_memory_win32 ) import Graphics.Vulkan.Extensions.VK_NV_external_memory_win32 ( DWORD - , SECURITY_ATTRIBUTES , HANDLE + , SECURITY_ATTRIBUTES ) @@ -134,7 +134,11 @@ pattern VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME = "VK_KHR_external_semaph -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkSemaphoreGetWin32HandleInfoKHR' -foreign import ccall "vkGetSemaphoreWin32HandleKHR" vkGetSemaphoreWin32HandleKHR :: ("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkSemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetSemaphoreWin32HandleKHR" vkGetSemaphoreWin32HandleKHR :: ("device" ::: VkDevice) -> ("pGetWin32HandleInfo" ::: Ptr VkSemaphoreGetWin32HandleInfoKHR) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult -- | vkImportSemaphoreWin32HandleKHR - Import a semaphore from a Windows -- HANDLE -- @@ -178,7 +182,11 @@ foreign import ccall "vkGetSemaphoreWin32HandleKHR" vkGetSemaphoreWin32HandleKHR -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkImportSemaphoreWin32HandleInfoKHR' -foreign import ccall "vkImportSemaphoreWin32HandleKHR" vkImportSemaphoreWin32HandleKHR :: ("device" ::: VkDevice) -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr VkImportSemaphoreWin32HandleInfoKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkImportSemaphoreWin32HandleKHR" vkImportSemaphoreWin32HandleKHR :: ("device" ::: VkDevice) -> ("pImportSemaphoreWin32HandleInfo" ::: Ptr VkImportSemaphoreWin32HandleInfoKHR) -> IO VkResult -- | VkImportSemaphoreWin32HandleInfoKHR - Structure specifying Windows -- handle to import to a semaphore -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs index 43030bdc..84a11a8b 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs @@ -50,26 +50,26 @@ import Graphics.Vulkan.Core10.DeviceInitialization ) import Graphics.Vulkan.Core10.MemoryManagement ( VkMemoryRequirements(..) - , VkImage , VkBuffer + , VkImage ) import Graphics.Vulkan.Core10.SparseResourceMemoryManagement ( VkSparseImageMemoryRequirements(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_get_memory_requirements2 - ( pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 - , pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 - , pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 - , pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 - , pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 - , VkSparseImageMemoryRequirements2(..) - , VkImageSparseMemoryRequirementsInfo2(..) - , vkGetImageSparseMemoryRequirements2 + ( VkBufferMemoryRequirementsInfo2(..) , VkImageMemoryRequirementsInfo2(..) - , vkGetImageMemoryRequirements2 + , VkImageSparseMemoryRequirementsInfo2(..) , VkMemoryRequirements2(..) - , VkBufferMemoryRequirementsInfo2(..) + , VkSparseImageMemoryRequirements2(..) , vkGetBufferMemoryRequirements2 + , vkGetImageMemoryRequirements2 + , vkGetImageSparseMemoryRequirements2 + , pattern VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2 + , pattern VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2 + , pattern VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2 + , pattern VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2 + , pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2 ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_get_physical_device_properties2.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_get_physical_device_properties2.hs index bc707126..99f7d3a2 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_get_physical_device_properties2.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_get_physical_device_properties2.hs @@ -59,53 +59,53 @@ import Graphics.Vulkan.NamedType import Graphics.Vulkan.Core10.Core - ( VkStructureType(..) + ( VkFormat(..) , VkResult(..) - , VkFormat(..) + , VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkSampleCountFlagBits(..) + ( VkFormatProperties(..) + , VkImageFormatProperties(..) + , VkImageTiling(..) + , VkImageType(..) + , VkPhysicalDeviceFeatures(..) , VkPhysicalDeviceMemoryProperties(..) + , VkPhysicalDeviceProperties(..) , VkQueueFamilyProperties(..) + , VkSampleCountFlagBits(..) , VkImageCreateFlags , VkImageUsageFlags - , VkImageTiling(..) - , VkImageType(..) - , VkImageFormatProperties(..) - , VkFormatProperties(..) - , VkPhysicalDeviceProperties(..) - , VkPhysicalDeviceFeatures(..) , VkPhysicalDevice ) import Graphics.Vulkan.Core10.SparseResourceMemoryManagement ( VkSparseImageFormatProperties(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_get_physical_device_properties2 - ( pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 - , pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 - , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 - , pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 - , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 - , pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 - , pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 - , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 - , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 - , VkSparseImageFormatProperties2(..) - , VkPhysicalDeviceSparseImageFormatInfo2(..) - , vkGetPhysicalDeviceSparseImageFormatProperties2 - , VkPhysicalDeviceMemoryProperties2(..) - , vkGetPhysicalDeviceMemoryProperties2 - , VkQueueFamilyProperties2(..) - , vkGetPhysicalDeviceQueueFamilyProperties2 + ( VkFormatProperties2(..) , VkImageFormatProperties2(..) + , VkPhysicalDeviceFeatures2(..) , VkPhysicalDeviceImageFormatInfo2(..) - , vkGetPhysicalDeviceImageFormatProperties2 - , VkFormatProperties2(..) - , vkGetPhysicalDeviceFormatProperties2 + , VkPhysicalDeviceMemoryProperties2(..) , VkPhysicalDeviceProperties2(..) - , vkGetPhysicalDeviceProperties2 - , VkPhysicalDeviceFeatures2(..) + , VkPhysicalDeviceSparseImageFormatInfo2(..) + , VkQueueFamilyProperties2(..) + , VkSparseImageFormatProperties2(..) , vkGetPhysicalDeviceFeatures2 + , vkGetPhysicalDeviceFormatProperties2 + , vkGetPhysicalDeviceImageFormatProperties2 + , vkGetPhysicalDeviceMemoryProperties2 + , vkGetPhysicalDeviceProperties2 + , vkGetPhysicalDeviceQueueFamilyProperties2 + , vkGetPhysicalDeviceSparseImageFormatProperties2 + , pattern VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2 + , pattern VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2 + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2 + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2 + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2 + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2 + , pattern VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 + , pattern VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2 ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs index caec9c7b..1cff8c3e 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs @@ -26,12 +26,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -46,8 +46,8 @@ import Graphics.Vulkan.Core10.DeviceInitialization ( VkPhysicalDevice ) import Graphics.Vulkan.Extensions.VK_KHR_surface - ( VkSurfaceFormatKHR(..) - , VkSurfaceCapabilitiesKHR(..) + ( VkSurfaceCapabilitiesKHR(..) + , VkSurfaceFormatKHR(..) , VkSurfaceKHR ) @@ -119,7 +119,11 @@ pattern VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME = "VK_KHR_get_surface_c -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkPhysicalDeviceSurfaceInfo2KHR', 'VkSurfaceCapabilities2KHR' -foreign import ccall "vkGetPhysicalDeviceSurfaceCapabilities2KHR" vkGetPhysicalDeviceSurfaceCapabilities2KHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2KHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceSurfaceCapabilities2KHR" vkGetPhysicalDeviceSurfaceCapabilities2KHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilities2KHR) -> IO VkResult -- | vkGetPhysicalDeviceSurfaceFormats2KHR - Query color formats supported by -- surface -- @@ -189,7 +193,11 @@ foreign import ccall "vkGetPhysicalDeviceSurfaceCapabilities2KHR" vkGetPhysicalD -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkPhysicalDeviceSurfaceInfo2KHR', 'VkSurfaceFormat2KHR' -foreign import ccall "vkGetPhysicalDeviceSurfaceFormats2KHR" vkGetPhysicalDeviceSurfaceFormats2KHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormat2KHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceSurfaceFormats2KHR" vkGetPhysicalDeviceSurfaceFormats2KHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pSurfaceInfo" ::: Ptr VkPhysicalDeviceSurfaceInfo2KHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormat2KHR) -> IO VkResult -- | VkPhysicalDeviceSurfaceInfo2KHR - Structure specifying a surface and -- related swapchain creation parameters -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_image_format_list.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_image_format_list.hs index f3454896..edafa18d 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_image_format_list.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_image_format_list.hs @@ -18,12 +18,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_incremental_present.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_incremental_present.hs index 1efab9ba..af85f4d6 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_incremental_present.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_incremental_present.hs @@ -20,12 +20,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_maintenance1.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_maintenance1.hs index df5e8d45..91f45db9 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_maintenance1.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_maintenance1.hs @@ -31,17 +31,17 @@ import Graphics.Vulkan.Core10.Core ( VkResult(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkImageCreateFlagBits(..) - , VkFormatFeatureFlagBits(..) + ( VkFormatFeatureFlagBits(..) + , VkImageCreateFlagBits(..) , VkDevice ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_maintenance1 - ( pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT + ( VkCommandPoolTrimFlags(..) + , vkTrimCommandPool + , pattern VK_ERROR_OUT_OF_POOL_MEMORY , pattern VK_FORMAT_FEATURE_TRANSFER_DST_BIT , pattern VK_FORMAT_FEATURE_TRANSFER_SRC_BIT - , pattern VK_ERROR_OUT_OF_POOL_MEMORY - , VkCommandPoolTrimFlags(..) - , vkTrimCommandPool + , pattern VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_maintenance2.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_maintenance2.hs index 608e927f..aa64cad3 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_maintenance2.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_maintenance2.hs @@ -62,25 +62,25 @@ import Graphics.Vulkan.Core10.SparseResourceMemoryManagement ( VkImageAspectFlags ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_maintenance2 - ( pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT - , pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT - , pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY - , pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES + ( VkImageViewUsageCreateInfo(..) + , VkInputAttachmentAspectReference(..) + , VkPhysicalDevicePointClippingProperties(..) + , VkPipelineTessellationDomainOriginStateCreateInfo(..) + , VkPointClippingBehavior(..) + , VkRenderPassInputAttachmentAspectCreateInfo(..) + , VkTessellationDomainOrigin(..) + , pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT + , pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT , pattern VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL , pattern VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL - , pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO + , pattern VK_POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES + , pattern VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY , pattern VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO - , pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES - , pattern VK_IMAGE_CREATE_EXTENDED_USAGE_BIT - , pattern VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT - , VkPipelineTessellationDomainOriginStateCreateInfo(..) - , VkImageViewUsageCreateInfo(..) - , VkPhysicalDevicePointClippingProperties(..) - , VkRenderPassInputAttachmentAspectCreateInfo(..) - , VkInputAttachmentAspectReference(..) - , VkTessellationDomainOrigin(..) - , VkPointClippingBehavior(..) + , pattern VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO + , pattern VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO + , pattern VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT + , pattern VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_maintenance3.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_maintenance3.hs index e9467e61..0d81338e 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_maintenance3.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_maintenance3.hs @@ -39,15 +39,15 @@ import Graphics.Vulkan.Core10.DescriptorSet ( VkDescriptorSetLayoutCreateInfo(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDeviceSize - , VkDevice + ( VkDevice + , VkDeviceSize ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_maintenance3 - ( pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT - , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES + ( VkDescriptorSetLayoutSupport(..) , VkPhysicalDeviceMaintenance3Properties(..) - , VkDescriptorSetLayoutSupport(..) , vkGetDescriptorSetLayoutSupport + , pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_mir_surface.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_mir_surface.hs index a75dacda..d5240bff 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_mir_surface.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_mir_surface.hs @@ -30,16 +30,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -65,9 +65,9 @@ import Graphics.Vulkan.Core10.Core , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkPhysicalDevice - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) , VkInstance + , VkPhysicalDevice ) import Graphics.Vulkan.Extensions.VK_KHR_surface ( VkSurfaceKHR @@ -156,7 +156,11 @@ pattern VK_KHR_MIR_SURFACE_EXTENSION_NAME = "VK_KHR_mir_surface" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance', -- 'VkMirSurfaceCreateInfoKHR', -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR' -foreign import ccall "vkCreateMirSurfaceKHR" vkCreateMirSurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMirSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateMirSurfaceKHR" vkCreateMirSurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMirSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult -- | vkGetPhysicalDeviceMirPresentationSupportKHR - Query physical device for -- presentation to Mir -- @@ -189,7 +193,11 @@ foreign import ccall "vkCreateMirSurfaceKHR" vkCreateMirSurfaceKHR :: ("instance -- = See Also -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetPhysicalDeviceMirPresentationSupportKHR" vkGetPhysicalDeviceMirPresentationSupportKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr MirConnection) -> IO VkBool32 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceMirPresentationSupportKHR" vkGetPhysicalDeviceMirPresentationSupportKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr MirConnection) -> IO VkBool32 -- | VkMirSurfaceCreateInfoKHR - Structure specifying parameters of a newly -- created Mir surface object -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_multiview.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_multiview.hs index 753131d7..a33696d8 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_multiview.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_multiview.hs @@ -45,13 +45,13 @@ import Graphics.Vulkan.Core10.Pass ( VkDependencyFlagBits(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_multiview - ( pattern VK_DEPENDENCY_VIEW_LOCAL_BIT - , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES + ( VkPhysicalDeviceMultiviewFeatures(..) + , VkPhysicalDeviceMultiviewProperties(..) + , VkRenderPassMultiviewCreateInfo(..) + , pattern VK_DEPENDENCY_VIEW_LOCAL_BIT , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES , pattern VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO - , VkRenderPassMultiviewCreateInfo(..) - , VkPhysicalDeviceMultiviewProperties(..) - , VkPhysicalDeviceMultiviewFeatures(..) ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_push_descriptor.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_push_descriptor.hs index e13fa93d..0c1d3324 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_push_descriptor.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_push_descriptor.hs @@ -24,12 +24,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -40,8 +40,8 @@ import Graphics.Vulkan.Core10.Core ( VkStructureType(..) ) import Graphics.Vulkan.Core10.DescriptorSet - ( VkWriteDescriptorSet(..) - , VkDescriptorSetLayoutCreateFlagBits(..) + ( VkDescriptorSetLayoutCreateFlagBits(..) + , VkWriteDescriptorSet(..) ) import Graphics.Vulkan.Core10.Pass ( VkPipelineBindPoint(..) @@ -53,8 +53,8 @@ import Graphics.Vulkan.Core10.Queue ( VkCommandBuffer ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_descriptor_update_template - ( VkDescriptorUpdateTemplate - , VkDescriptorUpdateTemplateType(..) + ( VkDescriptorUpdateTemplateType(..) + , VkDescriptorUpdateTemplate ) @@ -212,7 +212,11 @@ pattern VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME = "VK_KHR_push_descriptor" -- 'Graphics.Vulkan.Core10.Pass.VkPipelineBindPoint', -- 'Graphics.Vulkan.Core10.Pipeline.VkPipelineLayout', -- 'Graphics.Vulkan.Core10.DescriptorSet.VkWriteDescriptorSet' -foreign import ccall "vkCmdPushDescriptorSetKHR" vkCmdPushDescriptorSetKHR :: ("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdPushDescriptorSetKHR" vkCmdPushDescriptorSetKHR :: ("commandBuffer" ::: VkCommandBuffer) -> ("pipelineBindPoint" ::: VkPipelineBindPoint) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("descriptorWriteCount" ::: Word32) -> ("pDescriptorWrites" ::: Ptr VkWriteDescriptorSet) -> IO () -- | vkCmdPushDescriptorSetWithTemplateKHR - Pushes descriptor updates into a -- command buffer using a descriptor update template -- @@ -346,7 +350,11 @@ foreign import ccall "vkCmdPushDescriptorSetKHR" vkCmdPushDescriptorSetKHR :: (" -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', -- 'Graphics.Vulkan.Core11.Promoted_from_VK_KHR_descriptor_update_template.VkDescriptorUpdateTemplate', -- 'Graphics.Vulkan.Core10.Pipeline.VkPipelineLayout' -foreign import ccall "vkCmdPushDescriptorSetWithTemplateKHR" vkCmdPushDescriptorSetWithTemplateKHR :: ("commandBuffer" ::: VkCommandBuffer) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdPushDescriptorSetWithTemplateKHR" vkCmdPushDescriptorSetWithTemplateKHR :: ("commandBuffer" ::: VkCommandBuffer) -> ("descriptorUpdateTemplate" ::: VkDescriptorUpdateTemplate) -> ("layout" ::: VkPipelineLayout) -> ("set" ::: Word32) -> ("pData" ::: Ptr ()) -> IO () -- | VkPhysicalDevicePushDescriptorPropertiesKHR - Structure describing push -- descriptor limits that can be supported by an implementation -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_sampler_ycbcr_conversion.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_sampler_ycbcr_conversion.hs index 2dc41a86..37675fef 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_sampler_ycbcr_conversion.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_sampler_ycbcr_conversion.hs @@ -105,16 +105,16 @@ import Graphics.Vulkan.NamedType import Graphics.Vulkan.Core10.Core - ( VkObjectType(..) - , VkBool32(..) + ( VkBool32(..) , VkFormat(..) - , VkStructureType(..) + , VkObjectType(..) , VkResult(..) + , VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkFormatFeatureFlagBits(..) + ( VkAllocationCallbacks(..) + , VkFormatFeatureFlagBits(..) , VkImageCreateFlagBits(..) - , VkAllocationCallbacks(..) , VkDevice ) import Graphics.Vulkan.Core10.ImageView @@ -127,79 +127,79 @@ import Graphics.Vulkan.Core10.SparseResourceMemoryManagement ( VkImageAspectFlagBits(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_sampler_ycbcr_conversion - ( pattern VK_CHROMA_LOCATION_MIDPOINT + ( VkBindImagePlaneMemoryInfo(..) + , VkChromaLocation(..) + , VkImagePlaneMemoryRequirementsInfo(..) + , VkPhysicalDeviceSamplerYcbcrConversionFeatures(..) + , VkSamplerYcbcrConversionCreateInfo(..) + , VkSamplerYcbcrConversionImageFormatProperties(..) + , VkSamplerYcbcrConversionInfo(..) + , VkSamplerYcbcrModelConversion(..) + , VkSamplerYcbcrRange(..) + , VkSamplerYcbcrConversion + , vkCreateSamplerYcbcrConversion + , vkDestroySamplerYcbcrConversion , pattern VK_CHROMA_LOCATION_COSITED_EVEN - , pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW - , pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL - , pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 - , pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 - , pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 - , pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY - , pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY + , pattern VK_CHROMA_LOCATION_MIDPOINT + , pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 + , pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 + , pattern VK_FORMAT_B16G16R16G16_422_UNORM + , pattern VK_FORMAT_B8G8R8G8_422_UNORM , pattern VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT , pattern VK_FORMAT_FEATURE_DISJOINT_BIT - , pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT + , pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT , pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT - , pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT + , pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT , pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT - , pattern VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT - , pattern VK_IMAGE_CREATE_DISJOINT_BIT - , pattern VK_IMAGE_ASPECT_PLANE_2_BIT - , pattern VK_IMAGE_ASPECT_PLANE_1_BIT - , pattern VK_IMAGE_ASPECT_PLANE_0_BIT - , pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM - , pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM - , pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM - , pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM - , pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM - , pattern VK_FORMAT_B16G16R16G16_422_UNORM - , pattern VK_FORMAT_G16B16G16R16_422_UNORM - , pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 - , pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 - , pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 - , pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 - , pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 - , pattern VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16 - , pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 - , pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 - , pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 - , pattern VK_FORMAT_R12X4_UNORM_PACK16 - , pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 - , pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 - , pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 + , pattern VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT + , pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 , pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16 + , pattern VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16 , pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16 - , pattern VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16 - , pattern VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16 + , pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16 + , pattern VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16 + , pattern VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16 + , pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16 + , pattern VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16 + , pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16 + , pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16 + , pattern VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16 + , pattern VK_FORMAT_G16B16G16R16_422_UNORM + , pattern VK_FORMAT_G16_B16R16_2PLANE_420_UNORM + , pattern VK_FORMAT_G16_B16R16_2PLANE_422_UNORM + , pattern VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM + , pattern VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM + , pattern VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM + , pattern VK_FORMAT_G8B8G8R8_422_UNORM + , pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM + , pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM + , pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM + , pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM + , pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM , pattern VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16 , pattern VK_FORMAT_R10X6G10X6_UNORM_2PACK16 , pattern VK_FORMAT_R10X6_UNORM_PACK16 - , pattern VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM - , pattern VK_FORMAT_G8_B8R8_2PLANE_422_UNORM - , pattern VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM - , pattern VK_FORMAT_G8_B8R8_2PLANE_420_UNORM - , pattern VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM - , pattern VK_FORMAT_B8G8R8G8_422_UNORM - , pattern VK_FORMAT_G8B8G8R8_422_UNORM + , pattern VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16 + , pattern VK_FORMAT_R12X4G12X4_UNORM_2PACK16 + , pattern VK_FORMAT_R12X4_UNORM_PACK16 + , pattern VK_IMAGE_ASPECT_PLANE_0_BIT + , pattern VK_IMAGE_ASPECT_PLANE_1_BIT + , pattern VK_IMAGE_ASPECT_PLANE_2_BIT + , pattern VK_IMAGE_CREATE_DISJOINT_BIT , pattern VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION - , pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES - , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES - , pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO + , pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY + , pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_2020 + , pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_601 + , pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_709 + , pattern VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY + , pattern VK_SAMPLER_YCBCR_RANGE_ITU_FULL + , pattern VK_SAMPLER_YCBCR_RANGE_ITU_NARROW , pattern VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO - , pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO + , pattern VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES , pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO - , VkSamplerYcbcrConversionImageFormatProperties(..) - , VkPhysicalDeviceSamplerYcbcrConversionFeatures(..) - , VkImagePlaneMemoryRequirementsInfo(..) - , VkBindImagePlaneMemoryInfo(..) - , VkSamplerYcbcrConversionInfo(..) - , VkChromaLocation(..) - , VkSamplerYcbcrRange(..) - , VkSamplerYcbcrModelConversion(..) - , vkDestroySamplerYcbcrConversion - , VkSamplerYcbcrConversion - , VkSamplerYcbcrConversionCreateInfo(..) - , vkCreateSamplerYcbcrConversion + , pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES + , pattern VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO ) import Graphics.Vulkan.Extensions.VK_EXT_debug_report ( VkDebugReportObjectTypeEXT(..) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs index ff5781c8..0f1478bc 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs @@ -21,12 +21,12 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -38,8 +38,8 @@ import Graphics.Vulkan.Core10.Core , VkStructureType(..) ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkImageUsageFlags - , VkDevice + ( VkDevice + , VkImageUsageFlags ) import Graphics.Vulkan.Core10.Image ( VkImageLayout(..) @@ -113,7 +113,11 @@ pattern VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME = "VK_KHR_shared_presenta -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Extensions.VK_KHR_swapchain.VkSwapchainKHR' -foreign import ccall "vkGetSwapchainStatusKHR" vkGetSwapchainStatusKHR :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetSwapchainStatusKHR" vkGetSwapchainStatusKHR :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> IO VkResult -- | VkSharedPresentSurfaceCapabilitiesKHR - structure describing -- capabilities of a surface for shared presentation -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_surface.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_surface.hs index 4661a502..c0eaf17a 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_surface.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_surface.hs @@ -62,16 +62,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -91,17 +91,17 @@ import Text.Read.Lex import Graphics.Vulkan.Core10.Core - ( VkFormat(..) - , VkBool32(..) + ( VkBool32(..) + , VkFormat(..) , VkObjectType(..) , VkResult(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkImageUsageFlags - , VkPhysicalDevice - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) + , VkImageUsageFlags , VkInstance + , VkPhysicalDevice ) import Graphics.Vulkan.Core10.Pipeline ( VkExtent2D(..) @@ -700,7 +700,11 @@ type VkSurfaceKHR = Ptr VkSurfaceKHR_T -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance', 'VkSurfaceKHR' -foreign import ccall "vkDestroySurfaceKHR" vkDestroySurfaceKHR :: ("instance" ::: VkInstance) -> ("surface" ::: VkSurfaceKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroySurfaceKHR" vkDestroySurfaceKHR :: ("instance" ::: VkInstance) -> ("surface" ::: VkSurfaceKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkGetPhysicalDeviceSurfaceSupportKHR - Query if presentation is -- supported -- @@ -749,7 +753,11 @@ foreign import ccall "vkDestroySurfaceKHR" vkDestroySurfaceKHR :: ("instance" :: -- @VkBool32@, -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkSurfaceKHR' -foreign import ccall "vkGetPhysicalDeviceSurfaceSupportKHR" vkGetPhysicalDeviceSurfaceSupportKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("surface" ::: VkSurfaceKHR) -> ("pSupported" ::: Ptr VkBool32) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceSurfaceSupportKHR" vkGetPhysicalDeviceSurfaceSupportKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("surface" ::: VkSurfaceKHR) -> ("pSupported" ::: Ptr VkBool32) -> IO VkResult -- | vkGetPhysicalDeviceSurfaceCapabilitiesKHR - Query surface capabilities -- -- = Parameters @@ -792,7 +800,11 @@ foreign import ccall "vkGetPhysicalDeviceSurfaceSupportKHR" vkGetPhysicalDeviceS -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkSurfaceCapabilitiesKHR', 'VkSurfaceKHR' -foreign import ccall "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" vkGetPhysicalDeviceSurfaceCapabilitiesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilitiesKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" vkGetPhysicalDeviceSurfaceCapabilitiesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceCapabilities" ::: Ptr VkSurfaceCapabilitiesKHR) -> IO VkResult -- | vkGetPhysicalDeviceSurfaceFormatsKHR - Query color formats supported by -- surface -- @@ -861,7 +873,11 @@ foreign import ccall "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" vkGetPhysicalDe -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkSurfaceFormatKHR', 'VkSurfaceKHR' -foreign import ccall "vkGetPhysicalDeviceSurfaceFormatsKHR" vkGetPhysicalDeviceSurfaceFormatsKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormatKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceSurfaceFormatsKHR" vkGetPhysicalDeviceSurfaceFormatsKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pSurfaceFormatCount" ::: Ptr Word32) -> ("pSurfaceFormats" ::: Ptr VkSurfaceFormatKHR) -> IO VkResult -- | vkGetPhysicalDeviceSurfacePresentModesKHR - Query supported presentation -- modes -- @@ -927,7 +943,11 @@ foreign import ccall "vkGetPhysicalDeviceSurfaceFormatsKHR" vkGetPhysicalDeviceS -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'VkPresentModeKHR', 'VkSurfaceKHR' -foreign import ccall "vkGetPhysicalDeviceSurfacePresentModesKHR" vkGetPhysicalDeviceSurfacePresentModesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr VkPresentModeKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceSurfacePresentModesKHR" vkGetPhysicalDeviceSurfacePresentModesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pPresentModeCount" ::: Ptr Word32) -> ("pPresentModes" ::: Ptr VkPresentModeKHR) -> IO VkResult -- | VkSurfaceCapabilitiesKHR - Structure describing capabilities of a -- surface -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_swapchain.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_swapchain.hs index b11ebe1b..29e59dd1 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_swapchain.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_swapchain.hs @@ -67,16 +67,16 @@ import Data.Word , Word64 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -102,15 +102,15 @@ import Graphics.Vulkan.Core10.Core ( VkBool32(..) , VkFormat(..) , VkObjectType(..) - , VkStructureType(..) , VkResult(..) + , VkStructureType(..) , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkImageUsageFlags - , VkPhysicalDevice - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) , VkDevice + , VkImageUsageFlags + , VkPhysicalDevice ) import Graphics.Vulkan.Core10.Image ( VkImageLayout(..) @@ -123,18 +123,18 @@ import Graphics.Vulkan.Core10.Pipeline , VkRect2D(..) ) import Graphics.Vulkan.Core10.Queue - ( VkQueue - , VkFence + ( VkFence + , VkQueue , VkSemaphore ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_device_group_creation ( VK_MAX_DEVICE_GROUP_SIZE ) import Graphics.Vulkan.Extensions.VK_KHR_surface - ( VkPresentModeKHR(..) + ( VkColorSpaceKHR(..) , VkCompositeAlphaFlagBitsKHR(..) + , VkPresentModeKHR(..) , VkSurfaceTransformFlagBitsKHR(..) - , VkColorSpaceKHR(..) , VkSurfaceKHR ) @@ -402,7 +402,11 @@ type VkSwapchainKHR = Ptr VkSwapchainKHR_T -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkSwapchainCreateInfoKHR', 'VkSwapchainKHR' -foreign import ccall "vkCreateSwapchainKHR" vkCreateSwapchainKHR :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchain" ::: Ptr VkSwapchainKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateSwapchainKHR" vkCreateSwapchainKHR :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkSwapchainCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSwapchain" ::: Ptr VkSwapchainKHR) -> IO VkResult -- | vkDestroySwapchainKHR - Destroy a swapchain object -- -- = Parameters @@ -471,7 +475,11 @@ foreign import ccall "vkCreateSwapchainKHR" vkCreateSwapchainKHR :: ("device" :: -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', 'VkSwapchainKHR' -foreign import ccall "vkDestroySwapchainKHR" vkDestroySwapchainKHR :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroySwapchainKHR" vkDestroySwapchainKHR :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkGetSwapchainImagesKHR - Obtain the array of presentable images -- associated with a swapchain -- @@ -536,7 +544,11 @@ foreign import ccall "vkDestroySwapchainKHR" vkDestroySwapchainKHR :: ("device" -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.MemoryManagement.VkImage', 'VkSwapchainKHR' -foreign import ccall "vkGetSwapchainImagesKHR" vkGetSwapchainImagesKHR :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr VkImage) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetSwapchainImagesKHR" vkGetSwapchainImagesKHR :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("pSwapchainImageCount" ::: Ptr Word32) -> ("pSwapchainImages" ::: Ptr VkImage) -> IO VkResult -- | vkAcquireNextImageKHR - Retrieve the index of the next available -- presentable image -- @@ -647,7 +659,11 @@ foreign import ccall "vkGetSwapchainImagesKHR" vkGetSwapchainImagesKHR :: ("devi -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Queue.VkFence', -- 'Graphics.Vulkan.Core10.Queue.VkSemaphore', 'VkSwapchainKHR' -foreign import ccall "vkAcquireNextImageKHR" vkAcquireNextImageKHR :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("timeout" ::: Word64) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkAcquireNextImageKHR" vkAcquireNextImageKHR :: ("device" ::: VkDevice) -> ("swapchain" ::: VkSwapchainKHR) -> ("timeout" ::: Word64) -> ("semaphore" ::: VkSemaphore) -> ("fence" ::: VkFence) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult -- | vkQueuePresentKHR - Queue an image for presentation -- -- = Parameters @@ -765,7 +781,11 @@ foreign import ccall "vkAcquireNextImageKHR" vkAcquireNextImageKHR :: ("device" -- = See Also -- -- 'VkPresentInfoKHR', 'Graphics.Vulkan.Core10.Queue.VkQueue' -foreign import ccall "vkQueuePresentKHR" vkQueuePresentKHR :: ("queue" ::: VkQueue) -> ("pPresentInfo" ::: Ptr VkPresentInfoKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkQueuePresentKHR" vkQueuePresentKHR :: ("queue" ::: VkQueue) -> ("pPresentInfo" ::: Ptr VkPresentInfoKHR) -> IO VkResult -- | vkGetDeviceGroupPresentCapabilitiesKHR - Query present capabilities from -- other physical devices -- @@ -798,7 +818,11 @@ foreign import ccall "vkQueuePresentKHR" vkQueuePresentKHR :: ("queue" ::: VkQue -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkDeviceGroupPresentCapabilitiesKHR' -foreign import ccall "vkGetDeviceGroupPresentCapabilitiesKHR" vkGetDeviceGroupPresentCapabilitiesKHR :: ("device" ::: VkDevice) -> ("pDeviceGroupPresentCapabilities" ::: Ptr VkDeviceGroupPresentCapabilitiesKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetDeviceGroupPresentCapabilitiesKHR" vkGetDeviceGroupPresentCapabilitiesKHR :: ("device" ::: VkDevice) -> ("pDeviceGroupPresentCapabilities" ::: Ptr VkDeviceGroupPresentCapabilitiesKHR) -> IO VkResult -- | vkGetDeviceGroupSurfacePresentModesKHR - Query present capabilities for -- a surface -- @@ -852,7 +876,11 @@ foreign import ccall "vkGetDeviceGroupPresentCapabilitiesKHR" vkGetDeviceGroupPr -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkDeviceGroupPresentModeFlagsKHR', -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR' -foreign import ccall "vkGetDeviceGroupSurfacePresentModesKHR" vkGetDeviceGroupSurfacePresentModesKHR :: ("device" ::: VkDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pModes" ::: Ptr VkDeviceGroupPresentModeFlagsKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetDeviceGroupSurfacePresentModesKHR" vkGetDeviceGroupSurfacePresentModesKHR :: ("device" ::: VkDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pModes" ::: Ptr VkDeviceGroupPresentModeFlagsKHR) -> IO VkResult -- | vkAcquireNextImage2KHR - Retrieve the index of the next available -- presentable image -- @@ -912,7 +940,11 @@ foreign import ccall "vkGetDeviceGroupSurfacePresentModesKHR" vkGetDeviceGroupSu -- -- 'VkAcquireNextImageInfoKHR', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice' -foreign import ccall "vkAcquireNextImage2KHR" vkAcquireNextImage2KHR :: ("device" ::: VkDevice) -> ("pAcquireInfo" ::: Ptr VkAcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkAcquireNextImage2KHR" vkAcquireNextImage2KHR :: ("device" ::: VkDevice) -> ("pAcquireInfo" ::: Ptr VkAcquireNextImageInfoKHR) -> ("pImageIndex" ::: Ptr Word32) -> IO VkResult -- | vkGetPhysicalDevicePresentRectanglesKHR - Query present rectangles for a -- surface on a physical device -- @@ -982,7 +1014,11 @@ foreign import ccall "vkAcquireNextImage2KHR" vkAcquireNextImage2KHR :: ("device -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice', -- 'Graphics.Vulkan.Core10.Pipeline.VkRect2D', -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR' -foreign import ccall "vkGetPhysicalDevicePresentRectanglesKHR" vkGetPhysicalDevicePresentRectanglesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr VkRect2D) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDevicePresentRectanglesKHR" vkGetPhysicalDevicePresentRectanglesKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("surface" ::: VkSurfaceKHR) -> ("pRectCount" ::: Ptr Word32) -> ("pRects" ::: Ptr VkRect2D) -> IO VkResult -- | VkSwapchainCreateInfoKHR - Structure specifying parameters of a newly -- created swapchain object -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_variable_pointers.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_variable_pointers.hs index 557884b1..d2262682 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_variable_pointers.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_variable_pointers.hs @@ -29,8 +29,8 @@ import Graphics.Vulkan.Core10.Core , VkStructureType(..) ) import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_variable_pointers - ( pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES - , VkPhysicalDeviceVariablePointerFeatures(..) + ( VkPhysicalDeviceVariablePointerFeatures(..) + , pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_wayland_surface.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_wayland_surface.hs index 121c0f56..f1b9d9f5 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_wayland_surface.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_wayland_surface.hs @@ -30,16 +30,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -65,9 +65,9 @@ import Graphics.Vulkan.Core10.Core , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkPhysicalDevice - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) , VkInstance + , VkPhysicalDevice ) import Graphics.Vulkan.Extensions.VK_KHR_surface ( VkSurfaceKHR @@ -156,7 +156,11 @@ pattern VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME = "VK_KHR_wayland_surface" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance', -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR', -- 'VkWaylandSurfaceCreateInfoKHR' -foreign import ccall "vkCreateWaylandSurfaceKHR" vkCreateWaylandSurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateWaylandSurfaceKHR" vkCreateWaylandSurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWaylandSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult -- | vkGetPhysicalDeviceWaylandPresentationSupportKHR - Query physical device -- for presentation to Wayland -- @@ -189,7 +193,11 @@ foreign import ccall "vkCreateWaylandSurfaceKHR" vkCreateWaylandSurfaceKHR :: (" -- = See Also -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetPhysicalDeviceWaylandPresentationSupportKHR" vkGetPhysicalDeviceWaylandPresentationSupportKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("display" ::: Ptr Wl_display) -> IO VkBool32 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceWaylandPresentationSupportKHR" vkGetPhysicalDeviceWaylandPresentationSupportKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("display" ::: Ptr Wl_display) -> IO VkBool32 -- | VkWaylandSurfaceCreateInfoKHR - Structure specifying parameters of a -- newly created Wayland surface object -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_win32_keyed_mutex.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_win32_keyed_mutex.hs index e78910e4..65f14d3f 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_win32_keyed_mutex.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_win32_keyed_mutex.hs @@ -15,16 +15,16 @@ import Data.String ( IsString ) import Data.Word - ( Word64 - , Word32 + ( Word32 + , Word64 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_win32_surface.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_win32_surface.hs index 20e6f0d2..35013a47 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_win32_surface.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_win32_surface.hs @@ -30,16 +30,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -65,9 +65,9 @@ import Graphics.Vulkan.Core10.Core , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkPhysicalDevice - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) , VkInstance + , VkPhysicalDevice ) import Graphics.Vulkan.Extensions.VK_KHR_surface ( VkSurfaceKHR @@ -156,7 +156,11 @@ pattern VK_KHR_WIN32_SURFACE_EXTENSION_NAME = "VK_KHR_win32_surface" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance', -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR', -- 'VkWin32SurfaceCreateInfoKHR' -foreign import ccall "vkCreateWin32SurfaceKHR" vkCreateWin32SurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWin32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateWin32SurfaceKHR" vkCreateWin32SurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkWin32SurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult -- | vkGetPhysicalDeviceWin32PresentationSupportKHR - query queue family -- support for presentation on a Win32 display -- @@ -184,7 +188,11 @@ foreign import ccall "vkCreateWin32SurfaceKHR" vkCreateWin32SurfaceKHR :: ("inst -- = See Also -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetPhysicalDeviceWin32PresentationSupportKHR" vkGetPhysicalDeviceWin32PresentationSupportKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> IO VkBool32 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceWin32PresentationSupportKHR" vkGetPhysicalDeviceWin32PresentationSupportKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> IO VkBool32 -- | VkWin32SurfaceCreateInfoKHR - Structure specifying parameters of a newly -- created Win32 surface object -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_xcb_surface.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_xcb_surface.hs index 0cd7b355..a64f48a3 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_xcb_surface.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_xcb_surface.hs @@ -31,16 +31,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -66,9 +66,9 @@ import Graphics.Vulkan.Core10.Core , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkPhysicalDevice - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) , VkInstance + , VkPhysicalDevice ) import Graphics.Vulkan.Extensions.VK_KHR_surface ( VkSurfaceKHR @@ -159,7 +159,11 @@ pattern VK_KHR_XCB_SURFACE_EXTENSION_NAME = "VK_KHR_xcb_surface" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance', -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR', -- 'VkXcbSurfaceCreateInfoKHR' -foreign import ccall "vkCreateXcbSurfaceKHR" vkCreateXcbSurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateXcbSurfaceKHR" vkCreateXcbSurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXcbSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult -- | vkGetPhysicalDeviceXcbPresentationSupportKHR - Query physical device for -- presentation to X11 server using XCB -- @@ -192,7 +196,11 @@ foreign import ccall "vkCreateXcbSurfaceKHR" vkCreateXcbSurfaceKHR :: ("instance -- = See Also -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetPhysicalDeviceXcbPresentationSupportKHR" vkGetPhysicalDeviceXcbPresentationSupportKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr Xcb_connection_t) -> ("visual_id" ::: Xcb_visualid_t) -> IO VkBool32 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceXcbPresentationSupportKHR" vkGetPhysicalDeviceXcbPresentationSupportKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("connection" ::: Ptr Xcb_connection_t) -> ("visual_id" ::: Xcb_visualid_t) -> IO VkBool32 -- | VkXcbSurfaceCreateInfoKHR - Structure specifying parameters of a newly -- created Xcb surface object -- diff --git a/src/Graphics/Vulkan/Extensions/VK_KHR_xlib_surface.hs b/src/Graphics/Vulkan/Extensions/VK_KHR_xlib_surface.hs index f942ca38..9922f7ff 100644 --- a/src/Graphics/Vulkan/Extensions/VK_KHR_xlib_surface.hs +++ b/src/Graphics/Vulkan/Extensions/VK_KHR_xlib_surface.hs @@ -32,16 +32,16 @@ import Data.Word , Word64 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -67,9 +67,9 @@ import Graphics.Vulkan.Core10.Core , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkPhysicalDevice - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) , VkInstance + , VkPhysicalDevice ) import Graphics.Vulkan.Extensions.VK_KHR_surface ( VkSurfaceKHR @@ -160,7 +160,11 @@ pattern VK_KHR_XLIB_SURFACE_EXTENSION_NAME = "VK_KHR_xlib_surface" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance', -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR', -- 'VkXlibSurfaceCreateInfoKHR' -foreign import ccall "vkCreateXlibSurfaceKHR" vkCreateXlibSurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateXlibSurfaceKHR" vkCreateXlibSurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkXlibSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult -- | vkGetPhysicalDeviceXlibPresentationSupportKHR - Query physical device -- for presentation to X11 server using Xlib -- @@ -194,7 +198,11 @@ foreign import ccall "vkCreateXlibSurfaceKHR" vkCreateXlibSurfaceKHR :: ("instan -- = See Also -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetPhysicalDeviceXlibPresentationSupportKHR" vkGetPhysicalDeviceXlibPresentationSupportKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> ("visualID" ::: VisualID) -> IO VkBool32 +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceXlibPresentationSupportKHR" vkGetPhysicalDeviceXlibPresentationSupportKHR :: ("physicalDevice" ::: VkPhysicalDevice) -> ("queueFamilyIndex" ::: Word32) -> ("dpy" ::: Ptr Display) -> ("visualID" ::: VisualID) -> IO VkBool32 -- | VkXlibSurfaceCreateInfoKHR - Structure specifying parameters of a newly -- created Xlib surface object -- diff --git a/src/Graphics/Vulkan/Extensions/VK_MVK_ios_surface.hs b/src/Graphics/Vulkan/Extensions/VK_MVK_ios_surface.hs index 1299bf26..04bbb127 100644 --- a/src/Graphics/Vulkan/Extensions/VK_MVK_ios_surface.hs +++ b/src/Graphics/Vulkan/Extensions/VK_MVK_ios_surface.hs @@ -24,16 +24,16 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -144,7 +144,11 @@ pattern VK_MVK_IOS_SURFACE_EXTENSION_NAME = "VK_MVK_ios_surface" -- 'VkIOSSurfaceCreateInfoMVK', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance', -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR' -foreign import ccall "vkCreateIOSSurfaceMVK" vkCreateIOSSurfaceMVK :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkIOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateIOSSurfaceMVK" vkCreateIOSSurfaceMVK :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkIOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult -- | VkIOSSurfaceCreateInfoMVK - Structure specifying parameters of a newly -- created iOS surface object -- diff --git a/src/Graphics/Vulkan/Extensions/VK_MVK_macos_surface.hs b/src/Graphics/Vulkan/Extensions/VK_MVK_macos_surface.hs index 2beaab09..0e3bcf4e 100644 --- a/src/Graphics/Vulkan/Extensions/VK_MVK_macos_surface.hs +++ b/src/Graphics/Vulkan/Extensions/VK_MVK_macos_surface.hs @@ -24,16 +24,16 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -145,7 +145,11 @@ pattern VK_MVK_MACOS_SURFACE_EXTENSION_NAME = "VK_MVK_macos_surface" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance', -- 'VkMacOSSurfaceCreateInfoMVK', -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR' -foreign import ccall "vkCreateMacOSSurfaceMVK" vkCreateMacOSSurfaceMVK :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateMacOSSurfaceMVK" vkCreateMacOSSurfaceMVK :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkMacOSSurfaceCreateInfoMVK) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult -- | VkMacOSSurfaceCreateInfoMVK - Structure specifying parameters of a newly -- created macOS surface object -- diff --git a/src/Graphics/Vulkan/Extensions/VK_NN_vi_surface.hs b/src/Graphics/Vulkan/Extensions/VK_NN_vi_surface.hs index 1f52a5f2..be4f236e 100644 --- a/src/Graphics/Vulkan/Extensions/VK_NN_vi_surface.hs +++ b/src/Graphics/Vulkan/Extensions/VK_NN_vi_surface.hs @@ -24,16 +24,16 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -159,7 +159,11 @@ pattern VK_NN_VI_SURFACE_EXTENSION_NAME = "VK_NN_vi_surface" -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkInstance', -- 'Graphics.Vulkan.Extensions.VK_KHR_surface.VkSurfaceKHR', -- 'VkViSurfaceCreateInfoNN' -foreign import ccall "vkCreateViSurfaceNN" vkCreateViSurfaceNN :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateViSurfaceNN" vkCreateViSurfaceNN :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkViSurfaceCreateInfoNN) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult -- | VkViSurfaceCreateInfoNN - Structure specifying parameters of a newly -- created VI surface object -- diff --git a/src/Graphics/Vulkan/Extensions/VK_NVX_device_generated_commands.hs b/src/Graphics/Vulkan/Extensions/VK_NVX_device_generated_commands.hs index 17db8254..0e4646f2 100644 --- a/src/Graphics/Vulkan/Extensions/VK_NVX_device_generated_commands.hs +++ b/src/Graphics/Vulkan/Extensions/VK_NVX_device_generated_commands.hs @@ -87,16 +87,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -120,8 +120,8 @@ import Graphics.Vulkan.Core10.CommandBufferBuilding ) import Graphics.Vulkan.Core10.Core ( VkBool32(..) - , VkResult(..) , VkObjectType(..) + , VkResult(..) , VkStructureType(..) , VkFlags ) @@ -129,28 +129,28 @@ import Graphics.Vulkan.Core10.DescriptorSet ( VkDescriptorSet ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkDeviceSize - , VkPhysicalDevice - , VkAllocationCallbacks(..) + ( VkAllocationCallbacks(..) , VkDevice + , VkDeviceSize + , VkPhysicalDevice ) import Graphics.Vulkan.Core10.MemoryManagement ( VkBuffer ) import Graphics.Vulkan.Core10.Pass - ( VkPipelineBindPoint(..) - , VkAccessFlagBits(..) + ( VkAccessFlagBits(..) + , VkPipelineBindPoint(..) ) import Graphics.Vulkan.Core10.Pipeline - ( VkPipelineLayout - , VkPipeline + ( VkPipeline + , VkPipelineLayout ) import Graphics.Vulkan.Core10.PipelineLayout ( VkShaderStageFlags ) import Graphics.Vulkan.Core10.Queue - ( VkCommandBuffer - , VkPipelineStageFlagBits(..) + ( VkPipelineStageFlagBits(..) + , VkCommandBuffer ) @@ -511,7 +511,11 @@ type VkIndirectCommandsLayoutNVX = Ptr VkIndirectCommandsLayoutNVX_T -- -- 'VkCmdProcessCommandsInfoNVX', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdProcessCommandsNVX" vkCmdProcessCommandsNVX :: ("commandBuffer" ::: VkCommandBuffer) -> ("pProcessCommandsInfo" ::: Ptr VkCmdProcessCommandsInfoNVX) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdProcessCommandsNVX" vkCmdProcessCommandsNVX :: ("commandBuffer" ::: VkCommandBuffer) -> ("pProcessCommandsInfo" ::: Ptr VkCmdProcessCommandsInfoNVX) -> IO () -- | vkCmdReserveSpaceForCommandsNVX - Perform a reservation of command -- buffer space -- @@ -573,7 +577,11 @@ foreign import ccall "vkCmdProcessCommandsNVX" vkCmdProcessCommandsNVX :: ("comm -- -- 'VkCmdReserveSpaceForCommandsInfoNVX', -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer' -foreign import ccall "vkCmdReserveSpaceForCommandsNVX" vkCmdReserveSpaceForCommandsNVX :: ("commandBuffer" ::: VkCommandBuffer) -> ("pReserveSpaceInfo" ::: Ptr VkCmdReserveSpaceForCommandsInfoNVX) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdReserveSpaceForCommandsNVX" vkCmdReserveSpaceForCommandsNVX :: ("commandBuffer" ::: VkCommandBuffer) -> ("pReserveSpaceInfo" ::: Ptr VkCmdReserveSpaceForCommandsInfoNVX) -> IO () -- | vkCreateIndirectCommandsLayoutNVX - Create an indirect command layout -- object -- @@ -622,7 +630,11 @@ foreign import ccall "vkCmdReserveSpaceForCommandsNVX" vkCmdReserveSpaceForComma -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkIndirectCommandsLayoutCreateInfoNVX', 'VkIndirectCommandsLayoutNVX' -foreign import ccall "vkCreateIndirectCommandsLayoutNVX" vkCreateIndirectCommandsLayoutNVX :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkIndirectCommandsLayoutCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr VkIndirectCommandsLayoutNVX) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateIndirectCommandsLayoutNVX" vkCreateIndirectCommandsLayoutNVX :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkIndirectCommandsLayoutCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pIndirectCommandsLayout" ::: Ptr VkIndirectCommandsLayoutNVX) -> IO VkResult -- | vkDestroyIndirectCommandsLayoutNVX - Destroy a object table -- -- = Parameters @@ -665,7 +677,11 @@ foreign import ccall "vkCreateIndirectCommandsLayoutNVX" vkCreateIndirectCommand -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkIndirectCommandsLayoutNVX' -foreign import ccall "vkDestroyIndirectCommandsLayoutNVX" vkDestroyIndirectCommandsLayoutNVX :: ("device" ::: VkDevice) -> ("indirectCommandsLayout" ::: VkIndirectCommandsLayoutNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyIndirectCommandsLayoutNVX" vkDestroyIndirectCommandsLayoutNVX :: ("device" ::: VkDevice) -> ("indirectCommandsLayout" ::: VkIndirectCommandsLayoutNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkCreateObjectTableNVX - Create an object table -- -- = Parameters @@ -712,7 +728,11 @@ foreign import ccall "vkDestroyIndirectCommandsLayoutNVX" vkDestroyIndirectComma -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkObjectTableCreateInfoNVX', 'VkObjectTableNVX' -foreign import ccall "vkCreateObjectTableNVX" vkCreateObjectTableNVX :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkObjectTableCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pObjectTable" ::: Ptr VkObjectTableNVX) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCreateObjectTableNVX" vkCreateObjectTableNVX :: ("device" ::: VkDevice) -> ("pCreateInfo" ::: Ptr VkObjectTableCreateInfoNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pObjectTable" ::: Ptr VkObjectTableNVX) -> IO VkResult -- | vkDestroyObjectTableNVX - Destroy a object table -- -- = Parameters @@ -758,7 +778,11 @@ foreign import ccall "vkCreateObjectTableNVX" vkCreateObjectTableNVX :: ("device -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkAllocationCallbacks', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkObjectTableNVX' -foreign import ccall "vkDestroyObjectTableNVX" vkDestroyObjectTableNVX :: ("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkDestroyObjectTableNVX" vkDestroyObjectTableNVX :: ("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> IO () -- | vkRegisterObjectsNVX - Register resource bindings in an object table -- -- = Parameters @@ -827,7 +851,11 @@ foreign import ccall "vkDestroyObjectTableNVX" vkDestroyObjectTableNVX :: ("devi -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkObjectTableEntryNVX', 'VkObjectTableNVX' -foreign import ccall "vkRegisterObjectsNVX" vkRegisterObjectsNVX :: ("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("ppObjectTableEntries" ::: Ptr (Ptr VkObjectTableEntryNVX)) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkRegisterObjectsNVX" vkRegisterObjectsNVX :: ("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("ppObjectTableEntries" ::: Ptr (Ptr VkObjectTableEntryNVX)) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult -- | vkUnregisterObjectsNVX - Unregister resource bindings in an object table -- -- = Parameters @@ -891,7 +919,11 @@ foreign import ccall "vkRegisterObjectsNVX" vkRegisterObjectsNVX :: ("device" :: -- -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'VkObjectEntryTypeNVX', 'VkObjectTableNVX' -foreign import ccall "vkUnregisterObjectsNVX" vkUnregisterObjectsNVX :: ("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("pObjectEntryTypes" ::: Ptr VkObjectEntryTypeNVX) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkUnregisterObjectsNVX" vkUnregisterObjectsNVX :: ("device" ::: VkDevice) -> ("objectTable" ::: VkObjectTableNVX) -> ("objectCount" ::: Word32) -> ("pObjectEntryTypes" ::: Ptr VkObjectEntryTypeNVX) -> ("pObjectIndices" ::: Ptr Word32) -> IO VkResult -- | vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX - Returns -- device-generated commands related properties of a physical device -- @@ -923,7 +955,11 @@ foreign import ccall "vkUnregisterObjectsNVX" vkUnregisterObjectsNVX :: ("device -- 'VkDeviceGeneratedCommandsFeaturesNVX', -- 'VkDeviceGeneratedCommandsLimitsNVX', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX" vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkDeviceGeneratedCommandsFeaturesNVX) -> ("pLimits" ::: Ptr VkDeviceGeneratedCommandsLimitsNVX) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX" vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX :: ("physicalDevice" ::: VkPhysicalDevice) -> ("pFeatures" ::: Ptr VkDeviceGeneratedCommandsFeaturesNVX) -> ("pLimits" ::: Ptr VkDeviceGeneratedCommandsLimitsNVX) -> IO () -- | VkDeviceGeneratedCommandsFeaturesNVX - Structure specifying physical -- device support -- diff --git a/src/Graphics/Vulkan/Extensions/VK_NVX_multiview_per_view_attributes.hs b/src/Graphics/Vulkan/Extensions/VK_NVX_multiview_per_view_attributes.hs index 3c2202ae..d265a9eb 100644 --- a/src/Graphics/Vulkan/Extensions/VK_NVX_multiview_per_view_attributes.hs +++ b/src/Graphics/Vulkan/Extensions/VK_NVX_multiview_per_view_attributes.hs @@ -17,12 +17,12 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs b/src/Graphics/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs index 2e2bbc1e..c10681c0 100644 --- a/src/Graphics/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs +++ b/src/Graphics/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs @@ -26,12 +26,12 @@ import Foreign.C.Types ( CFloat(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -141,7 +141,11 @@ pattern VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME = "VK_NV_clip_space_w_scaling" -- = See Also -- -- 'Graphics.Vulkan.Core10.Queue.VkCommandBuffer', 'VkViewportWScalingNV' -foreign import ccall "vkCmdSetViewportWScalingNV" vkCmdSetViewportWScalingNV :: ("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr VkViewportWScalingNV) -> IO () +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkCmdSetViewportWScalingNV" vkCmdSetViewportWScalingNV :: ("commandBuffer" ::: VkCommandBuffer) -> ("firstViewport" ::: Word32) -> ("viewportCount" ::: Word32) -> ("pViewportWScalings" ::: Ptr VkViewportWScalingNV) -> IO () -- | VkViewportWScalingNV - Structure specifying a viewport -- -- = See Also diff --git a/src/Graphics/Vulkan/Extensions/VK_NV_dedicated_allocation.hs b/src/Graphics/Vulkan/Extensions/VK_NV_dedicated_allocation.hs index 35ca7787..fa0a2e05 100644 --- a/src/Graphics/Vulkan/Extensions/VK_NV_dedicated_allocation.hs +++ b/src/Graphics/Vulkan/Extensions/VK_NV_dedicated_allocation.hs @@ -19,12 +19,12 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Extensions/VK_NV_external_memory.hs b/src/Graphics/Vulkan/Extensions/VK_NV_external_memory.hs index 57ce61ca..7f978c36 100644 --- a/src/Graphics/Vulkan/Extensions/VK_NV_external_memory.hs +++ b/src/Graphics/Vulkan/Extensions/VK_NV_external_memory.hs @@ -17,12 +17,12 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/src/Graphics/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs b/src/Graphics/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs index af1188ec..dce1b5f9 100644 --- a/src/Graphics/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs +++ b/src/Graphics/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs @@ -33,16 +33,16 @@ import Data.String ( IsString ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Graphics.Vulkan.NamedType ( (:::) @@ -67,13 +67,13 @@ import Graphics.Vulkan.Core10.Core , VkFlags ) import Graphics.Vulkan.Core10.DeviceInitialization - ( VkImageFormatProperties(..) - , VkImageCreateFlagBits(..) + ( VkImageCreateFlagBits(..) + , VkImageFormatProperties(..) + , VkImageTiling(..) + , VkImageType(..) , VkImageUsageFlagBits(..) , VkImageCreateFlags , VkImageUsageFlags - , VkImageTiling(..) - , VkImageType(..) , VkPhysicalDevice ) @@ -275,7 +275,11 @@ pattern VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME = "VK_NV_external_memo -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkImageType', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkImageUsageFlags', -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkPhysicalDevice' -foreign import ccall "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" vkGetPhysicalDeviceExternalImageFormatPropertiesNV :: ("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("externalHandleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr VkExternalImageFormatPropertiesNV) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" vkGetPhysicalDeviceExternalImageFormatPropertiesNV :: ("physicalDevice" ::: VkPhysicalDevice) -> ("format" ::: VkFormat) -> ("type" ::: VkImageType) -> ("tiling" ::: VkImageTiling) -> ("usage" ::: VkImageUsageFlags) -> ("flags" ::: VkImageCreateFlags) -> ("externalHandleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pExternalImageFormatProperties" ::: Ptr VkExternalImageFormatPropertiesNV) -> IO VkResult -- | VkExternalImageFormatPropertiesNV - Structure specifying external image -- format properties -- diff --git a/src/Graphics/Vulkan/Extensions/VK_NV_external_memory_win32.hs b/src/Graphics/Vulkan/Extensions/VK_NV_external_memory_win32.hs index 14265d04..2af8b1b1 100644 --- a/src/Graphics/Vulkan/Extensions/VK_NV_external_memory_win32.hs +++ b/src/Graphics/Vulkan/Extensions/VK_NV_external_memory_win32.hs @@ -26,12 +26,12 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import Graphics.Vulkan.NamedType ( (:::) @@ -126,7 +126,11 @@ pattern VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME = "VK_NV_external_memory_win3 -- 'Graphics.Vulkan.Core10.DeviceInitialization.VkDevice', -- 'Graphics.Vulkan.Core10.Memory.VkDeviceMemory', -- 'Graphics.Vulkan.Extensions.VK_NV_external_memory_capabilities.VkExternalMemoryHandleTypeFlagsNV' -foreign import ccall "vkGetMemoryWin32HandleNV" vkGetMemoryWin32HandleNV :: ("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult +foreign import ccall +#if !defined(SAFE_FOREIGN_CALLS) + unsafe +#endif + "vkGetMemoryWin32HandleNV" vkGetMemoryWin32HandleNV :: ("device" ::: VkDevice) -> ("memory" ::: VkDeviceMemory) -> ("handleType" ::: VkExternalMemoryHandleTypeFlagsNV) -> ("pHandle" ::: Ptr HANDLE) -> IO VkResult -- | VkImportMemoryWin32HandleInfoNV - import Win32 memory created on the -- same physical device -- diff --git a/src/Graphics/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs b/src/Graphics/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs index 51bd049c..b0927eb8 100644 --- a/src/Graphics/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs +++ b/src/Graphics/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs @@ -24,16 +24,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) diff --git a/src/Graphics/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs b/src/Graphics/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs index 87c25409..eac0a9ac 100644 --- a/src/Graphics/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs +++ b/src/Graphics/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs @@ -35,16 +35,16 @@ import Foreign.C.Types ( CFloat(..) ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) diff --git a/src/Graphics/Vulkan/Extensions/VK_NV_viewport_swizzle.hs b/src/Graphics/Vulkan/Extensions/VK_NV_viewport_swizzle.hs index 0f11dbf7..2d4e6589 100644 --- a/src/Graphics/Vulkan/Extensions/VK_NV_viewport_swizzle.hs +++ b/src/Graphics/Vulkan/Extensions/VK_NV_viewport_swizzle.hs @@ -37,16 +37,16 @@ import Data.Word ( Word32 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) import GHC.Read - ( expectP - , choose + ( choose + , expectP ) import Text.ParserCombinators.ReadPrec ( (+++) diff --git a/src/Graphics/Vulkan/Extensions/VK_NV_win32_keyed_mutex.hs b/src/Graphics/Vulkan/Extensions/VK_NV_win32_keyed_mutex.hs index 3e165c3d..750101b9 100644 --- a/src/Graphics/Vulkan/Extensions/VK_NV_win32_keyed_mutex.hs +++ b/src/Graphics/Vulkan/Extensions/VK_NV_win32_keyed_mutex.hs @@ -15,16 +15,16 @@ import Data.String ( IsString ) import Data.Word - ( Word64 - , Word32 + ( Word32 + , Word64 ) import Foreign.Ptr - ( plusPtr - , Ptr + ( Ptr + , plusPtr ) import Foreign.Storable - ( Storable(..) - , Storable + ( Storable + , Storable(..) ) diff --git a/vulkan.cabal b/vulkan.cabal index 1632e338..ffab3128 100644 --- a/vulkan.cabal +++ b/vulkan.cabal @@ -2,7 +2,7 @@ -- Any changes made here will be overwritten when 'generate' is run -- again. name: vulkan -version: 2.0.0.1 +version: 2.1.0.0 synopsis: Bindings to the Vulkan graphics API. description: Please see readme.md homepage: http://github.com/expipiplus1/vulkan#readme @@ -20,42 +20,69 @@ cabal-version: >=1.10 flag xlib description: Enable xlib specific extensions - default: False + -- These are on by default, if lazy-loading or manual dynamic loading + -- is used then it shouldn't be a problem exposing these. + default: True flag xlib_xrandr description: Enable xlib_xrandr specific extensions - default: False + -- These are on by default, if lazy-loading or manual dynamic loading + -- is used then it shouldn't be a problem exposing these. + default: True flag xcb description: Enable xcb specific extensions - default: False + -- These are on by default, if lazy-loading or manual dynamic loading + -- is used then it shouldn't be a problem exposing these. + default: True flag wayland description: Enable wayland specific extensions - default: False + -- These are on by default, if lazy-loading or manual dynamic loading + -- is used then it shouldn't be a problem exposing these. + default: True flag mir description: Enable mir specific extensions - default: False + -- These are on by default, if lazy-loading or manual dynamic loading + -- is used then it shouldn't be a problem exposing these. + default: True flag android description: Enable android specific extensions - default: False + -- These are on by default, if lazy-loading or manual dynamic loading + -- is used then it shouldn't be a problem exposing these. + default: True flag win32 description: Enable win32 specific extensions - default: False + -- These are on by default, if lazy-loading or manual dynamic loading + -- is used then it shouldn't be a problem exposing these. + default: True flag vi description: Enable vi specific extensions - default: False + -- These are on by default, if lazy-loading or manual dynamic loading + -- is used then it shouldn't be a problem exposing these. + default: True flag ios description: Enable ios specific extensions - default: False + -- These are on by default, if lazy-loading or manual dynamic loading + -- is used then it shouldn't be a problem exposing these. + default: True flag macos description: Enable macos specific extensions + -- These are on by default, if lazy-loading or manual dynamic loading + -- is used then it shouldn't be a problem exposing these. + default: True + +flag safe-foreign-calls + description: + Do not mark foreign imports as 'unsafe'. This means that + callbacks from Vulkan to Haskell will work. If you are using + these then make sure this flag is enabled. default: False library @@ -222,6 +249,9 @@ library , Graphics.Vulkan.Core11 , Graphics.Vulkan.Extensions + if flag(safe-foreign-calls) + cpp-options: -DSAFE_FOREIGN_CALLS + if flag(android) cpp-options: -DVK_USE_PLATFORM_ANDROID_KHR exposed-modules: Graphics.Vulkan.Extensions.VK_KHR_android_surface