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/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/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/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 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 diff --git a/generate/src/Spec/Savvy/Command.hs b/generate/src/Spec/Savvy/Command.hs index 4fe02e7f..b9c065eb 100644 --- a/generate/src/Spec/Savvy/Command.hs +++ b/generate/src/Spec/Savvy/Command.hs @@ -1,33 +1,48 @@ -{-# 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 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 - , 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 + , cPlatform :: Maybe Text + -- ^ The platform this command runs on if it is not universal } deriving (Show) @@ -37,14 +52,30 @@ 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] + -> [Extension] + -> Validation [SpecError] [Command] +specCommands pc P.Spec {..} handles extensions = 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 +85,14 @@ specCommands pc P.Spec {..} pure $ 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 @@ -65,3 +104,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..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 <*> 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/Cabal.hs b/generate/src/Write/Cabal.hs index 9643ea7a..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 = @@ -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 @@ -85,7 +95,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 () diff --git a/generate/src/Write/Command.hs b/generate/src/Write/Command.hs index a5a55fda..205fde79 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]) @@ -48,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/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 bdb435c0..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) @@ -56,10 +69,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/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 new file mode 100644 index 00000000..d32494f2 --- /dev/null +++ b/generate/src/Write/Loader.hs @@ -0,0 +1,214 @@ +{-# LANGUAGE ApplicativeDo #-} +{-# LANGUAGE LambdaCase #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE QuasiQuotes #-} +{-# LANGUAGE RecordWildCards #-} + +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 +import Prelude hiding (Enum) +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) + -- ^ 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 + ] + ++ ( Unguarded + <$> [ TermName "vkGetDeviceProcAddr" + , TermName "vkGetInstanceProcAddr" + ] + ) + pure WriteElement {..} + +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 = + [ c + | c <- commands + , cCommandLevel c `elem` [Just Instance, Just PhysicalDevice] + ] + (drs, is , es ) <- unzip3 <$> traverseP (writeRecordMember platformGuardMap) deviceLevelCommands + (dfs, is', es') <- + unzip3 <$> traverseP (writeFunction platformGuardMap "Device") deviceLevelCommands + (irs, is'', es'') <- + unzip3 <$> traverseP (writeRecordMember platformGuardMap) instanceLevelCommands + (ifs, is''', es''') <- + unzip3 <$> traverseP (writeFunction platformGuardMap "Instance") instanceLevelCommands + pure $ + let d = \_ -> [qci| + data DeviceCmds = DeviceCmds + \{ {indent (-2) . separatedWithGuards "," $ drs} + } + deriving (Show) + + data InstanceCmds = InstanceCmds + \{ {indent (-2) . separatedWithGuards "," $ irs} + } + deriving (Show) + + {initFunction platformGuardMap "Device" deviceLevelCommands} + + {initFunction platformGuardMap "Instance" instanceLevelCommands} + + {separatedWithGuards "" $ hasFunction platformGuardMap "Device" <$> deviceLevelCommands} + + {separatedWithGuards "" $ hasFunction platformGuardMap "Instance" <$> instanceLevelCommands} + + -- * Device commands + {separatedWithGuards "" $ dfs} + + -- * Instance commands + {separatedWithGuards "" $ ifs} + |] + in (d, concat $ concat [is, is', is'', is'''], concat $ concat [es, es', es'', es''']) + +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 -> 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) $ 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 + :: (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, 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| + {dropVk cName} :: {domain}Cmds -> {t} + {dropVk cName} deviceCmds = mk{upperCaseName} (p{upperCaseName} deviceCmds) + foreign import ccall + #if !defined(SAFE_FOREIGN_CALLS) + unsafe + #endif + "dynamic" mk{upperCaseName} + :: FunPtr {t} -> {t} + |] + pure ((d, gm =<< cPlatform), 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 ] + 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 2cdb5f0e..14b5ae6b 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,7 +78,7 @@ 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| @@ -85,9 +87,7 @@ writeModule getDoc getModule m@Module{..} = [qci| {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 +98,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 +112,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 @@ -142,18 +135,26 @@ 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} - ) - |] - -findModuleHN :: [Module] -> HaskellName -> Maybe (Text, Export) +moduleImports Module {..} = + let unqualifiedImportMap = sort <$> Map.fromListWith + union + ((iModule &&& iImports) <$> [i | i@Import{} <- weImports =<< mWriteElements]) + qualifiedImportMap = sort <$> 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, 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 @@ -166,31 +167,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 = sort <$> 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/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"] 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/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..1741f323 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 sPlatforms sCommands pure $ concat [ [wHeaderVersion] , bespokeWriteElements @@ -156,4 +158,5 @@ specWriteElements Spec {..} = do , wStructs , wAliases , wBaseTypes + , [wLoader] ] 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 diff --git a/src/Graphics/Vulkan.hs b/src/Graphics/Vulkan.hs index 1fc780a1..5137744a 100644 --- a/src/Graphics/Vulkan.hs +++ b/src/Graphics/Vulkan.hs @@ -3,7 +3,7 @@ module Graphics.Vulkan - ( module Graphics.Vulkan.NamedType + ( module Graphics.Vulkan.NamedType , module Graphics.Vulkan.Core10 , module Graphics.Vulkan.Core11 , module 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 new file mode 100644 index 00000000..d7df477e --- /dev/null +++ b/src/Graphics/Vulkan/Dynamic.hs @@ -0,0 +1,4490 @@ +{-# language Strict #-} +{-# language CPP #-} +{-# language CPP #-} +{-# language ForeignFunctionInterface #-} +{-# language MagicHash #-} +{-# language DataKinds #-} +{-# language TypeOperators #-} + +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 + ( Int32 + ) +import Data.Word + ( Word32 + , Word64 + ) +import Foreign.C.Types + ( CChar(..) + , CFloat(..) + , CInt(..) + , CSize(..) + ) +import Foreign.Ptr + ( FunPtr + , Ptr + , castPtrToFunPtr + , nullFunPtr + ) +import Graphics.Vulkan.NamedType + ( (:::) + ) +import qualified GHC.Ptr + ( Ptr(..) + ) + + +import Graphics.Vulkan.Core10.Buffer + ( VkBufferCreateInfo(..) + ) +import Graphics.Vulkan.Core10.BufferView + ( VkBufferViewCreateInfo(..) + , VkBufferView + ) +import Graphics.Vulkan.Core10.CommandBuffer + ( VkCommandBufferAllocateInfo(..) + , VkCommandBufferBeginInfo(..) + , VkCommandBufferResetFlagBits(..) + , VkQueryControlFlagBits(..) + , VkCommandBufferResetFlags + , VkQueryControlFlags + ) +import Graphics.Vulkan.Core10.CommandBufferBuilding + ( VkBufferCopy(..) + , VkBufferImageCopy(..) + , VkBufferMemoryBarrier(..) + , VkClearAttachment(..) + , VkClearColorValue(..) + , VkClearDepthStencilValue(..) + , VkClearRect(..) + , VkImageBlit(..) + , VkImageCopy(..) + , VkImageMemoryBarrier(..) + , VkImageResolve(..) + , VkIndexType(..) + , VkMemoryBarrier(..) + , VkRenderPassBeginInfo(..) + , VkStencilFaceFlagBits(..) + , VkSubpassContents(..) + , VkStencilFaceFlags + ) +import Graphics.Vulkan.Core10.CommandPool + ( VkCommandPoolCreateInfo(..) + , VkCommandPoolResetFlagBits(..) + , VkCommandPool + , VkCommandPoolResetFlags + ) +import Graphics.Vulkan.Core10.Core + ( VkBool32(..) + , VkFormat(..) + , VkResult(..) + ) +import Graphics.Vulkan.Core10.DescriptorSet + ( VkCopyDescriptorSet(..) + , VkDescriptorPoolCreateInfo(..) + , VkDescriptorPoolResetFlags(..) + , VkDescriptorSetAllocateInfo(..) + , VkDescriptorSetLayoutCreateInfo(..) + , VkWriteDescriptorSet(..) + , VkDescriptorPool + , VkDescriptorSet + ) +import Graphics.Vulkan.Core10.Device + ( VkDeviceCreateInfo(..) + ) +import Graphics.Vulkan.Core10.DeviceInitialization + ( VkAllocationCallbacks(..) + , VkFormatProperties(..) + , VkImageCreateFlagBits(..) + , VkImageFormatProperties(..) + , VkImageTiling(..) + , VkImageType(..) + , VkImageUsageFlagBits(..) + , VkPhysicalDeviceFeatures(..) + , VkPhysicalDeviceMemoryProperties(..) + , VkPhysicalDeviceProperties(..) + , VkQueueFamilyProperties(..) + , VkSampleCountFlagBits(..) + , PFN_vkVoidFunction + , VkDevice + , VkDeviceSize + , VkImageCreateFlags + , VkImageUsageFlags + , VkInstance + , VkPhysicalDevice + , vkGetDeviceProcAddr + , vkGetInstanceProcAddr + ) +import Graphics.Vulkan.Core10.Event + ( VkEventCreateInfo(..) + , VkEvent + ) +import Graphics.Vulkan.Core10.ExtensionDiscovery + ( VkExtensionProperties(..) + ) +import Graphics.Vulkan.Core10.Fence + ( VkFenceCreateInfo(..) + ) +import Graphics.Vulkan.Core10.Image + ( VkImageCreateInfo(..) + , VkImageLayout(..) + , VkSubresourceLayout(..) + ) +import Graphics.Vulkan.Core10.ImageView + ( VkImageSubresourceRange(..) + , VkImageViewCreateInfo(..) + , VkImageView + ) +import Graphics.Vulkan.Core10.LayerDiscovery + ( VkLayerProperties(..) + ) +import Graphics.Vulkan.Core10.Memory + ( VkMappedMemoryRange(..) + , VkMemoryAllocateInfo(..) + , VkMemoryMapFlags(..) + , VkDeviceMemory + ) +import Graphics.Vulkan.Core10.MemoryManagement + ( VkMemoryRequirements(..) + , VkBuffer + , VkImage + ) +import Graphics.Vulkan.Core10.Pass + ( VkDependencyFlagBits(..) + , VkFramebufferCreateInfo(..) + , VkPipelineBindPoint(..) + , VkRenderPassCreateInfo(..) + , VkDependencyFlags + , VkFramebuffer + ) +import Graphics.Vulkan.Core10.Pipeline + ( VkComputePipelineCreateInfo(..) + , VkExtent2D(..) + , VkGraphicsPipelineCreateInfo(..) + , VkRect2D(..) + , VkShaderStageFlagBits(..) + , VkViewport(..) + , VkPipeline + , VkPipelineLayout + , VkRenderPass + ) +import Graphics.Vulkan.Core10.PipelineCache + ( VkPipelineCacheCreateInfo(..) + , VkPipelineCache + ) +import Graphics.Vulkan.Core10.PipelineLayout + ( VkPipelineLayoutCreateInfo(..) + , VkDescriptorSetLayout + , VkShaderStageFlags + ) +import Graphics.Vulkan.Core10.Query + ( VkQueryPoolCreateInfo(..) + , VkQueryResultFlagBits(..) + , VkQueryPool + , VkQueryResultFlags + ) +import Graphics.Vulkan.Core10.Queue + ( VkPipelineStageFlagBits(..) + , VkSubmitInfo(..) + , VkCommandBuffer + , VkFence + , VkPipelineStageFlags + , VkQueue + , VkSemaphore + ) +import Graphics.Vulkan.Core10.QueueSemaphore + ( VkSemaphoreCreateInfo(..) + ) +import Graphics.Vulkan.Core10.Sampler + ( VkFilter(..) + , VkSamplerCreateInfo(..) + , VkSampler + ) +import Graphics.Vulkan.Core10.Shader + ( VkShaderModuleCreateInfo(..) + , VkShaderModule + ) +import Graphics.Vulkan.Core10.SparseResourceMemoryManagement + ( VkBindSparseInfo(..) + , VkImageSubresource(..) + , VkSparseImageFormatProperties(..) + , VkSparseImageMemoryRequirements(..) + ) +import Graphics.Vulkan.Core11.Promoted_From_VK_KHR_protected_memory + ( VkDeviceQueueInfo2(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_bind_memory2 + ( VkBindBufferMemoryInfo(..) + , VkBindImageMemoryInfo(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_descriptor_update_template + ( VkDescriptorUpdateTemplateCreateInfo(..) + , VkDescriptorUpdateTemplate + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_device_group + ( 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 + ( VkExternalBufferProperties(..) + , VkExternalMemoryHandleTypeFlagBits(..) + , 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 + ( VkBufferMemoryRequirementsInfo2(..) + , VkImageMemoryRequirementsInfo2(..) + , VkImageSparseMemoryRequirementsInfo2(..) + , VkMemoryRequirements2(..) + , VkSparseImageMemoryRequirements2(..) + ) +import Graphics.Vulkan.Core11.Promoted_from_VK_KHR_get_physical_device_properties2 + ( VkFormatProperties2(..) + , VkImageFormatProperties2(..) + , VkPhysicalDeviceFeatures2(..) + , VkPhysicalDeviceImageFormatInfo2(..) + , VkPhysicalDeviceMemoryProperties2(..) + , VkPhysicalDeviceProperties2(..) + , VkPhysicalDeviceSparseImageFormatInfo2(..) + , VkQueueFamilyProperties2(..) + , VkSparseImageFormatProperties2(..) + ) +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 + ( 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 + ( 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(..) + , VkDebugMarkerObjectNameInfoEXT(..) + , VkDebugMarkerObjectTagInfoEXT(..) + ) +import Graphics.Vulkan.Extensions.VK_EXT_debug_report + ( VkDebugReportCallbackCreateInfoEXT(..) + , VkDebugReportFlagBitsEXT(..) + , VkDebugReportObjectTypeEXT(..) + , VkDebugReportCallbackEXT + , VkDebugReportFlagsEXT + ) +import Graphics.Vulkan.Extensions.VK_EXT_debug_utils + ( VkDebugUtilsLabelEXT(..) + , VkDebugUtilsMessageSeverityFlagBitsEXT(..) + , VkDebugUtilsMessageTypeFlagBitsEXT(..) + , VkDebugUtilsMessengerCallbackDataEXT(..) + , VkDebugUtilsMessengerCreateInfoEXT(..) + , VkDebugUtilsObjectNameInfoEXT(..) + , VkDebugUtilsObjectTagInfoEXT(..) + , VkDebugUtilsMessageTypeFlagsEXT + , VkDebugUtilsMessengerEXT + ) +import Graphics.Vulkan.Extensions.VK_EXT_display_control + ( VkDeviceEventInfoEXT(..) + , VkDisplayEventInfoEXT(..) + , 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 + ( 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 + ( VkDisplayModeCreateInfoKHR(..) + , VkDisplayModePropertiesKHR(..) + , VkDisplayPlaneCapabilitiesKHR(..) + , VkDisplayPlanePropertiesKHR(..) + , VkDisplayPropertiesKHR(..) + , VkDisplaySurfaceCreateInfoKHR(..) + , VkDisplayKHR + , VkDisplayModeKHR + ) +import Graphics.Vulkan.Extensions.VK_KHR_external_fence_fd + ( VkFenceGetFdInfoKHR(..) + , VkImportFenceFdInfoKHR(..) + ) + +#if defined(VK_USE_PLATFORM_WIN32_KHR) +import Graphics.Vulkan.Extensions.VK_KHR_external_fence_win32 + ( 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 + ( 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 + ( VkPhysicalDeviceSurfaceInfo2KHR(..) + , VkSurfaceCapabilities2KHR(..) + , VkSurfaceFormat2KHR(..) + ) + +#if defined(VK_USE_PLATFORM_MIR_KHR) +import Graphics.Vulkan.Extensions.VK_KHR_mir_surface + ( VkMirSurfaceCreateInfoKHR(..) + , MirConnection + ) +#endif +import Graphics.Vulkan.Extensions.VK_KHR_surface + ( VkPresentModeKHR(..) + , VkSurfaceCapabilitiesKHR(..) + , VkSurfaceFormatKHR(..) + , VkSurfaceKHR + ) +import Graphics.Vulkan.Extensions.VK_KHR_swapchain + ( VkAcquireNextImageInfoKHR(..) + , VkDeviceGroupPresentCapabilitiesKHR(..) + , VkPresentInfoKHR(..) + , VkSwapchainCreateInfoKHR(..) + , VkDeviceGroupPresentModeFlagsKHR + , VkSwapchainKHR + ) + +#if defined(VK_USE_PLATFORM_WAYLAND_KHR) +import Graphics.Vulkan.Extensions.VK_KHR_wayland_surface + ( 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 + ( VkXcbSurfaceCreateInfoKHR(..) + , Xcb_connection_t + , Xcb_visualid_t + ) +#endif + +#if defined(VK_USE_PLATFORM_XLIB_KHR) +import Graphics.Vulkan.Extensions.VK_KHR_xlib_surface + ( 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 + ( VkCmdProcessCommandsInfoNVX(..) + , VkCmdReserveSpaceForCommandsInfoNVX(..) + , VkDeviceGeneratedCommandsFeaturesNVX(..) + , VkDeviceGeneratedCommandsLimitsNVX(..) + , VkIndirectCommandsLayoutCreateInfoNVX(..) + , VkObjectEntryTypeNVX(..) + , VkObjectTableCreateInfoNVX(..) + , VkObjectTableEntryNVX(..) + , VkIndirectCommandsLayoutNVX + , VkObjectTableNVX + ) +import Graphics.Vulkan.Extensions.VK_NV_clip_space_w_scaling + ( VkViewportWScalingNV(..) + ) +import Graphics.Vulkan.Extensions.VK_NV_external_memory_capabilities + ( 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 ()) +#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 ()) +#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 + <$> (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"#)) +#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"#)) + <*> (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"#)) +#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"#)) + <*> (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"#)) +#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 + <$> (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"#)) +#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"#)) + <*> (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"#)) +#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"#)) + <*> (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"#)) +#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"#)) + <*> (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 +#if defined(VK_USE_PLATFORM_WIN32_KHR) +hasGetMemoryWin32HandleNV :: DeviceCmds -> Bool +hasGetMemoryWin32HandleNV = (/= nullFunPtr) . pVkGetMemoryWin32HandleNV +#endif +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 +#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 +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 +#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 +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 +#if defined(VK_USE_PLATFORM_ANDROID_KHR) +hasCreateAndroidSurfaceKHR :: InstanceCmds -> Bool +hasCreateAndroidSurfaceKHR = (/= nullFunPtr) . pVkCreateAndroidSurfaceKHR +#endif +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 +#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 +hasGetPhysicalDeviceSurfaceSupportKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceSurfaceSupportKHR +hasGetPhysicalDeviceSurfaceCapabilitiesKHR :: InstanceCmds -> Bool +hasGetPhysicalDeviceSurfaceCapabilitiesKHR = (/= nullFunPtr) . pVkGetPhysicalDeviceSurfaceCapabilitiesKHR +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 +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 +#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 +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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 f4d65525..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 @@ -216,11 +243,15 @@ 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 , 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