{-# language CPP #-}
module Vulkan.Extensions.VK_KHR_compute_shader_derivatives ( PhysicalDeviceComputeShaderDerivativesFeaturesKHR(..)
, PhysicalDeviceComputeShaderDerivativesPropertiesKHR(..)
, KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION
, pattern KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION
, KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME
, pattern KHR_COMPUTE_SHADER_DERIVATIVES_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_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR))
data PhysicalDeviceComputeShaderDerivativesFeaturesKHR = PhysicalDeviceComputeShaderDerivativesFeaturesKHR
{
PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> Bool
computeDerivativeGroupQuads :: Bool
,
PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> Bool
computeDerivativeGroupLinear :: Bool
}
deriving (Typeable, PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> Bool
(PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> Bool)
-> (PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> Bool)
-> Eq PhysicalDeviceComputeShaderDerivativesFeaturesKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> Bool
== :: PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> Bool
$c/= :: PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> Bool
/= :: PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceComputeShaderDerivativesFeaturesKHR)
#endif
deriving instance Show PhysicalDeviceComputeShaderDerivativesFeaturesKHR
instance ToCStruct PhysicalDeviceComputeShaderDerivativesFeaturesKHR where
withCStruct :: forall b.
PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> (Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> IO b)
-> IO b
withCStruct PhysicalDeviceComputeShaderDerivativesFeaturesKHR
x Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> IO b
f = Int
-> (Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> IO b)
-> IO b)
-> (Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p -> Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> IO b
-> IO b
forall b.
Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p PhysicalDeviceComputeShaderDerivativesFeaturesKHR
x (Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> IO b
f Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> IO b
-> IO b
pokeCStruct Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p PhysicalDeviceComputeShaderDerivativesFeaturesKHR{Bool
computeDerivativeGroupQuads :: PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> Bool
computeDerivativeGroupLinear :: PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> Bool
computeDerivativeGroupQuads :: Bool
computeDerivativeGroupLinear :: Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
computeDerivativeGroupQuads))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
computeDerivativeGroupLinear))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceComputeShaderDerivativesFeaturesKHR where
peekCStruct :: Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> IO PhysicalDeviceComputeShaderDerivativesFeaturesKHR
peekCStruct Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p = do
computeDerivativeGroupQuads <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
computeDerivativeGroupLinear <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))
pure $ PhysicalDeviceComputeShaderDerivativesFeaturesKHR
(bool32ToBool computeDerivativeGroupQuads)
(bool32ToBool computeDerivativeGroupLinear)
instance Storable PhysicalDeviceComputeShaderDerivativesFeaturesKHR where
sizeOf :: PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> Int
sizeOf ~PhysicalDeviceComputeShaderDerivativesFeaturesKHR
_ = Int
24
alignment :: PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> Int
alignment ~PhysicalDeviceComputeShaderDerivativesFeaturesKHR
_ = Int
8
peek :: Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> IO PhysicalDeviceComputeShaderDerivativesFeaturesKHR
peek = Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> IO PhysicalDeviceComputeShaderDerivativesFeaturesKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> PhysicalDeviceComputeShaderDerivativesFeaturesKHR -> IO ()
poke Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
poked = Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> IO ()
-> IO ()
forall b.
Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> PhysicalDeviceComputeShaderDerivativesFeaturesKHR
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
ptr PhysicalDeviceComputeShaderDerivativesFeaturesKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceComputeShaderDerivativesFeaturesKHR where
zero :: PhysicalDeviceComputeShaderDerivativesFeaturesKHR
zero = Bool -> Bool -> PhysicalDeviceComputeShaderDerivativesFeaturesKHR
PhysicalDeviceComputeShaderDerivativesFeaturesKHR
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
data PhysicalDeviceComputeShaderDerivativesPropertiesKHR = PhysicalDeviceComputeShaderDerivativesPropertiesKHR
{
PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> Bool
meshAndTaskShaderDerivatives :: Bool }
deriving (Typeable, PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> Bool
(PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> Bool)
-> (PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> Bool)
-> Eq PhysicalDeviceComputeShaderDerivativesPropertiesKHR
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> Bool
== :: PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> Bool
$c/= :: PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> Bool
/= :: PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceComputeShaderDerivativesPropertiesKHR)
#endif
deriving instance Show PhysicalDeviceComputeShaderDerivativesPropertiesKHR
instance ToCStruct PhysicalDeviceComputeShaderDerivativesPropertiesKHR where
withCStruct :: forall b.
PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> (Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> IO b)
-> IO b
withCStruct PhysicalDeviceComputeShaderDerivativesPropertiesKHR
x Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> IO b
f = Int
-> (Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> IO b)
-> IO b)
-> (Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
p -> Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> IO b
-> IO b
forall b.
Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
p PhysicalDeviceComputeShaderDerivativesPropertiesKHR
x (Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> IO b
f Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> IO b
-> IO b
pokeCStruct Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
p PhysicalDeviceComputeShaderDerivativesPropertiesKHR{Bool
meshAndTaskShaderDerivatives :: PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> Bool
meshAndTaskShaderDerivatives :: Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
meshAndTaskShaderDerivatives))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceComputeShaderDerivativesPropertiesKHR where
peekCStruct :: Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> IO PhysicalDeviceComputeShaderDerivativesPropertiesKHR
peekCStruct Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
p = do
meshAndTaskShaderDerivatives <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
p Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
pure $ PhysicalDeviceComputeShaderDerivativesPropertiesKHR
(bool32ToBool meshAndTaskShaderDerivatives)
instance Storable PhysicalDeviceComputeShaderDerivativesPropertiesKHR where
sizeOf :: PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> Int
sizeOf ~PhysicalDeviceComputeShaderDerivativesPropertiesKHR
_ = Int
24
alignment :: PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> Int
alignment ~PhysicalDeviceComputeShaderDerivativesPropertiesKHR
_ = Int
8
peek :: Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> IO PhysicalDeviceComputeShaderDerivativesPropertiesKHR
peek = Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> IO PhysicalDeviceComputeShaderDerivativesPropertiesKHR
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> PhysicalDeviceComputeShaderDerivativesPropertiesKHR -> IO ()
poke Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
poked = Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> IO ()
-> IO ()
forall b.
Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> PhysicalDeviceComputeShaderDerivativesPropertiesKHR
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
ptr PhysicalDeviceComputeShaderDerivativesPropertiesKHR
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceComputeShaderDerivativesPropertiesKHR where
zero :: PhysicalDeviceComputeShaderDerivativesPropertiesKHR
zero = Bool -> PhysicalDeviceComputeShaderDerivativesPropertiesKHR
PhysicalDeviceComputeShaderDerivativesPropertiesKHR
Bool
forall a. Zero a => a
zero
type KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION = 1
pattern KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION :: forall a . Integral a => a
pattern $mKHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bKHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION :: forall a. Integral a => a
KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION = 1
type KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME = "VK_KHR_compute_shader_derivatives"
pattern KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $mKHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bKHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME = "VK_KHR_compute_shader_derivatives"