{-# language CPP #-}
module Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres ( AccelerationStructureGeometryLinearSweptSpheresDataNV(..)
, AccelerationStructureGeometrySpheresDataNV(..)
, PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV(..)
, RayTracingLssIndexingModeNV( RAY_TRACING_LSS_INDEXING_MODE_LIST_NV
, RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV
, ..
)
, RayTracingLssPrimitiveEndCapsModeNV( RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV
, RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV
, ..
)
, NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION
, pattern NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION
, NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME
, pattern NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME
, DeviceOrHostAddressConstKHR(..)
, GeometryTypeKHR(..)
) where
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import Foreign.Marshal.Alloc (allocaBytes)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import GHC.Show (showsPrec)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Cont (evalContT)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Zero (Zero)
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 Data.Int (Int32)
import Foreign.Ptr (Ptr)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Vulkan.Core10.FundamentalTypes (bool32ToBool)
import Vulkan.Core10.FundamentalTypes (boolToBool32)
import Vulkan.Core10.FundamentalTypes (Bool32)
import Vulkan.Extensions.VK_KHR_acceleration_structure (DeviceOrHostAddressConstKHR)
import Vulkan.Core10.FundamentalTypes (DeviceSize)
import Vulkan.Core10.Enums.Format (Format)
import Vulkan.Core10.Enums.IndexType (IndexType)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV))
import Vulkan.Extensions.VK_KHR_acceleration_structure (DeviceOrHostAddressConstKHR(..))
import Vulkan.Extensions.VK_KHR_acceleration_structure (GeometryTypeKHR(..))
data AccelerationStructureGeometryLinearSweptSpheresDataNV = AccelerationStructureGeometryLinearSweptSpheresDataNV
{
AccelerationStructureGeometryLinearSweptSpheresDataNV -> Format
vertexFormat :: Format
,
AccelerationStructureGeometryLinearSweptSpheresDataNV
-> DeviceOrHostAddressConstKHR
vertexData :: DeviceOrHostAddressConstKHR
,
AccelerationStructureGeometryLinearSweptSpheresDataNV -> DeviceSize
vertexStride :: DeviceSize
,
AccelerationStructureGeometryLinearSweptSpheresDataNV -> Format
radiusFormat :: Format
,
AccelerationStructureGeometryLinearSweptSpheresDataNV
-> DeviceOrHostAddressConstKHR
radiusData :: DeviceOrHostAddressConstKHR
,
AccelerationStructureGeometryLinearSweptSpheresDataNV -> DeviceSize
radiusStride :: DeviceSize
,
AccelerationStructureGeometryLinearSweptSpheresDataNV -> IndexType
indexType :: IndexType
,
AccelerationStructureGeometryLinearSweptSpheresDataNV
-> DeviceOrHostAddressConstKHR
indexData :: DeviceOrHostAddressConstKHR
,
AccelerationStructureGeometryLinearSweptSpheresDataNV -> DeviceSize
indexStride :: DeviceSize
,
AccelerationStructureGeometryLinearSweptSpheresDataNV
-> RayTracingLssIndexingModeNV
indexingMode :: RayTracingLssIndexingModeNV
,
AccelerationStructureGeometryLinearSweptSpheresDataNV
-> RayTracingLssPrimitiveEndCapsModeNV
endCapsMode :: RayTracingLssPrimitiveEndCapsModeNV
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (AccelerationStructureGeometryLinearSweptSpheresDataNV)
#endif
deriving instance Show AccelerationStructureGeometryLinearSweptSpheresDataNV
instance ToCStruct AccelerationStructureGeometryLinearSweptSpheresDataNV where
withCStruct :: forall b.
AccelerationStructureGeometryLinearSweptSpheresDataNV
-> (Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> IO b)
-> IO b
withCStruct AccelerationStructureGeometryLinearSweptSpheresDataNV
x Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV -> IO b
f = Int
-> (Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
96 ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> IO b)
-> IO b)
-> (Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p -> Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> AccelerationStructureGeometryLinearSweptSpheresDataNV
-> IO b
-> IO b
forall b.
Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> AccelerationStructureGeometryLinearSweptSpheresDataNV
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p AccelerationStructureGeometryLinearSweptSpheresDataNV
x (Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV -> IO b
f Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p)
pokeCStruct :: forall b.
Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> AccelerationStructureGeometryLinearSweptSpheresDataNV
-> IO b
-> IO b
pokeCStruct Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p AccelerationStructureGeometryLinearSweptSpheresDataNV{DeviceSize
IndexType
Format
DeviceOrHostAddressConstKHR
RayTracingLssPrimitiveEndCapsModeNV
RayTracingLssIndexingModeNV
vertexFormat :: AccelerationStructureGeometryLinearSweptSpheresDataNV -> Format
vertexData :: AccelerationStructureGeometryLinearSweptSpheresDataNV
-> DeviceOrHostAddressConstKHR
vertexStride :: AccelerationStructureGeometryLinearSweptSpheresDataNV -> DeviceSize
radiusFormat :: AccelerationStructureGeometryLinearSweptSpheresDataNV -> Format
radiusData :: AccelerationStructureGeometryLinearSweptSpheresDataNV
-> DeviceOrHostAddressConstKHR
radiusStride :: AccelerationStructureGeometryLinearSweptSpheresDataNV -> DeviceSize
indexType :: AccelerationStructureGeometryLinearSweptSpheresDataNV -> IndexType
indexData :: AccelerationStructureGeometryLinearSweptSpheresDataNV
-> DeviceOrHostAddressConstKHR
indexStride :: AccelerationStructureGeometryLinearSweptSpheresDataNV -> DeviceSize
indexingMode :: AccelerationStructureGeometryLinearSweptSpheresDataNV
-> RayTracingLssIndexingModeNV
endCapsMode :: AccelerationStructureGeometryLinearSweptSpheresDataNV
-> RayTracingLssPrimitiveEndCapsModeNV
vertexFormat :: Format
vertexData :: DeviceOrHostAddressConstKHR
vertexStride :: DeviceSize
radiusFormat :: Format
radiusData :: DeviceOrHostAddressConstKHR
radiusStride :: DeviceSize
indexType :: IndexType
indexData :: DeviceOrHostAddressConstKHR
indexStride :: DeviceSize
indexingMode :: RayTracingLssIndexingModeNV
endCapsMode :: RayTracingLssPrimitiveEndCapsModeNV
..} IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Format)) (Format
vertexFormat)
((() -> IO b) -> IO b) -> ContT b IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall b.
Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr DeviceOrHostAddressConstKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr DeviceOrHostAddressConstKHR)) (DeviceOrHostAddressConstKHR
vertexData) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr DeviceSize)) (DeviceSize
vertexStride)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Format)) (Format
radiusFormat)
((() -> IO b) -> IO b) -> ContT b IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall b.
Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr DeviceOrHostAddressConstKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr DeviceOrHostAddressConstKHR)) (DeviceOrHostAddressConstKHR
radiusData) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr DeviceSize)) (DeviceSize
radiusStride)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr IndexType -> IndexType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr IndexType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr IndexType)) (IndexType
indexType)
((() -> IO b) -> IO b) -> ContT b IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall b.
Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr DeviceOrHostAddressConstKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr DeviceOrHostAddressConstKHR)) (DeviceOrHostAddressConstKHR
indexData) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80 :: Ptr DeviceSize)) (DeviceSize
indexStride)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr RayTracingLssIndexingModeNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
88 :: Ptr RayTracingLssIndexingModeNV)) (RayTracingLssIndexingModeNV
indexingMode)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr RayTracingLssPrimitiveEndCapsModeNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
92 :: Ptr RayTracingLssPrimitiveEndCapsModeNV)) (RayTracingLssPrimitiveEndCapsModeNV
endCapsMode)
IO b -> ContT b IO b
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
96
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> IO b -> IO b
pokeZeroCStruct Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Format)) (Format
forall a. Zero a => a
zero)
((() -> IO b) -> IO b) -> ContT b IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall b.
Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr DeviceOrHostAddressConstKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr DeviceOrHostAddressConstKHR)) (DeviceOrHostAddressConstKHR
forall a. Zero a => a
zero) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr DeviceSize)) (DeviceSize
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Format)) (Format
forall a. Zero a => a
zero)
((() -> IO b) -> IO b) -> ContT b IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall b.
Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr DeviceOrHostAddressConstKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr DeviceOrHostAddressConstKHR)) (DeviceOrHostAddressConstKHR
forall a. Zero a => a
zero) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr DeviceSize)) (DeviceSize
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr IndexType -> IndexType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr IndexType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr IndexType)) (IndexType
forall a. Zero a => a
zero)
((() -> IO b) -> IO b) -> ContT b IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall b.
Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr DeviceOrHostAddressConstKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr DeviceOrHostAddressConstKHR)) (DeviceOrHostAddressConstKHR
forall a. Zero a => a
zero) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80 :: Ptr DeviceSize)) (DeviceSize
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr RayTracingLssIndexingModeNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
88 :: Ptr RayTracingLssIndexingModeNV)) (RayTracingLssIndexingModeNV
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
p Ptr AccelerationStructureGeometryLinearSweptSpheresDataNV
-> Int -> Ptr RayTracingLssPrimitiveEndCapsModeNV
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
92 :: Ptr RayTracingLssPrimitiveEndCapsModeNV)) (RayTracingLssPrimitiveEndCapsModeNV
forall a. Zero a => a
zero)
IO b -> ContT b IO b
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
instance Zero AccelerationStructureGeometryLinearSweptSpheresDataNV where
zero :: AccelerationStructureGeometryLinearSweptSpheresDataNV
zero = Format
-> DeviceOrHostAddressConstKHR
-> DeviceSize
-> Format
-> DeviceOrHostAddressConstKHR
-> DeviceSize
-> IndexType
-> DeviceOrHostAddressConstKHR
-> DeviceSize
-> RayTracingLssIndexingModeNV
-> RayTracingLssPrimitiveEndCapsModeNV
-> AccelerationStructureGeometryLinearSweptSpheresDataNV
AccelerationStructureGeometryLinearSweptSpheresDataNV
Format
forall a. Zero a => a
zero
DeviceOrHostAddressConstKHR
forall a. Zero a => a
zero
DeviceSize
forall a. Zero a => a
zero
Format
forall a. Zero a => a
zero
DeviceOrHostAddressConstKHR
forall a. Zero a => a
zero
DeviceSize
forall a. Zero a => a
zero
IndexType
forall a. Zero a => a
zero
DeviceOrHostAddressConstKHR
forall a. Zero a => a
zero
DeviceSize
forall a. Zero a => a
zero
RayTracingLssIndexingModeNV
forall a. Zero a => a
zero
RayTracingLssPrimitiveEndCapsModeNV
forall a. Zero a => a
zero
data AccelerationStructureGeometrySpheresDataNV = AccelerationStructureGeometrySpheresDataNV
{
AccelerationStructureGeometrySpheresDataNV -> Format
vertexFormat :: Format
,
AccelerationStructureGeometrySpheresDataNV
-> DeviceOrHostAddressConstKHR
vertexData :: DeviceOrHostAddressConstKHR
,
AccelerationStructureGeometrySpheresDataNV -> DeviceSize
vertexStride :: DeviceSize
,
AccelerationStructureGeometrySpheresDataNV -> Format
radiusFormat :: Format
,
AccelerationStructureGeometrySpheresDataNV
-> DeviceOrHostAddressConstKHR
radiusData :: DeviceOrHostAddressConstKHR
,
AccelerationStructureGeometrySpheresDataNV -> DeviceSize
radiusStride :: DeviceSize
,
AccelerationStructureGeometrySpheresDataNV -> IndexType
indexType :: IndexType
,
AccelerationStructureGeometrySpheresDataNV
-> DeviceOrHostAddressConstKHR
indexData :: DeviceOrHostAddressConstKHR
,
AccelerationStructureGeometrySpheresDataNV -> DeviceSize
indexStride :: DeviceSize
}
deriving (Typeable)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (AccelerationStructureGeometrySpheresDataNV)
#endif
deriving instance Show AccelerationStructureGeometrySpheresDataNV
instance ToCStruct AccelerationStructureGeometrySpheresDataNV where
withCStruct :: forall b.
AccelerationStructureGeometrySpheresDataNV
-> (Ptr AccelerationStructureGeometrySpheresDataNV -> IO b) -> IO b
withCStruct AccelerationStructureGeometrySpheresDataNV
x Ptr AccelerationStructureGeometrySpheresDataNV -> IO b
f = Int
-> (Ptr AccelerationStructureGeometrySpheresDataNV -> IO b) -> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
88 ((Ptr AccelerationStructureGeometrySpheresDataNV -> IO b) -> IO b)
-> (Ptr AccelerationStructureGeometrySpheresDataNV -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr AccelerationStructureGeometrySpheresDataNV
p -> Ptr AccelerationStructureGeometrySpheresDataNV
-> AccelerationStructureGeometrySpheresDataNV -> IO b -> IO b
forall b.
Ptr AccelerationStructureGeometrySpheresDataNV
-> AccelerationStructureGeometrySpheresDataNV -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr AccelerationStructureGeometrySpheresDataNV
p AccelerationStructureGeometrySpheresDataNV
x (Ptr AccelerationStructureGeometrySpheresDataNV -> IO b
f Ptr AccelerationStructureGeometrySpheresDataNV
p)
pokeCStruct :: forall b.
Ptr AccelerationStructureGeometrySpheresDataNV
-> AccelerationStructureGeometrySpheresDataNV -> IO b -> IO b
pokeCStruct Ptr AccelerationStructureGeometrySpheresDataNV
p AccelerationStructureGeometrySpheresDataNV{DeviceSize
IndexType
Format
DeviceOrHostAddressConstKHR
vertexFormat :: AccelerationStructureGeometrySpheresDataNV -> Format
vertexData :: AccelerationStructureGeometrySpheresDataNV
-> DeviceOrHostAddressConstKHR
vertexStride :: AccelerationStructureGeometrySpheresDataNV -> DeviceSize
radiusFormat :: AccelerationStructureGeometrySpheresDataNV -> Format
radiusData :: AccelerationStructureGeometrySpheresDataNV
-> DeviceOrHostAddressConstKHR
radiusStride :: AccelerationStructureGeometrySpheresDataNV -> DeviceSize
indexType :: AccelerationStructureGeometrySpheresDataNV -> IndexType
indexData :: AccelerationStructureGeometrySpheresDataNV
-> DeviceOrHostAddressConstKHR
indexStride :: AccelerationStructureGeometrySpheresDataNV -> DeviceSize
vertexFormat :: Format
vertexData :: DeviceOrHostAddressConstKHR
vertexStride :: DeviceSize
radiusFormat :: Format
radiusData :: DeviceOrHostAddressConstKHR
radiusStride :: DeviceSize
indexType :: IndexType
indexData :: DeviceOrHostAddressConstKHR
indexStride :: DeviceSize
..} IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Format)) (Format
vertexFormat)
((() -> IO b) -> IO b) -> ContT b IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall b.
Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr DeviceOrHostAddressConstKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr DeviceOrHostAddressConstKHR)) (DeviceOrHostAddressConstKHR
vertexData) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr DeviceSize)) (DeviceSize
vertexStride)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Format)) (Format
radiusFormat)
((() -> IO b) -> IO b) -> ContT b IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall b.
Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr DeviceOrHostAddressConstKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr DeviceOrHostAddressConstKHR)) (DeviceOrHostAddressConstKHR
radiusData) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr DeviceSize)) (DeviceSize
radiusStride)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr IndexType -> IndexType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr IndexType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr IndexType)) (IndexType
indexType)
((() -> IO b) -> IO b) -> ContT b IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall b.
Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr DeviceOrHostAddressConstKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr DeviceOrHostAddressConstKHR)) (DeviceOrHostAddressConstKHR
indexData) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80 :: Ptr DeviceSize)) (DeviceSize
indexStride)
IO b -> ContT b IO b
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = Int
88
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr AccelerationStructureGeometrySpheresDataNV -> IO b -> IO b
pokeZeroCStruct Ptr AccelerationStructureGeometrySpheresDataNV
p IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Format)) (Format
forall a. Zero a => a
zero)
((() -> IO b) -> IO b) -> ContT b IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall b.
Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr DeviceOrHostAddressConstKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24 :: Ptr DeviceOrHostAddressConstKHR)) (DeviceOrHostAddressConstKHR
forall a. Zero a => a
zero) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: Ptr DeviceSize)) (DeviceSize
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Format -> Format -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV -> Int -> Ptr Format
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
40 :: Ptr Format)) (Format
forall a. Zero a => a
zero)
((() -> IO b) -> IO b) -> ContT b IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall b.
Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr DeviceOrHostAddressConstKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
48 :: Ptr DeviceOrHostAddressConstKHR)) (DeviceOrHostAddressConstKHR
forall a. Zero a => a
zero) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
56 :: Ptr DeviceSize)) (DeviceSize
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr IndexType -> IndexType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr IndexType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
64 :: Ptr IndexType)) (IndexType
forall a. Zero a => a
zero)
((() -> IO b) -> IO b) -> ContT b IO ()
forall {k} (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall b.
Ptr DeviceOrHostAddressConstKHR
-> DeviceOrHostAddressConstKHR -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr DeviceOrHostAddressConstKHR
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
72 :: Ptr DeviceOrHostAddressConstKHR)) (DeviceOrHostAddressConstKHR
forall a. Zero a => a
zero) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr AccelerationStructureGeometrySpheresDataNV
p Ptr AccelerationStructureGeometrySpheresDataNV
-> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
80 :: Ptr DeviceSize)) (DeviceSize
forall a. Zero a => a
zero)
IO b -> ContT b IO b
forall (m :: * -> *) a. Monad m => m a -> ContT b m a
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
instance Zero AccelerationStructureGeometrySpheresDataNV where
zero :: AccelerationStructureGeometrySpheresDataNV
zero = Format
-> DeviceOrHostAddressConstKHR
-> DeviceSize
-> Format
-> DeviceOrHostAddressConstKHR
-> DeviceSize
-> IndexType
-> DeviceOrHostAddressConstKHR
-> DeviceSize
-> AccelerationStructureGeometrySpheresDataNV
AccelerationStructureGeometrySpheresDataNV
Format
forall a. Zero a => a
zero
DeviceOrHostAddressConstKHR
forall a. Zero a => a
zero
DeviceSize
forall a. Zero a => a
zero
Format
forall a. Zero a => a
zero
DeviceOrHostAddressConstKHR
forall a. Zero a => a
zero
DeviceSize
forall a. Zero a => a
zero
IndexType
forall a. Zero a => a
zero
DeviceOrHostAddressConstKHR
forall a. Zero a => a
zero
DeviceSize
forall a. Zero a => a
zero
data PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV = PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
{
PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> Bool
spheres :: Bool
,
PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> Bool
linearSweptSpheres :: Bool
}
deriving (Typeable, PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> Bool
(PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> Bool)
-> (PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> Bool)
-> Eq PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> Bool
== :: PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> Bool
$c/= :: PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> Bool
/= :: PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> Bool
Eq)
#if defined(GENERIC_INSTANCES)
deriving instance Generic (PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV)
#endif
deriving instance Show PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
instance ToCStruct PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV where
withCStruct :: forall b.
PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> (Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> IO b)
-> IO b
withCStruct PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
x Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> IO b
f = Int
-> (Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> IO b)
-> IO b
forall a b. Int -> (Ptr a -> IO b) -> IO b
allocaBytes Int
24 ((Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> IO b)
-> IO b)
-> (Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> IO b)
-> IO b
forall a b. (a -> b) -> a -> b
$ \Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p -> Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> IO b
-> IO b
forall b.
Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
x (Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> IO b
f Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p)
pokeCStruct :: forall b.
Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> IO b
-> IO b
pokeCStruct Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV{Bool
spheres :: PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> Bool
linearSweptSpheres :: PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> Bool
spheres :: Bool
linearSweptSpheres :: Bool
..} IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> 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 PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
spheres))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
linearSweptSpheres))
IO b
f
cStructSize :: Int
cStructSize = Int
24
cStructAlignment :: Int
cStructAlignment = Int
8
pokeZeroCStruct :: forall b.
Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> IO b -> IO b
pokeZeroCStruct Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> 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 PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> 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 PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> 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 PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV where
peekCStruct :: Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> IO PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
peekCStruct Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p = do
spheres <- forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
p Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16 :: Ptr Bool32))
linearSweptSpheres <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))
pure $ PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
(bool32ToBool spheres) (bool32ToBool linearSweptSpheres)
instance Storable PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV where
sizeOf :: PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> Int
sizeOf ~PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
_ = Int
24
alignment :: PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> Int
alignment ~PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
_ = Int
8
peek :: Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> IO PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
peek = Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> IO PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV -> IO ()
poke Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
poked = Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> IO ()
-> IO ()
forall b.
Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
-> IO b
-> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
ptr PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
poked (() -> IO ()
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV where
zero :: PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
zero = Bool
-> Bool -> PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
newtype RayTracingLssIndexingModeNV = RayTracingLssIndexingModeNV Int32
deriving newtype (RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
(RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> Bool)
-> (RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> Bool)
-> Eq RayTracingLssIndexingModeNV
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
== :: RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
$c/= :: RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
/= :: RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
Eq, Eq RayTracingLssIndexingModeNV
Eq RayTracingLssIndexingModeNV =>
(RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> Ordering)
-> (RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> Bool)
-> (RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> Bool)
-> (RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> Bool)
-> (RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> Bool)
-> (RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV)
-> (RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV)
-> Ord RayTracingLssIndexingModeNV
RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> Ordering
RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> Ordering
compare :: RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> Ordering
$c< :: RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
< :: RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
$c<= :: RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
<= :: RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
$c> :: RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
> :: RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
$c>= :: RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
>= :: RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV -> Bool
$cmax :: RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV
max :: RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV
$cmin :: RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV
min :: RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> RayTracingLssIndexingModeNV
Ord, Ptr RayTracingLssIndexingModeNV -> IO RayTracingLssIndexingModeNV
Ptr RayTracingLssIndexingModeNV
-> Int -> IO RayTracingLssIndexingModeNV
Ptr RayTracingLssIndexingModeNV
-> Int -> RayTracingLssIndexingModeNV -> IO ()
Ptr RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> IO ()
RayTracingLssIndexingModeNV -> Int
(RayTracingLssIndexingModeNV -> Int)
-> (RayTracingLssIndexingModeNV -> Int)
-> (Ptr RayTracingLssIndexingModeNV
-> Int -> IO RayTracingLssIndexingModeNV)
-> (Ptr RayTracingLssIndexingModeNV
-> Int -> RayTracingLssIndexingModeNV -> IO ())
-> (forall b. Ptr b -> Int -> IO RayTracingLssIndexingModeNV)
-> (forall b. Ptr b -> Int -> RayTracingLssIndexingModeNV -> IO ())
-> (Ptr RayTracingLssIndexingModeNV
-> IO RayTracingLssIndexingModeNV)
-> (Ptr RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> IO ())
-> Storable RayTracingLssIndexingModeNV
forall b. Ptr b -> Int -> IO RayTracingLssIndexingModeNV
forall b. Ptr b -> Int -> RayTracingLssIndexingModeNV -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
$csizeOf :: RayTracingLssIndexingModeNV -> Int
sizeOf :: RayTracingLssIndexingModeNV -> Int
$calignment :: RayTracingLssIndexingModeNV -> Int
alignment :: RayTracingLssIndexingModeNV -> Int
$cpeekElemOff :: Ptr RayTracingLssIndexingModeNV
-> Int -> IO RayTracingLssIndexingModeNV
peekElemOff :: Ptr RayTracingLssIndexingModeNV
-> Int -> IO RayTracingLssIndexingModeNV
$cpokeElemOff :: Ptr RayTracingLssIndexingModeNV
-> Int -> RayTracingLssIndexingModeNV -> IO ()
pokeElemOff :: Ptr RayTracingLssIndexingModeNV
-> Int -> RayTracingLssIndexingModeNV -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO RayTracingLssIndexingModeNV
peekByteOff :: forall b. Ptr b -> Int -> IO RayTracingLssIndexingModeNV
$cpokeByteOff :: forall b. Ptr b -> Int -> RayTracingLssIndexingModeNV -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> RayTracingLssIndexingModeNV -> IO ()
$cpeek :: Ptr RayTracingLssIndexingModeNV -> IO RayTracingLssIndexingModeNV
peek :: Ptr RayTracingLssIndexingModeNV -> IO RayTracingLssIndexingModeNV
$cpoke :: Ptr RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> IO ()
poke :: Ptr RayTracingLssIndexingModeNV
-> RayTracingLssIndexingModeNV -> IO ()
Storable, RayTracingLssIndexingModeNV
RayTracingLssIndexingModeNV -> Zero RayTracingLssIndexingModeNV
forall a. a -> Zero a
$czero :: RayTracingLssIndexingModeNV
zero :: RayTracingLssIndexingModeNV
Zero)
pattern $mRAY_TRACING_LSS_INDEXING_MODE_LIST_NV :: forall {r}.
RayTracingLssIndexingModeNV -> ((# #) -> r) -> ((# #) -> r) -> r
$bRAY_TRACING_LSS_INDEXING_MODE_LIST_NV :: RayTracingLssIndexingModeNV
RAY_TRACING_LSS_INDEXING_MODE_LIST_NV = RayTracingLssIndexingModeNV 0
pattern $mRAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV :: forall {r}.
RayTracingLssIndexingModeNV -> ((# #) -> r) -> ((# #) -> r) -> r
$bRAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV :: RayTracingLssIndexingModeNV
RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV = RayTracingLssIndexingModeNV 1
{-# COMPLETE
RAY_TRACING_LSS_INDEXING_MODE_LIST_NV
, RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV ::
RayTracingLssIndexingModeNV
#-}
conNameRayTracingLssIndexingModeNV :: String
conNameRayTracingLssIndexingModeNV :: String
conNameRayTracingLssIndexingModeNV = String
"RayTracingLssIndexingModeNV"
enumPrefixRayTracingLssIndexingModeNV :: String
enumPrefixRayTracingLssIndexingModeNV :: String
enumPrefixRayTracingLssIndexingModeNV = String
"RAY_TRACING_LSS_INDEXING_MODE_"
showTableRayTracingLssIndexingModeNV :: [(RayTracingLssIndexingModeNV, String)]
showTableRayTracingLssIndexingModeNV :: [(RayTracingLssIndexingModeNV, String)]
showTableRayTracingLssIndexingModeNV =
[
( RayTracingLssIndexingModeNV
RAY_TRACING_LSS_INDEXING_MODE_LIST_NV
, String
"LIST_NV"
)
,
( RayTracingLssIndexingModeNV
RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV
, String
"SUCCESSIVE_NV"
)
]
instance Show RayTracingLssIndexingModeNV where
showsPrec :: Int -> RayTracingLssIndexingModeNV -> ShowS
showsPrec =
String
-> [(RayTracingLssIndexingModeNV, String)]
-> String
-> (RayTracingLssIndexingModeNV -> Int32)
-> (Int32 -> ShowS)
-> Int
-> RayTracingLssIndexingModeNV
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixRayTracingLssIndexingModeNV
[(RayTracingLssIndexingModeNV, String)]
showTableRayTracingLssIndexingModeNV
String
conNameRayTracingLssIndexingModeNV
(\(RayTracingLssIndexingModeNV Int32
x) -> Int32
x)
(Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11)
instance Read RayTracingLssIndexingModeNV where
readPrec :: ReadPrec RayTracingLssIndexingModeNV
readPrec =
String
-> [(RayTracingLssIndexingModeNV, String)]
-> String
-> (Int32 -> RayTracingLssIndexingModeNV)
-> ReadPrec RayTracingLssIndexingModeNV
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixRayTracingLssIndexingModeNV
[(RayTracingLssIndexingModeNV, String)]
showTableRayTracingLssIndexingModeNV
String
conNameRayTracingLssIndexingModeNV
Int32 -> RayTracingLssIndexingModeNV
RayTracingLssIndexingModeNV
newtype RayTracingLssPrimitiveEndCapsModeNV = RayTracingLssPrimitiveEndCapsModeNV Int32
deriving newtype (RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
(RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool)
-> (RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool)
-> Eq RayTracingLssPrimitiveEndCapsModeNV
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
== :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
$c/= :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
/= :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
Eq, Eq RayTracingLssPrimitiveEndCapsModeNV
Eq RayTracingLssPrimitiveEndCapsModeNV =>
(RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Ordering)
-> (RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool)
-> (RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool)
-> (RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool)
-> (RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool)
-> (RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV)
-> (RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV)
-> Ord RayTracingLssPrimitiveEndCapsModeNV
RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Ordering
RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Ordering
compare :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Ordering
$c< :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
< :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
$c<= :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
<= :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
$c> :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
> :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
$c>= :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
>= :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> Bool
$cmax :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV
max :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV
$cmin :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV
min :: RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV
Ord, Ptr RayTracingLssPrimitiveEndCapsModeNV
-> IO RayTracingLssPrimitiveEndCapsModeNV
Ptr RayTracingLssPrimitiveEndCapsModeNV
-> Int -> IO RayTracingLssPrimitiveEndCapsModeNV
Ptr RayTracingLssPrimitiveEndCapsModeNV
-> Int -> RayTracingLssPrimitiveEndCapsModeNV -> IO ()
Ptr RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> IO ()
RayTracingLssPrimitiveEndCapsModeNV -> Int
(RayTracingLssPrimitiveEndCapsModeNV -> Int)
-> (RayTracingLssPrimitiveEndCapsModeNV -> Int)
-> (Ptr RayTracingLssPrimitiveEndCapsModeNV
-> Int -> IO RayTracingLssPrimitiveEndCapsModeNV)
-> (Ptr RayTracingLssPrimitiveEndCapsModeNV
-> Int -> RayTracingLssPrimitiveEndCapsModeNV -> IO ())
-> (forall b.
Ptr b -> Int -> IO RayTracingLssPrimitiveEndCapsModeNV)
-> (forall b.
Ptr b -> Int -> RayTracingLssPrimitiveEndCapsModeNV -> IO ())
-> (Ptr RayTracingLssPrimitiveEndCapsModeNV
-> IO RayTracingLssPrimitiveEndCapsModeNV)
-> (Ptr RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> IO ())
-> Storable RayTracingLssPrimitiveEndCapsModeNV
forall b. Ptr b -> Int -> IO RayTracingLssPrimitiveEndCapsModeNV
forall b.
Ptr b -> Int -> RayTracingLssPrimitiveEndCapsModeNV -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
$csizeOf :: RayTracingLssPrimitiveEndCapsModeNV -> Int
sizeOf :: RayTracingLssPrimitiveEndCapsModeNV -> Int
$calignment :: RayTracingLssPrimitiveEndCapsModeNV -> Int
alignment :: RayTracingLssPrimitiveEndCapsModeNV -> Int
$cpeekElemOff :: Ptr RayTracingLssPrimitiveEndCapsModeNV
-> Int -> IO RayTracingLssPrimitiveEndCapsModeNV
peekElemOff :: Ptr RayTracingLssPrimitiveEndCapsModeNV
-> Int -> IO RayTracingLssPrimitiveEndCapsModeNV
$cpokeElemOff :: Ptr RayTracingLssPrimitiveEndCapsModeNV
-> Int -> RayTracingLssPrimitiveEndCapsModeNV -> IO ()
pokeElemOff :: Ptr RayTracingLssPrimitiveEndCapsModeNV
-> Int -> RayTracingLssPrimitiveEndCapsModeNV -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO RayTracingLssPrimitiveEndCapsModeNV
peekByteOff :: forall b. Ptr b -> Int -> IO RayTracingLssPrimitiveEndCapsModeNV
$cpokeByteOff :: forall b.
Ptr b -> Int -> RayTracingLssPrimitiveEndCapsModeNV -> IO ()
pokeByteOff :: forall b.
Ptr b -> Int -> RayTracingLssPrimitiveEndCapsModeNV -> IO ()
$cpeek :: Ptr RayTracingLssPrimitiveEndCapsModeNV
-> IO RayTracingLssPrimitiveEndCapsModeNV
peek :: Ptr RayTracingLssPrimitiveEndCapsModeNV
-> IO RayTracingLssPrimitiveEndCapsModeNV
$cpoke :: Ptr RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> IO ()
poke :: Ptr RayTracingLssPrimitiveEndCapsModeNV
-> RayTracingLssPrimitiveEndCapsModeNV -> IO ()
Storable, RayTracingLssPrimitiveEndCapsModeNV
RayTracingLssPrimitiveEndCapsModeNV
-> Zero RayTracingLssPrimitiveEndCapsModeNV
forall a. a -> Zero a
$czero :: RayTracingLssPrimitiveEndCapsModeNV
zero :: RayTracingLssPrimitiveEndCapsModeNV
Zero)
pattern $mRAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV :: forall {r}.
RayTracingLssPrimitiveEndCapsModeNV
-> ((# #) -> r) -> ((# #) -> r) -> r
$bRAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV :: RayTracingLssPrimitiveEndCapsModeNV
RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV = RayTracingLssPrimitiveEndCapsModeNV 0
pattern $mRAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV :: forall {r}.
RayTracingLssPrimitiveEndCapsModeNV
-> ((# #) -> r) -> ((# #) -> r) -> r
$bRAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV :: RayTracingLssPrimitiveEndCapsModeNV
RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV = RayTracingLssPrimitiveEndCapsModeNV 1
{-# COMPLETE
RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV
, RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV ::
RayTracingLssPrimitiveEndCapsModeNV
#-}
conNameRayTracingLssPrimitiveEndCapsModeNV :: String
conNameRayTracingLssPrimitiveEndCapsModeNV :: String
conNameRayTracingLssPrimitiveEndCapsModeNV = String
"RayTracingLssPrimitiveEndCapsModeNV"
enumPrefixRayTracingLssPrimitiveEndCapsModeNV :: String
enumPrefixRayTracingLssPrimitiveEndCapsModeNV :: String
enumPrefixRayTracingLssPrimitiveEndCapsModeNV = String
"RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_"
showTableRayTracingLssPrimitiveEndCapsModeNV :: [(RayTracingLssPrimitiveEndCapsModeNV, String)]
showTableRayTracingLssPrimitiveEndCapsModeNV :: [(RayTracingLssPrimitiveEndCapsModeNV, String)]
showTableRayTracingLssPrimitiveEndCapsModeNV =
[
( RayTracingLssPrimitiveEndCapsModeNV
RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV
, String
"NONE_NV"
)
,
( RayTracingLssPrimitiveEndCapsModeNV
RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV
, String
"CHAINED_NV"
)
]
instance Show RayTracingLssPrimitiveEndCapsModeNV where
showsPrec :: Int -> RayTracingLssPrimitiveEndCapsModeNV -> ShowS
showsPrec =
String
-> [(RayTracingLssPrimitiveEndCapsModeNV, String)]
-> String
-> (RayTracingLssPrimitiveEndCapsModeNV -> Int32)
-> (Int32 -> ShowS)
-> Int
-> RayTracingLssPrimitiveEndCapsModeNV
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixRayTracingLssPrimitiveEndCapsModeNV
[(RayTracingLssPrimitiveEndCapsModeNV, String)]
showTableRayTracingLssPrimitiveEndCapsModeNV
String
conNameRayTracingLssPrimitiveEndCapsModeNV
(\(RayTracingLssPrimitiveEndCapsModeNV Int32
x) -> Int32
x)
(Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11)
instance Read RayTracingLssPrimitiveEndCapsModeNV where
readPrec :: ReadPrec RayTracingLssPrimitiveEndCapsModeNV
readPrec =
String
-> [(RayTracingLssPrimitiveEndCapsModeNV, String)]
-> String
-> (Int32 -> RayTracingLssPrimitiveEndCapsModeNV)
-> ReadPrec RayTracingLssPrimitiveEndCapsModeNV
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixRayTracingLssPrimitiveEndCapsModeNV
[(RayTracingLssPrimitiveEndCapsModeNV, String)]
showTableRayTracingLssPrimitiveEndCapsModeNV
String
conNameRayTracingLssPrimitiveEndCapsModeNV
Int32 -> RayTracingLssPrimitiveEndCapsModeNV
RayTracingLssPrimitiveEndCapsModeNV
type NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION = 1
pattern NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION :: forall a . Integral a => a
pattern $mNV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION :: forall {r} {a}.
Integral a =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bNV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION :: forall a. Integral a => a
NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION = 1
type NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME = "VK_NV_ray_tracing_linear_swept_spheres"
pattern NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
pattern $mNV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME :: forall {r} {a}.
(Eq a, IsString a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bNV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME = "VK_NV_ray_tracing_linear_swept_spheres"