{-# language CPP #-}
module Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls ( PhysicalDeviceFloatControlsProperties(..)
, StructureType(..)
, ShaderFloatControlsIndependence(..)
) 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.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.Core12.Enums.ShaderFloatControlsIndependence (ShaderFloatControlsIndependence)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES))
import Vulkan.Core12.Enums.ShaderFloatControlsIndependence (ShaderFloatControlsIndependence(..))
import Vulkan.Core10.Enums.StructureType (StructureType(..))
data PhysicalDeviceFloatControlsProperties = PhysicalDeviceFloatControlsProperties
{
PhysicalDeviceFloatControlsProperties
-> ShaderFloatControlsIndependence
denormBehaviorIndependence :: ShaderFloatControlsIndependence
,
PhysicalDeviceFloatControlsProperties
-> ShaderFloatControlsIndependence
roundingModeIndependence :: ShaderFloatControlsIndependence
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderSignedZeroInfNanPreserveFloat16 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderSignedZeroInfNanPreserveFloat32 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderSignedZeroInfNanPreserveFloat64 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderDenormPreserveFloat16 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderDenormPreserveFloat32 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderDenormPreserveFloat64 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderDenormFlushToZeroFloat16 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderDenormFlushToZeroFloat32 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderDenormFlushToZeroFloat64 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderRoundingModeRTEFloat16 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderRoundingModeRTEFloat32 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderRoundingModeRTEFloat64 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderRoundingModeRTZFloat16 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderRoundingModeRTZFloat32 :: Bool
,
PhysicalDeviceFloatControlsProperties -> Bool
shaderRoundingModeRTZFloat64 :: Bool
}
deriving (Typeable, PhysicalDeviceFloatControlsProperties
-> PhysicalDeviceFloatControlsProperties -> Bool
(PhysicalDeviceFloatControlsProperties
-> PhysicalDeviceFloatControlsProperties -> Bool)
-> (PhysicalDeviceFloatControlsProperties
-> PhysicalDeviceFloatControlsProperties -> Bool)
-> Eq PhysicalDeviceFloatControlsProperties
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PhysicalDeviceFloatControlsProperties
-> PhysicalDeviceFloatControlsProperties -> Bool
$c/= :: PhysicalDeviceFloatControlsProperties
-> PhysicalDeviceFloatControlsProperties -> Bool
== :: PhysicalDeviceFloatControlsProperties
-> PhysicalDeviceFloatControlsProperties -> Bool
$c== :: PhysicalDeviceFloatControlsProperties
-> PhysicalDeviceFloatControlsProperties -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceFloatControlsProperties)
#endif
deriving instance Show PhysicalDeviceFloatControlsProperties
instance ToCStruct PhysicalDeviceFloatControlsProperties where
withCStruct :: PhysicalDeviceFloatControlsProperties
-> (Ptr PhysicalDeviceFloatControlsProperties -> IO b) -> IO b
withCStruct PhysicalDeviceFloatControlsProperties
x Ptr PhysicalDeviceFloatControlsProperties -> IO b
f = Int -> (Ptr PhysicalDeviceFloatControlsProperties -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
88 ((Ptr PhysicalDeviceFloatControlsProperties -> IO b) -> IO b)
-> (Ptr PhysicalDeviceFloatControlsProperties -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceFloatControlsProperties
p -> Ptr PhysicalDeviceFloatControlsProperties
-> PhysicalDeviceFloatControlsProperties -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceFloatControlsProperties
p PhysicalDeviceFloatControlsProperties
x (Ptr PhysicalDeviceFloatControlsProperties -> IO b
f Ptr PhysicalDeviceFloatControlsProperties
p)
pokeCStruct :: Ptr PhysicalDeviceFloatControlsProperties
-> PhysicalDeviceFloatControlsProperties -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceFloatControlsProperties
p PhysicalDeviceFloatControlsProperties{Bool
ShaderFloatControlsIndependence
shaderRoundingModeRTZFloat64 :: Bool
shaderRoundingModeRTZFloat32 :: Bool
shaderRoundingModeRTZFloat16 :: Bool
shaderRoundingModeRTEFloat64 :: Bool
shaderRoundingModeRTEFloat32 :: Bool
shaderRoundingModeRTEFloat16 :: Bool
shaderDenormFlushToZeroFloat64 :: Bool
shaderDenormFlushToZeroFloat32 :: Bool
shaderDenormFlushToZeroFloat16 :: Bool
shaderDenormPreserveFloat64 :: Bool
shaderDenormPreserveFloat32 :: Bool
shaderDenormPreserveFloat16 :: Bool
shaderSignedZeroInfNanPreserveFloat64 :: Bool
shaderSignedZeroInfNanPreserveFloat32 :: Bool
shaderSignedZeroInfNanPreserveFloat16 :: Bool
roundingModeIndependence :: ShaderFloatControlsIndependence
denormBehaviorIndependence :: ShaderFloatControlsIndependence
$sel:shaderRoundingModeRTZFloat64:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderRoundingModeRTZFloat32:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderRoundingModeRTZFloat16:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderRoundingModeRTEFloat64:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderRoundingModeRTEFloat32:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderRoundingModeRTEFloat16:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderDenormFlushToZeroFloat64:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderDenormFlushToZeroFloat32:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderDenormFlushToZeroFloat16:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderDenormPreserveFloat64:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderDenormPreserveFloat32:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderDenormPreserveFloat16:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderSignedZeroInfNanPreserveFloat64:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderSignedZeroInfNanPreserveFloat32:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:shaderSignedZeroInfNanPreserveFloat16:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties -> Bool
$sel:roundingModeIndependence:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties
-> ShaderFloatControlsIndependence
$sel:denormBehaviorIndependence:PhysicalDeviceFloatControlsProperties :: PhysicalDeviceFloatControlsProperties
-> ShaderFloatControlsIndependence
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ShaderFloatControlsIndependence
-> ShaderFloatControlsIndependence -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties
-> Int -> Ptr ShaderFloatControlsIndependence
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ShaderFloatControlsIndependence)) (ShaderFloatControlsIndependence
denormBehaviorIndependence)
Ptr ShaderFloatControlsIndependence
-> ShaderFloatControlsIndependence -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties
-> Int -> Ptr ShaderFloatControlsIndependence
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr ShaderFloatControlsIndependence)) (ShaderFloatControlsIndependence
roundingModeIndependence)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderSignedZeroInfNanPreserveFloat16))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderSignedZeroInfNanPreserveFloat32))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderSignedZeroInfNanPreserveFloat64))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderDenormPreserveFloat16))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderDenormPreserveFloat32))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderDenormPreserveFloat64))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderDenormFlushToZeroFloat16))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderDenormFlushToZeroFloat32))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderDenormFlushToZeroFloat64))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
60 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderRoundingModeRTEFloat16))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderRoundingModeRTEFloat32))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
68 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderRoundingModeRTEFloat64))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderRoundingModeRTZFloat16))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
76 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderRoundingModeRTZFloat32))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderRoundingModeRTZFloat64))
IO b
f
cStructSize :: Int
cStructSize = Int
88
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: Ptr PhysicalDeviceFloatControlsProperties -> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceFloatControlsProperties
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr ShaderFloatControlsIndependence
-> ShaderFloatControlsIndependence -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties
-> Int -> Ptr ShaderFloatControlsIndependence
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ShaderFloatControlsIndependence)) (ShaderFloatControlsIndependence
forall a. Zero a => a
zero)
Ptr ShaderFloatControlsIndependence
-> ShaderFloatControlsIndependence -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties
-> Int -> Ptr ShaderFloatControlsIndependence
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr ShaderFloatControlsIndependence)) (ShaderFloatControlsIndependence
forall a. Zero a => a
zero)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
60 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
68 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
76 :: 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 PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceFloatControlsProperties where
peekCStruct :: Ptr PhysicalDeviceFloatControlsProperties
-> IO PhysicalDeviceFloatControlsProperties
peekCStruct Ptr PhysicalDeviceFloatControlsProperties
p = do
ShaderFloatControlsIndependence
denormBehaviorIndependence <- Ptr ShaderFloatControlsIndependence
-> IO ShaderFloatControlsIndependence
forall a. Storable a => Ptr a -> IO a
peek @ShaderFloatControlsIndependence ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties
-> Int -> Ptr ShaderFloatControlsIndependence
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr ShaderFloatControlsIndependence))
ShaderFloatControlsIndependence
roundingModeIndependence <- Ptr ShaderFloatControlsIndependence
-> IO ShaderFloatControlsIndependence
forall a. Storable a => Ptr a -> IO a
peek @ShaderFloatControlsIndependence ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties
-> Int -> Ptr ShaderFloatControlsIndependence
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr ShaderFloatControlsIndependence))
Bool32
shaderSignedZeroInfNanPreserveFloat16 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr Bool32))
Bool32
shaderSignedZeroInfNanPreserveFloat32 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
28 :: Ptr Bool32))
Bool32
shaderSignedZeroInfNanPreserveFloat64 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr Bool32))
Bool32
shaderDenormPreserveFloat16 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
36 :: Ptr Bool32))
Bool32
shaderDenormPreserveFloat32 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Bool32))
Bool32
shaderDenormPreserveFloat64 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
44 :: Ptr Bool32))
Bool32
shaderDenormFlushToZeroFloat16 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr Bool32))
Bool32
shaderDenormFlushToZeroFloat32 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
52 :: Ptr Bool32))
Bool32
shaderDenormFlushToZeroFloat64 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr Bool32))
Bool32
shaderRoundingModeRTEFloat16 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
60 :: Ptr Bool32))
Bool32
shaderRoundingModeRTEFloat32 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr Bool32))
Bool32
shaderRoundingModeRTEFloat64 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
68 :: Ptr Bool32))
Bool32
shaderRoundingModeRTZFloat16 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr Bool32))
Bool32
shaderRoundingModeRTZFloat32 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
76 :: Ptr Bool32))
Bool32
shaderRoundingModeRTZFloat64 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceFloatControlsProperties
p Ptr PhysicalDeviceFloatControlsProperties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80 :: Ptr Bool32))
PhysicalDeviceFloatControlsProperties
-> IO PhysicalDeviceFloatControlsProperties
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceFloatControlsProperties
-> IO PhysicalDeviceFloatControlsProperties)
-> PhysicalDeviceFloatControlsProperties
-> IO PhysicalDeviceFloatControlsProperties
forall a b. (a -> b) -> a -> b
$ ShaderFloatControlsIndependence
-> ShaderFloatControlsIndependence
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> PhysicalDeviceFloatControlsProperties
PhysicalDeviceFloatControlsProperties
ShaderFloatControlsIndependence
denormBehaviorIndependence ShaderFloatControlsIndependence
roundingModeIndependence (Bool32 -> Bool
bool32ToBool Bool32
shaderSignedZeroInfNanPreserveFloat16) (Bool32 -> Bool
bool32ToBool Bool32
shaderSignedZeroInfNanPreserveFloat32) (Bool32 -> Bool
bool32ToBool Bool32
shaderSignedZeroInfNanPreserveFloat64) (Bool32 -> Bool
bool32ToBool Bool32
shaderDenormPreserveFloat16) (Bool32 -> Bool
bool32ToBool Bool32
shaderDenormPreserveFloat32) (Bool32 -> Bool
bool32ToBool Bool32
shaderDenormPreserveFloat64) (Bool32 -> Bool
bool32ToBool Bool32
shaderDenormFlushToZeroFloat16) (Bool32 -> Bool
bool32ToBool Bool32
shaderDenormFlushToZeroFloat32) (Bool32 -> Bool
bool32ToBool Bool32
shaderDenormFlushToZeroFloat64) (Bool32 -> Bool
bool32ToBool Bool32
shaderRoundingModeRTEFloat16) (Bool32 -> Bool
bool32ToBool Bool32
shaderRoundingModeRTEFloat32) (Bool32 -> Bool
bool32ToBool Bool32
shaderRoundingModeRTEFloat64) (Bool32 -> Bool
bool32ToBool Bool32
shaderRoundingModeRTZFloat16) (Bool32 -> Bool
bool32ToBool Bool32
shaderRoundingModeRTZFloat32) (Bool32 -> Bool
bool32ToBool Bool32
shaderRoundingModeRTZFloat64)
instance Storable PhysicalDeviceFloatControlsProperties where
sizeOf :: PhysicalDeviceFloatControlsProperties -> Int
sizeOf ~PhysicalDeviceFloatControlsProperties
_ = Int
88
alignment :: PhysicalDeviceFloatControlsProperties -> Int
alignment ~PhysicalDeviceFloatControlsProperties
_ = Int
8
peek :: Ptr PhysicalDeviceFloatControlsProperties
-> IO PhysicalDeviceFloatControlsProperties
peek = Ptr PhysicalDeviceFloatControlsProperties
-> IO PhysicalDeviceFloatControlsProperties
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceFloatControlsProperties
-> PhysicalDeviceFloatControlsProperties -> IO ()
poke Ptr PhysicalDeviceFloatControlsProperties
ptr PhysicalDeviceFloatControlsProperties
poked = Ptr PhysicalDeviceFloatControlsProperties
-> PhysicalDeviceFloatControlsProperties -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceFloatControlsProperties
ptr PhysicalDeviceFloatControlsProperties
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceFloatControlsProperties where
zero :: PhysicalDeviceFloatControlsProperties
zero = ShaderFloatControlsIndependence
-> ShaderFloatControlsIndependence
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> PhysicalDeviceFloatControlsProperties
PhysicalDeviceFloatControlsProperties
ShaderFloatControlsIndependence
forall a. Zero a => a
zero
ShaderFloatControlsIndependence
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero