{-# language CPP #-}
module Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2 ( cmdSetRasterizerDiscardEnable
, cmdSetDepthBiasEnable
, cmdSetPrimitiveRestartEnable
, DynamicState(..)
) where
import Vulkan.Internal.Utils (traceAroundEvent)
import Control.Monad (unless)
import Control.Monad.IO.Class (liftIO)
import GHC.IO (throwIO)
import GHC.Ptr (nullFunPtr)
import Control.Monad.IO.Class (MonadIO)
import GHC.IO.Exception (IOErrorType(..))
import GHC.IO.Exception (IOException(..))
import Foreign.Ptr (FunPtr)
import Foreign.Ptr (Ptr)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.NamedType ((:::))
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.FundamentalTypes (Bool32(..))
import Vulkan.Core10.Handles (CommandBuffer)
import Vulkan.Core10.Handles (CommandBuffer(..))
import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))
import Vulkan.Core10.Handles (CommandBuffer_T)
import Vulkan.Dynamic (DeviceCmds(pVkCmdSetDepthBiasEnable))
import Vulkan.Dynamic (DeviceCmds(pVkCmdSetPrimitiveRestartEnable))
import Vulkan.Dynamic (DeviceCmds(pVkCmdSetRasterizerDiscardEnable))
import Vulkan.Core10.Enums.DynamicState (DynamicState(..))
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdSetRasterizerDiscardEnable
:: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()
cmdSetRasterizerDiscardEnable :: forall io
. (MonadIO io)
=>
CommandBuffer
->
("rasterizerDiscardEnable" ::: Bool)
-> io ()
cmdSetRasterizerDiscardEnable :: CommandBuffer -> ("rasterizerDiscardEnable" ::: Bool) -> io ()
cmdSetRasterizerDiscardEnable CommandBuffer
commandBuffer "rasterizerDiscardEnable" ::: Bool
rasterizerDiscardEnable = IO () -> io ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> io ()) -> IO () -> io ()
forall a b. (a -> b) -> a -> b
$ do
let vkCmdSetRasterizerDiscardEnablePtr :: FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
vkCmdSetRasterizerDiscardEnablePtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
pVkCmdSetRasterizerDiscardEnable (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds :: DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
("rasterizerDiscardEnable" ::: Bool) -> IO () -> IO ()
forall (f :: * -> *).
Applicative f =>
("rasterizerDiscardEnable" ::: Bool) -> f () -> f ()
unless (FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
vkCmdSetRasterizerDiscardEnablePtr FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
-> FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
-> "rasterizerDiscardEnable" ::: Bool
forall a. Eq a => a -> a -> "rasterizerDiscardEnable" ::: Bool
/= FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCmdSetRasterizerDiscardEnable is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdSetRasterizerDiscardEnable' :: Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ()
vkCmdSetRasterizerDiscardEnable' = FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
-> Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32)
-> IO ()
mkVkCmdSetRasterizerDiscardEnable FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
vkCmdSetRasterizerDiscardEnablePtr
String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdSetRasterizerDiscardEnable" (Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ()
vkCmdSetRasterizerDiscardEnable' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)) (("rasterizerDiscardEnable" ::: Bool)
-> "rasterizerDiscardEnable" ::: Bool32
boolToBool32 ("rasterizerDiscardEnable" ::: Bool
rasterizerDiscardEnable)))
() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> IO ()) -> () -> IO ()
forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdSetDepthBiasEnable
:: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()
cmdSetDepthBiasEnable :: forall io
. (MonadIO io)
=>
CommandBuffer
->
("depthBiasEnable" ::: Bool)
-> io ()
cmdSetDepthBiasEnable :: CommandBuffer -> ("rasterizerDiscardEnable" ::: Bool) -> io ()
cmdSetDepthBiasEnable CommandBuffer
commandBuffer "rasterizerDiscardEnable" ::: Bool
depthBiasEnable = IO () -> io ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> io ()) -> IO () -> io ()
forall a b. (a -> b) -> a -> b
$ do
let vkCmdSetDepthBiasEnablePtr :: FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
vkCmdSetDepthBiasEnablePtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
pVkCmdSetDepthBiasEnable (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
("rasterizerDiscardEnable" ::: Bool) -> IO () -> IO ()
forall (f :: * -> *).
Applicative f =>
("rasterizerDiscardEnable" ::: Bool) -> f () -> f ()
unless (FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
vkCmdSetDepthBiasEnablePtr FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
-> FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
-> "rasterizerDiscardEnable" ::: Bool
forall a. Eq a => a -> a -> "rasterizerDiscardEnable" ::: Bool
/= FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCmdSetDepthBiasEnable is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdSetDepthBiasEnable' :: Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ()
vkCmdSetDepthBiasEnable' = FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
-> Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32)
-> IO ()
mkVkCmdSetDepthBiasEnable FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
vkCmdSetDepthBiasEnablePtr
String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdSetDepthBiasEnable" (Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ()
vkCmdSetDepthBiasEnable' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)) (("rasterizerDiscardEnable" ::: Bool)
-> "rasterizerDiscardEnable" ::: Bool32
boolToBool32 ("rasterizerDiscardEnable" ::: Bool
depthBiasEnable)))
() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> IO ()) -> () -> IO ()
forall a b. (a -> b) -> a -> b
$ ()
foreign import ccall
#if !defined(SAFE_FOREIGN_CALLS)
unsafe
#endif
"dynamic" mkVkCmdSetPrimitiveRestartEnable
:: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()
cmdSetPrimitiveRestartEnable :: forall io
. (MonadIO io)
=>
CommandBuffer
->
("primitiveRestartEnable" ::: Bool)
-> io ()
cmdSetPrimitiveRestartEnable :: CommandBuffer -> ("rasterizerDiscardEnable" ::: Bool) -> io ()
cmdSetPrimitiveRestartEnable CommandBuffer
commandBuffer "rasterizerDiscardEnable" ::: Bool
primitiveRestartEnable = IO () -> io ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> io ()) -> IO () -> io ()
forall a b. (a -> b) -> a -> b
$ do
let vkCmdSetPrimitiveRestartEnablePtr :: FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
vkCmdSetPrimitiveRestartEnablePtr = DeviceCmds
-> FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
pVkCmdSetPrimitiveRestartEnable (case CommandBuffer
commandBuffer of CommandBuffer{DeviceCmds
deviceCmds :: DeviceCmds
$sel:deviceCmds:CommandBuffer :: CommandBuffer -> DeviceCmds
deviceCmds} -> DeviceCmds
deviceCmds)
("rasterizerDiscardEnable" ::: Bool) -> IO () -> IO ()
forall (f :: * -> *).
Applicative f =>
("rasterizerDiscardEnable" ::: Bool) -> f () -> f ()
unless (FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
vkCmdSetPrimitiveRestartEnablePtr FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
-> FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
-> "rasterizerDiscardEnable" ::: Bool
forall a. Eq a => a -> a -> "rasterizerDiscardEnable" ::: Bool
/= FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
forall a. FunPtr a
nullFunPtr) (IO () -> IO ()) -> IO () -> IO ()
forall a b. (a -> b) -> a -> b
$
IOException -> IO ()
forall e a. Exception e => e -> IO a
throwIO (IOException -> IO ()) -> IOException -> IO ()
forall a b. (a -> b) -> a -> b
$ Maybe Handle
-> IOErrorType
-> String
-> String
-> Maybe CInt
-> Maybe String
-> IOException
IOError Maybe Handle
forall a. Maybe a
Nothing IOErrorType
InvalidArgument String
"" String
"The function pointer for vkCmdSetPrimitiveRestartEnable is null" Maybe CInt
forall a. Maybe a
Nothing Maybe String
forall a. Maybe a
Nothing
let vkCmdSetPrimitiveRestartEnable' :: Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ()
vkCmdSetPrimitiveRestartEnable' = FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
-> Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32)
-> IO ()
mkVkCmdSetPrimitiveRestartEnable FunPtr
(Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ())
vkCmdSetPrimitiveRestartEnablePtr
String -> IO () -> IO ()
forall a. String -> IO a -> IO a
traceAroundEvent String
"vkCmdSetPrimitiveRestartEnable" (Ptr CommandBuffer_T
-> ("rasterizerDiscardEnable" ::: Bool32) -> IO ()
vkCmdSetPrimitiveRestartEnable' (CommandBuffer -> Ptr CommandBuffer_T
commandBufferHandle (CommandBuffer
commandBuffer)) (("rasterizerDiscardEnable" ::: Bool)
-> "rasterizerDiscardEnable" ::: Bool32
boolToBool32 ("rasterizerDiscardEnable" ::: Bool
primitiveRestartEnable)))
() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure (() -> IO ()) -> () -> IO ()
forall a b. (a -> b) -> a -> b
$ ()