{-# language CPP #-}
module Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder ( pattern RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV
, pattern RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV
, PhysicalDeviceRayTracingInvocationReorderFeaturesNV(..)
, PhysicalDeviceRayTracingInvocationReorderPropertiesNV(..)
, RayTracingInvocationReorderModeNV
, NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION
, pattern NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION
, NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME
, pattern NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME
, RayTracingInvocationReorderModeEXT(..)
) 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.Extensions.VK_EXT_ray_tracing_invocation_reorder (RayTracingInvocationReorderModeEXT)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Extensions.VK_EXT_ray_tracing_invocation_reorder (RayTracingInvocationReorderModeEXT(RAY_TRACING_INVOCATION_REORDER_MODE_NONE_EXT))
import Vulkan.Extensions.VK_EXT_ray_tracing_invocation_reorder (RayTracingInvocationReorderModeEXT(RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_EXT))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV))
import Vulkan.Extensions.VK_EXT_ray_tracing_invocation_reorder (RayTracingInvocationReorderModeEXT(..))
pattern $mRAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV :: forall {r}.
RayTracingInvocationReorderModeEXT
-> ((# #) -> r) -> ((# #) -> r) -> r
$bRAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV :: RayTracingInvocationReorderModeEXT
RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = RAY_TRACING_INVOCATION_REORDER_MODE_NONE_EXT
pattern $mRAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV :: forall {r}.
RayTracingInvocationReorderModeEXT
-> ((# #) -> r) -> ((# #) -> r) -> r
$bRAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV :: RayTracingInvocationReorderModeEXT
RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_EXT
data PhysicalDeviceRayTracingInvocationReorderFeaturesNV = PhysicalDeviceRayTracingInvocationReorderFeaturesNV
{
PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> Bool
rayTracingInvocationReorder :: Bool }
deriving (Typeable, PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> Bool
(PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> Bool)
-> (PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> Bool)
-> Eq PhysicalDeviceRayTracingInvocationReorderFeaturesNV
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> Bool
== :: PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> Bool
$c/= :: PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> Bool
/= :: PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceRayTracingInvocationReorderFeaturesNV)
#endif
deriving instance Show PhysicalDeviceRayTracingInvocationReorderFeaturesNV
instance ToCStruct PhysicalDeviceRayTracingInvocationReorderFeaturesNV where
withCStruct :: forall b.
PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> (Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> IO b)
-> IO b
withCStruct PhysicalDeviceRayTracingInvocationReorderFeaturesNV
x Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> IO b
f = Int
-> (Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> IO b)
-> IO b)
-> (Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
p -> Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> IO b
-> IO b
forall b.
Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
p PhysicalDeviceRayTracingInvocationReorderFeaturesNV
x (Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> IO b
f Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> IO b
-> IO b
pokeCStruct Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
p PhysicalDeviceRayTracingInvocationReorderFeaturesNV{Bool
rayTracingInvocationReorder :: PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> Bool
rayTracingInvocationReorder :: Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> 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 PhysicalDeviceRayTracingInvocationReorderFeaturesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
rayTracingInvocationReorder))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> 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 PhysicalDeviceRayTracingInvocationReorderFeaturesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> 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 PhysicalDeviceRayTracingInvocationReorderFeaturesNV where
peekCStruct :: Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> IO PhysicalDeviceRayTracingInvocationReorderFeaturesNV
peekCStruct Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
p = do
rayTracingInvocationReorder <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
pure $ PhysicalDeviceRayTracingInvocationReorderFeaturesNV
(bool32ToBool rayTracingInvocationReorder)
instance Storable PhysicalDeviceRayTracingInvocationReorderFeaturesNV where
sizeOf :: PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> Int
sizeOf ~PhysicalDeviceRayTracingInvocationReorderFeaturesNV
_ = Int
24
alignment :: PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> Int
alignment ~PhysicalDeviceRayTracingInvocationReorderFeaturesNV
_ = Int
8
peek :: Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> IO PhysicalDeviceRayTracingInvocationReorderFeaturesNV
peek = Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> IO PhysicalDeviceRayTracingInvocationReorderFeaturesNV
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> PhysicalDeviceRayTracingInvocationReorderFeaturesNV -> IO ()
poke Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
poked = Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> IO ()
-> IO ()
forall b.
Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> PhysicalDeviceRayTracingInvocationReorderFeaturesNV
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
ptr PhysicalDeviceRayTracingInvocationReorderFeaturesNV
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceRayTracingInvocationReorderFeaturesNV where
zero :: PhysicalDeviceRayTracingInvocationReorderFeaturesNV
zero = Bool -> PhysicalDeviceRayTracingInvocationReorderFeaturesNV
PhysicalDeviceRayTracingInvocationReorderFeaturesNV
Bool
forall a. Zero a => a
zero
data PhysicalDeviceRayTracingInvocationReorderPropertiesNV = PhysicalDeviceRayTracingInvocationReorderPropertiesNV
{
PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> RayTracingInvocationReorderModeEXT
rayTracingInvocationReorderReorderingHint :: RayTracingInvocationReorderModeEXT }
deriving (Typeable, PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV -> Bool
(PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV -> Bool)
-> (PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV -> Bool)
-> Eq PhysicalDeviceRayTracingInvocationReorderPropertiesNV
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV -> Bool
== :: PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV -> Bool
$c/= :: PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV -> Bool
/= :: PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceRayTracingInvocationReorderPropertiesNV)
#endif
deriving instance Show PhysicalDeviceRayTracingInvocationReorderPropertiesNV
instance ToCStruct PhysicalDeviceRayTracingInvocationReorderPropertiesNV where
withCStruct :: forall b.
PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> (Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> IO b)
-> IO b
withCStruct PhysicalDeviceRayTracingInvocationReorderPropertiesNV
x Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV -> IO b
f = Int
-> (Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> IO b)
-> IO b)
-> (Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
p -> Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> IO b
-> IO b
forall b.
Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
p PhysicalDeviceRayTracingInvocationReorderPropertiesNV
x (Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV -> IO b
f Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> IO b
-> IO b
pokeCStruct Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
p PhysicalDeviceRayTracingInvocationReorderPropertiesNV{RayTracingInvocationReorderModeEXT
rayTracingInvocationReorderReorderingHint :: PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> RayTracingInvocationReorderModeEXT
rayTracingInvocationReorderReorderingHint :: RayTracingInvocationReorderModeEXT
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr RayTracingInvocationReorderModeEXT
-> RayTracingInvocationReorderModeEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> Int -> Ptr RayTracingInvocationReorderModeEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr RayTracingInvocationReorderModeEXT)) (RayTracingInvocationReorderModeEXT
rayTracingInvocationReorderReorderingHint)
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr RayTracingInvocationReorderModeEXT
-> RayTracingInvocationReorderModeEXT -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> Int -> Ptr RayTracingInvocationReorderModeEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr RayTracingInvocationReorderModeEXT)) (RayTracingInvocationReorderModeEXT
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct PhysicalDeviceRayTracingInvocationReorderPropertiesNV where
peekCStruct :: Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> IO PhysicalDeviceRayTracingInvocationReorderPropertiesNV
peekCStruct Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
p = do
rayTracingInvocationReorderReorderingHint <- forall a. Storable a => Ptr a -> IO a
peek @RayTracingInvocationReorderModeEXT ((Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
p Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> Int -> Ptr RayTracingInvocationReorderModeEXT
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr RayTracingInvocationReorderModeEXT))
pure $ PhysicalDeviceRayTracingInvocationReorderPropertiesNV
rayTracingInvocationReorderReorderingHint
instance Storable PhysicalDeviceRayTracingInvocationReorderPropertiesNV where
sizeOf :: PhysicalDeviceRayTracingInvocationReorderPropertiesNV -> Int
sizeOf ~PhysicalDeviceRayTracingInvocationReorderPropertiesNV
_ = Int
24
alignment :: PhysicalDeviceRayTracingInvocationReorderPropertiesNV -> Int
alignment ~PhysicalDeviceRayTracingInvocationReorderPropertiesNV
_ = Int
8
peek :: Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> IO PhysicalDeviceRayTracingInvocationReorderPropertiesNV
peek = Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> IO PhysicalDeviceRayTracingInvocationReorderPropertiesNV
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV -> IO ()
poke Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
poked = Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> IO ()
-> IO ()
forall b.
Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
ptr PhysicalDeviceRayTracingInvocationReorderPropertiesNV
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceRayTracingInvocationReorderPropertiesNV where
zero :: PhysicalDeviceRayTracingInvocationReorderPropertiesNV
zero = RayTracingInvocationReorderModeEXT
-> PhysicalDeviceRayTracingInvocationReorderPropertiesNV
PhysicalDeviceRayTracingInvocationReorderPropertiesNV
RayTracingInvocationReorderModeEXT
forall a. Zero a => a
zero
type RayTracingInvocationReorderModeNV = RayTracingInvocationReorderModeEXT
type NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION = 1
pattern NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION :: forall a . Integral a => a
pattern $mNV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bNV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION :: forall a. Integral a => a
NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION = 1
type NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME = "VK_NV_ray_tracing_invocation_reorder"
pattern NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $mNV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bNV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME = "VK_NV_ray_tracing_invocation_reorder"