{-# language CPP #-}
module Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments ( PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT(..)
, EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION
, pattern EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION
, EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME
, pattern EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME
) where
import Foreign.Marshal.Alloc (allocaBytes)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero(..))
import Data.String (IsString)
import Data.Typeable (Typeable)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import GHC.Generics (Generic)
import Foreign.Ptr (Ptr)
import Data.Kind (Type)
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT))
data PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT = PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
{
PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT -> Bool
dynamicRenderingUnusedAttachments :: Bool }
deriving (Typeable, PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> Bool
$c/= :: PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> Bool
== :: PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> Bool
$c== :: PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT)
#endif
deriving instance Show PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
instance ToCStruct PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT where
withCStruct :: forall b.
PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> (Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> IO b)
-> IO b
withCStruct PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
x Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> IO b
f = forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
p -> forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
p PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
x (Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> IO b
f Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> IO b
-> IO b
pokeCStruct Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
p PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT{Bool
dynamicRenderingUnusedAttachments :: Bool
$sel:dynamicRenderingUnusedAttachments:PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT :: PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT -> Bool
..} IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
dynamicRenderingUnusedAttachments))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
p IO b
f = do
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (forall a. Ptr a
nullPtr)
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT where
peekCStruct :: Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> IO PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
peekCStruct Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
p = do
Bool32
dynamicRenderingUnusedAttachments <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
p forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
forall (f :: * -> *) a. Applicative f => a -> f a
pure forall a b. (a -> b) -> a -> b
$ Bool -> PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
(Bool32 -> Bool
bool32ToBool Bool32
dynamicRenderingUnusedAttachments)
instance Storable PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT where
sizeOf :: PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT -> Int
sizeOf ~PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
_ = Int
24
alignment :: PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT -> Int
alignment ~PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
_ = Int
8
peek :: Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> IO PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
peek = forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
-> IO ()
poke Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
ptr PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
poked (forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT where
zero :: PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
zero = Bool -> PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT
forall a. Zero a => a
zero
type EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION = 1
pattern EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION :: forall a . Integral a => a
pattern $bEXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION :: forall a. Integral a => a
$mEXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION = 1
type EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME = "VK_EXT_dynamic_rendering_unused_attachments"
pattern EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $bEXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
$mEXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME = "VK_EXT_dynamic_rendering_unused_attachments"