{-# language CPP #-} -- No documentation found for Chapter "FundamentalTypes" module Vulkan.Core10.FundamentalTypes ( boolToBool32 , bool32ToBool , Offset2D(..) , Offset3D(..) , Extent2D(..) , Extent3D(..) , Rect2D(..) , Bool32( FALSE , TRUE , .. ) , SampleMask , Flags , DeviceSize , DeviceAddress , StructureType(..) , Result(..) ) where import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec) import Data.Bool (bool) import Foreign.Marshal.Alloc (allocaBytesAligned) import Foreign.Ptr (plusPtr) import GHC.Show (showsPrec) 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.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.Word (Word32) import Data.Word (Word64) import Data.Kind (Type) import Vulkan.Core10.Enums.Result (Result(..)) import Vulkan.Core10.Enums.StructureType (StructureType(..)) boolToBool32 :: Bool -> Bool32 boolToBool32 :: Bool -> Bool32 boolToBool32 = Bool32 -> Bool32 -> Bool -> Bool32 forall a. a -> a -> Bool -> a bool Bool32 FALSE Bool32 TRUE bool32ToBool :: Bool32 -> Bool bool32ToBool :: Bool32 -> Bool bool32ToBool = \case FALSE -> Bool False TRUE -> Bool True -- | VkOffset2D - Structure specifying a two-dimensional offset -- -- = See Also -- -- 'Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR', -- 'Rect2D', 'Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR' data Offset2D = Offset2D { -- | @x@ is the x offset. Offset2D -> Int32 x :: Int32 , -- | @y@ is the y offset. Offset2D -> Int32 y :: Int32 } deriving (Typeable, Offset2D -> Offset2D -> Bool (Offset2D -> Offset2D -> Bool) -> (Offset2D -> Offset2D -> Bool) -> Eq Offset2D forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Offset2D -> Offset2D -> Bool $c/= :: Offset2D -> Offset2D -> Bool == :: Offset2D -> Offset2D -> Bool $c== :: Offset2D -> Offset2D -> Bool Eq) #if defined(GENERIC_INSTANCES) deriving instance Generic (Offset2D) #endif deriving instance Show Offset2D instance ToCStruct Offset2D where withCStruct :: Offset2D -> (Ptr Offset2D -> IO b) -> IO b withCStruct x :: Offset2D x f :: Ptr Offset2D -> IO b f = Int -> Int -> (Ptr Offset2D -> IO b) -> IO b forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b allocaBytesAligned 8 4 ((Ptr Offset2D -> IO b) -> IO b) -> (Ptr Offset2D -> IO b) -> IO b forall a b. (a -> b) -> a -> b $ \p :: Ptr Offset2D p -> Ptr Offset2D -> Offset2D -> IO b -> IO b forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Offset2D p Offset2D x (Ptr Offset2D -> IO b f Ptr Offset2D p) pokeCStruct :: Ptr Offset2D -> Offset2D -> IO b -> IO b pokeCStruct p :: Ptr Offset2D p Offset2D{..} f :: IO b f = do Ptr Int32 -> Int32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset2D p Ptr Offset2D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Int32)) (Int32 x) Ptr Int32 -> Int32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset2D p Ptr Offset2D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 4 :: Ptr Int32)) (Int32 y) IO b f cStructSize :: Int cStructSize = 8 cStructAlignment :: Int cStructAlignment = 4 pokeZeroCStruct :: Ptr Offset2D -> IO b -> IO b pokeZeroCStruct p :: Ptr Offset2D p f :: IO b f = do Ptr Int32 -> Int32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset2D p Ptr Offset2D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Int32)) (Int32 forall a. Zero a => a zero) Ptr Int32 -> Int32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset2D p Ptr Offset2D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 4 :: Ptr Int32)) (Int32 forall a. Zero a => a zero) IO b f instance FromCStruct Offset2D where peekCStruct :: Ptr Offset2D -> IO Offset2D peekCStruct p :: Ptr Offset2D p = do Int32 x <- Ptr Int32 -> IO Int32 forall a. Storable a => Ptr a -> IO a peek @Int32 ((Ptr Offset2D p Ptr Offset2D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Int32)) Int32 y <- Ptr Int32 -> IO Int32 forall a. Storable a => Ptr a -> IO a peek @Int32 ((Ptr Offset2D p Ptr Offset2D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 4 :: Ptr Int32)) Offset2D -> IO Offset2D forall (f :: * -> *) a. Applicative f => a -> f a pure (Offset2D -> IO Offset2D) -> Offset2D -> IO Offset2D forall a b. (a -> b) -> a -> b $ Int32 -> Int32 -> Offset2D Offset2D Int32 x Int32 y instance Storable Offset2D where sizeOf :: Offset2D -> Int sizeOf ~Offset2D _ = 8 alignment :: Offset2D -> Int alignment ~Offset2D _ = 4 peek :: Ptr Offset2D -> IO Offset2D peek = Ptr Offset2D -> IO Offset2D forall a. FromCStruct a => Ptr a -> IO a peekCStruct poke :: Ptr Offset2D -> Offset2D -> IO () poke ptr :: Ptr Offset2D ptr poked :: Offset2D poked = Ptr Offset2D -> Offset2D -> IO () -> IO () forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Offset2D ptr Offset2D poked (() -> IO () forall (f :: * -> *) a. Applicative f => a -> f a pure ()) instance Zero Offset2D where zero :: Offset2D zero = Int32 -> Int32 -> Offset2D Offset2D Int32 forall a. Zero a => a zero Int32 forall a. Zero a => a zero -- | VkOffset3D - Structure specifying a three-dimensional offset -- -- = See Also -- -- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy', -- 'Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR', -- 'Vulkan.Core10.CommandBufferBuilding.ImageBlit', -- 'Vulkan.Extensions.VK_KHR_copy_commands2.ImageBlit2KHR', -- 'Vulkan.Core10.CommandBufferBuilding.ImageCopy', -- 'Vulkan.Extensions.VK_KHR_copy_commands2.ImageCopy2KHR', -- 'Vulkan.Core10.CommandBufferBuilding.ImageResolve', -- 'Vulkan.Extensions.VK_KHR_copy_commands2.ImageResolve2KHR', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind' data Offset3D = Offset3D { -- | @x@ is the x offset. Offset3D -> Int32 x :: Int32 , -- | @y@ is the y offset. Offset3D -> Int32 y :: Int32 , -- | @z@ is the z offset. Offset3D -> Int32 z :: Int32 } deriving (Typeable, Offset3D -> Offset3D -> Bool (Offset3D -> Offset3D -> Bool) -> (Offset3D -> Offset3D -> Bool) -> Eq Offset3D forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Offset3D -> Offset3D -> Bool $c/= :: Offset3D -> Offset3D -> Bool == :: Offset3D -> Offset3D -> Bool $c== :: Offset3D -> Offset3D -> Bool Eq) #if defined(GENERIC_INSTANCES) deriving instance Generic (Offset3D) #endif deriving instance Show Offset3D instance ToCStruct Offset3D where withCStruct :: Offset3D -> (Ptr Offset3D -> IO b) -> IO b withCStruct x :: Offset3D x f :: Ptr Offset3D -> IO b f = Int -> Int -> (Ptr Offset3D -> IO b) -> IO b forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b allocaBytesAligned 12 4 ((Ptr Offset3D -> IO b) -> IO b) -> (Ptr Offset3D -> IO b) -> IO b forall a b. (a -> b) -> a -> b $ \p :: Ptr Offset3D p -> Ptr Offset3D -> Offset3D -> IO b -> IO b forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Offset3D p Offset3D x (Ptr Offset3D -> IO b f Ptr Offset3D p) pokeCStruct :: Ptr Offset3D -> Offset3D -> IO b -> IO b pokeCStruct p :: Ptr Offset3D p Offset3D{..} f :: IO b f = do Ptr Int32 -> Int32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset3D p Ptr Offset3D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Int32)) (Int32 x) Ptr Int32 -> Int32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset3D p Ptr Offset3D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 4 :: Ptr Int32)) (Int32 y) Ptr Int32 -> Int32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset3D p Ptr Offset3D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 8 :: Ptr Int32)) (Int32 z) IO b f cStructSize :: Int cStructSize = 12 cStructAlignment :: Int cStructAlignment = 4 pokeZeroCStruct :: Ptr Offset3D -> IO b -> IO b pokeZeroCStruct p :: Ptr Offset3D p f :: IO b f = do Ptr Int32 -> Int32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset3D p Ptr Offset3D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Int32)) (Int32 forall a. Zero a => a zero) Ptr Int32 -> Int32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset3D p Ptr Offset3D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 4 :: Ptr Int32)) (Int32 forall a. Zero a => a zero) Ptr Int32 -> Int32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset3D p Ptr Offset3D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 8 :: Ptr Int32)) (Int32 forall a. Zero a => a zero) IO b f instance FromCStruct Offset3D where peekCStruct :: Ptr Offset3D -> IO Offset3D peekCStruct p :: Ptr Offset3D p = do Int32 x <- Ptr Int32 -> IO Int32 forall a. Storable a => Ptr a -> IO a peek @Int32 ((Ptr Offset3D p Ptr Offset3D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Int32)) Int32 y <- Ptr Int32 -> IO Int32 forall a. Storable a => Ptr a -> IO a peek @Int32 ((Ptr Offset3D p Ptr Offset3D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 4 :: Ptr Int32)) Int32 z <- Ptr Int32 -> IO Int32 forall a. Storable a => Ptr a -> IO a peek @Int32 ((Ptr Offset3D p Ptr Offset3D -> Int -> Ptr Int32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 8 :: Ptr Int32)) Offset3D -> IO Offset3D forall (f :: * -> *) a. Applicative f => a -> f a pure (Offset3D -> IO Offset3D) -> Offset3D -> IO Offset3D forall a b. (a -> b) -> a -> b $ Int32 -> Int32 -> Int32 -> Offset3D Offset3D Int32 x Int32 y Int32 z instance Storable Offset3D where sizeOf :: Offset3D -> Int sizeOf ~Offset3D _ = 12 alignment :: Offset3D -> Int alignment ~Offset3D _ = 4 peek :: Ptr Offset3D -> IO Offset3D peek = Ptr Offset3D -> IO Offset3D forall a. FromCStruct a => Ptr a -> IO a peekCStruct poke :: Ptr Offset3D -> Offset3D -> IO () poke ptr :: Ptr Offset3D ptr poked :: Offset3D poked = Ptr Offset3D -> Offset3D -> IO () -> IO () forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Offset3D ptr Offset3D poked (() -> IO () forall (f :: * -> *) a. Applicative f => a -> f a pure ()) instance Zero Offset3D where zero :: Offset3D zero = Int32 -> Int32 -> Int32 -> Offset3D Offset3D Int32 forall a. Zero a => a zero Int32 forall a. Zero a => a zero Int32 forall a. Zero a => a zero -- | VkExtent2D - Structure specifying a two-dimensional extent -- -- = See Also -- -- 'Vulkan.Extensions.VK_KHR_display.DisplayModeParametersKHR', -- 'Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR', -- 'Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR', -- 'Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateInfoKHR', -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateAttachmentInfoKHR', -- 'Vulkan.Extensions.VK_EXT_sample_locations.MultisamplePropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapPropertiesEXT', -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateKHR', -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRatePropertiesKHR', -- 'Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT', -- 'Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImagePropertiesNV', -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.PipelineFragmentShadingRateStateCreateInfoKHR', -- 'Rect2D', 'Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR', -- 'Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT', -- 'Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCapabilities2EXT', -- 'Vulkan.Extensions.VK_KHR_surface.SurfaceCapabilitiesKHR', -- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR', -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.cmdSetFragmentShadingRateKHR', -- 'Vulkan.Core10.Pass.getRenderAreaGranularity' data Extent2D = Extent2D { -- | @width@ is the width of the extent. Extent2D -> Word32 width :: Word32 , -- | @height@ is the height of the extent. Extent2D -> Word32 height :: Word32 } deriving (Typeable, Extent2D -> Extent2D -> Bool (Extent2D -> Extent2D -> Bool) -> (Extent2D -> Extent2D -> Bool) -> Eq Extent2D forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Extent2D -> Extent2D -> Bool $c/= :: Extent2D -> Extent2D -> Bool == :: Extent2D -> Extent2D -> Bool $c== :: Extent2D -> Extent2D -> Bool Eq) #if defined(GENERIC_INSTANCES) deriving instance Generic (Extent2D) #endif deriving instance Show Extent2D instance ToCStruct Extent2D where withCStruct :: Extent2D -> (Ptr Extent2D -> IO b) -> IO b withCStruct x :: Extent2D x f :: Ptr Extent2D -> IO b f = Int -> Int -> (Ptr Extent2D -> IO b) -> IO b forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b allocaBytesAligned 8 4 ((Ptr Extent2D -> IO b) -> IO b) -> (Ptr Extent2D -> IO b) -> IO b forall a b. (a -> b) -> a -> b $ \p :: Ptr Extent2D p -> Ptr Extent2D -> Extent2D -> IO b -> IO b forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Extent2D p Extent2D x (Ptr Extent2D -> IO b f Ptr Extent2D p) pokeCStruct :: Ptr Extent2D -> Extent2D -> IO b -> IO b pokeCStruct p :: Ptr Extent2D p Extent2D{..} f :: IO b f = do Ptr Word32 -> Word32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent2D p Ptr Extent2D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Word32)) (Word32 width) Ptr Word32 -> Word32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent2D p Ptr Extent2D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 4 :: Ptr Word32)) (Word32 height) IO b f cStructSize :: Int cStructSize = 8 cStructAlignment :: Int cStructAlignment = 4 pokeZeroCStruct :: Ptr Extent2D -> IO b -> IO b pokeZeroCStruct p :: Ptr Extent2D p f :: IO b f = do Ptr Word32 -> Word32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent2D p Ptr Extent2D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Word32)) (Word32 forall a. Zero a => a zero) Ptr Word32 -> Word32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent2D p Ptr Extent2D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 4 :: Ptr Word32)) (Word32 forall a. Zero a => a zero) IO b f instance FromCStruct Extent2D where peekCStruct :: Ptr Extent2D -> IO Extent2D peekCStruct p :: Ptr Extent2D p = do Word32 width <- Ptr Word32 -> IO Word32 forall a. Storable a => Ptr a -> IO a peek @Word32 ((Ptr Extent2D p Ptr Extent2D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Word32)) Word32 height <- Ptr Word32 -> IO Word32 forall a. Storable a => Ptr a -> IO a peek @Word32 ((Ptr Extent2D p Ptr Extent2D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 4 :: Ptr Word32)) Extent2D -> IO Extent2D forall (f :: * -> *) a. Applicative f => a -> f a pure (Extent2D -> IO Extent2D) -> Extent2D -> IO Extent2D forall a b. (a -> b) -> a -> b $ Word32 -> Word32 -> Extent2D Extent2D Word32 width Word32 height instance Storable Extent2D where sizeOf :: Extent2D -> Int sizeOf ~Extent2D _ = 8 alignment :: Extent2D -> Int alignment ~Extent2D _ = 4 peek :: Ptr Extent2D -> IO Extent2D peek = Ptr Extent2D -> IO Extent2D forall a. FromCStruct a => Ptr a -> IO a peekCStruct poke :: Ptr Extent2D -> Extent2D -> IO () poke ptr :: Ptr Extent2D ptr poked :: Extent2D poked = Ptr Extent2D -> Extent2D -> IO () -> IO () forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Extent2D ptr Extent2D poked (() -> IO () forall (f :: * -> *) a. Applicative f => a -> f a pure ()) instance Zero Extent2D where zero :: Extent2D zero = Word32 -> Word32 -> Extent2D Extent2D Word32 forall a. Zero a => a zero Word32 forall a. Zero a => a zero -- | VkExtent3D - Structure specifying a three-dimensional extent -- -- = See Also -- -- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy', -- 'Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR', -- 'Vulkan.Core10.CommandBufferBuilding.ImageCopy', -- 'Vulkan.Extensions.VK_KHR_copy_commands2.ImageCopy2KHR', -- 'Vulkan.Core10.Image.ImageCreateInfo', -- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties', -- 'Vulkan.Core10.CommandBufferBuilding.ImageResolve', -- 'Vulkan.Extensions.VK_KHR_copy_commands2.ImageResolve2KHR', -- 'Vulkan.Core10.DeviceInitialization.QueueFamilyProperties', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageFormatProperties', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind' data Extent3D = Extent3D { -- | @width@ is the width of the extent. Extent3D -> Word32 width :: Word32 , -- | @height@ is the height of the extent. Extent3D -> Word32 height :: Word32 , -- | @depth@ is the depth of the extent. Extent3D -> Word32 depth :: Word32 } deriving (Typeable, Extent3D -> Extent3D -> Bool (Extent3D -> Extent3D -> Bool) -> (Extent3D -> Extent3D -> Bool) -> Eq Extent3D forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Extent3D -> Extent3D -> Bool $c/= :: Extent3D -> Extent3D -> Bool == :: Extent3D -> Extent3D -> Bool $c== :: Extent3D -> Extent3D -> Bool Eq) #if defined(GENERIC_INSTANCES) deriving instance Generic (Extent3D) #endif deriving instance Show Extent3D instance ToCStruct Extent3D where withCStruct :: Extent3D -> (Ptr Extent3D -> IO b) -> IO b withCStruct x :: Extent3D x f :: Ptr Extent3D -> IO b f = Int -> Int -> (Ptr Extent3D -> IO b) -> IO b forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b allocaBytesAligned 12 4 ((Ptr Extent3D -> IO b) -> IO b) -> (Ptr Extent3D -> IO b) -> IO b forall a b. (a -> b) -> a -> b $ \p :: Ptr Extent3D p -> Ptr Extent3D -> Extent3D -> IO b -> IO b forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Extent3D p Extent3D x (Ptr Extent3D -> IO b f Ptr Extent3D p) pokeCStruct :: Ptr Extent3D -> Extent3D -> IO b -> IO b pokeCStruct p :: Ptr Extent3D p Extent3D{..} f :: IO b f = do Ptr Word32 -> Word32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent3D p Ptr Extent3D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Word32)) (Word32 width) Ptr Word32 -> Word32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent3D p Ptr Extent3D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 4 :: Ptr Word32)) (Word32 height) Ptr Word32 -> Word32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent3D p Ptr Extent3D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 8 :: Ptr Word32)) (Word32 depth) IO b f cStructSize :: Int cStructSize = 12 cStructAlignment :: Int cStructAlignment = 4 pokeZeroCStruct :: Ptr Extent3D -> IO b -> IO b pokeZeroCStruct p :: Ptr Extent3D p f :: IO b f = do Ptr Word32 -> Word32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent3D p Ptr Extent3D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Word32)) (Word32 forall a. Zero a => a zero) Ptr Word32 -> Word32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent3D p Ptr Extent3D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 4 :: Ptr Word32)) (Word32 forall a. Zero a => a zero) Ptr Word32 -> Word32 -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent3D p Ptr Extent3D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 8 :: Ptr Word32)) (Word32 forall a. Zero a => a zero) IO b f instance FromCStruct Extent3D where peekCStruct :: Ptr Extent3D -> IO Extent3D peekCStruct p :: Ptr Extent3D p = do Word32 width <- Ptr Word32 -> IO Word32 forall a. Storable a => Ptr a -> IO a peek @Word32 ((Ptr Extent3D p Ptr Extent3D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Word32)) Word32 height <- Ptr Word32 -> IO Word32 forall a. Storable a => Ptr a -> IO a peek @Word32 ((Ptr Extent3D p Ptr Extent3D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 4 :: Ptr Word32)) Word32 depth <- Ptr Word32 -> IO Word32 forall a. Storable a => Ptr a -> IO a peek @Word32 ((Ptr Extent3D p Ptr Extent3D -> Int -> Ptr Word32 forall a b. Ptr a -> Int -> Ptr b `plusPtr` 8 :: Ptr Word32)) Extent3D -> IO Extent3D forall (f :: * -> *) a. Applicative f => a -> f a pure (Extent3D -> IO Extent3D) -> Extent3D -> IO Extent3D forall a b. (a -> b) -> a -> b $ Word32 -> Word32 -> Word32 -> Extent3D Extent3D Word32 width Word32 height Word32 depth instance Storable Extent3D where sizeOf :: Extent3D -> Int sizeOf ~Extent3D _ = 12 alignment :: Extent3D -> Int alignment ~Extent3D _ = 4 peek :: Ptr Extent3D -> IO Extent3D peek = Ptr Extent3D -> IO Extent3D forall a. FromCStruct a => Ptr a -> IO a peekCStruct poke :: Ptr Extent3D -> Extent3D -> IO () poke ptr :: Ptr Extent3D ptr poked :: Extent3D poked = Ptr Extent3D -> Extent3D -> IO () -> IO () forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Extent3D ptr Extent3D poked (() -> IO () forall (f :: * -> *) a. Applicative f => a -> f a pure ()) instance Zero Extent3D where zero :: Extent3D zero = Word32 -> Word32 -> Word32 -> Extent3D Extent3D Word32 forall a. Zero a => a zero Word32 forall a. Zero a => a zero Word32 forall a. Zero a => a zero -- | VkRect2D - Structure specifying a two-dimensional subregion -- -- = See Also -- -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindImageMemoryDeviceGroupInfo', -- 'Vulkan.Core10.CommandBufferBuilding.ClearRect', -- 'Vulkan.Extensions.VK_QCOM_render_pass_transform.CommandBufferInheritanceRenderPassTransformInfoQCOM', -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupRenderPassBeginInfo', -- 'Vulkan.Extensions.VK_KHR_display_swapchain.DisplayPresentInfoKHR', -- 'Extent2D', 'Offset2D', -- 'Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateInfoEXT', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PipelineViewportExclusiveScissorStateCreateInfoNV', -- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo', -- 'Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo', -- 'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.cmdSetExclusiveScissorNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetScissor', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT', -- 'Vulkan.Extensions.VK_KHR_swapchain.getPhysicalDevicePresentRectanglesKHR' data Rect2D = Rect2D { -- | @offset@ is a 'Offset2D' specifying the rectangle offset. Rect2D -> Offset2D offset :: Offset2D , -- | @extent@ is a 'Extent2D' specifying the rectangle extent. Rect2D -> Extent2D extent :: Extent2D } deriving (Typeable) #if defined(GENERIC_INSTANCES) deriving instance Generic (Rect2D) #endif deriving instance Show Rect2D instance ToCStruct Rect2D where withCStruct :: Rect2D -> (Ptr Rect2D -> IO b) -> IO b withCStruct x :: Rect2D x f :: Ptr Rect2D -> IO b f = Int -> Int -> (Ptr Rect2D -> IO b) -> IO b forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b allocaBytesAligned 16 4 ((Ptr Rect2D -> IO b) -> IO b) -> (Ptr Rect2D -> IO b) -> IO b forall a b. (a -> b) -> a -> b $ \p :: Ptr Rect2D p -> Ptr Rect2D -> Rect2D -> IO b -> IO b forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Rect2D p Rect2D x (Ptr Rect2D -> IO b f Ptr Rect2D p) pokeCStruct :: Ptr Rect2D -> Rect2D -> IO b -> IO b pokeCStruct p :: Ptr Rect2D p Rect2D{..} f :: IO b f = do Ptr Offset2D -> Offset2D -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Rect2D p Ptr Rect2D -> Int -> Ptr Offset2D forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Offset2D)) (Offset2D offset) Ptr Extent2D -> Extent2D -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Rect2D p Ptr Rect2D -> Int -> Ptr Extent2D forall a b. Ptr a -> Int -> Ptr b `plusPtr` 8 :: Ptr Extent2D)) (Extent2D extent) IO b f cStructSize :: Int cStructSize = 16 cStructAlignment :: Int cStructAlignment = 4 pokeZeroCStruct :: Ptr Rect2D -> IO b -> IO b pokeZeroCStruct p :: Ptr Rect2D p f :: IO b f = do Ptr Offset2D -> Offset2D -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Rect2D p Ptr Rect2D -> Int -> Ptr Offset2D forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Offset2D)) (Offset2D forall a. Zero a => a zero) Ptr Extent2D -> Extent2D -> IO () forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Rect2D p Ptr Rect2D -> Int -> Ptr Extent2D forall a b. Ptr a -> Int -> Ptr b `plusPtr` 8 :: Ptr Extent2D)) (Extent2D forall a. Zero a => a zero) IO b f instance FromCStruct Rect2D where peekCStruct :: Ptr Rect2D -> IO Rect2D peekCStruct p :: Ptr Rect2D p = do Offset2D offset <- Ptr Offset2D -> IO Offset2D forall a. FromCStruct a => Ptr a -> IO a peekCStruct @Offset2D ((Ptr Rect2D p Ptr Rect2D -> Int -> Ptr Offset2D forall a b. Ptr a -> Int -> Ptr b `plusPtr` 0 :: Ptr Offset2D)) Extent2D extent <- Ptr Extent2D -> IO Extent2D forall a. FromCStruct a => Ptr a -> IO a peekCStruct @Extent2D ((Ptr Rect2D p Ptr Rect2D -> Int -> Ptr Extent2D forall a b. Ptr a -> Int -> Ptr b `plusPtr` 8 :: Ptr Extent2D)) Rect2D -> IO Rect2D forall (f :: * -> *) a. Applicative f => a -> f a pure (Rect2D -> IO Rect2D) -> Rect2D -> IO Rect2D forall a b. (a -> b) -> a -> b $ Offset2D -> Extent2D -> Rect2D Rect2D Offset2D offset Extent2D extent instance Storable Rect2D where sizeOf :: Rect2D -> Int sizeOf ~Rect2D _ = 16 alignment :: Rect2D -> Int alignment ~Rect2D _ = 4 peek :: Ptr Rect2D -> IO Rect2D peek = Ptr Rect2D -> IO Rect2D forall a. FromCStruct a => Ptr a -> IO a peekCStruct poke :: Ptr Rect2D -> Rect2D -> IO () poke ptr :: Ptr Rect2D ptr poked :: Rect2D poked = Ptr Rect2D -> Rect2D -> IO () -> IO () forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Rect2D ptr Rect2D poked (() -> IO () forall (f :: * -> *) a. Applicative f => a -> f a pure ()) instance Zero Rect2D where zero :: Rect2D zero = Offset2D -> Extent2D -> Rect2D Rect2D Offset2D forall a. Zero a => a zero Extent2D forall a. Zero a => a zero -- | VkBool32 - Vulkan boolean type -- -- = Description -- -- 'TRUE' represents a boolean __True__ (integer 1) value, and 'FALSE' a -- boolean __False__ (integer 0) value. -- -- All values returned from a Vulkan implementation in a 'Bool32' will be -- either 'TRUE' or 'FALSE'. -- -- Applications /must/ not pass any other values than 'TRUE' or 'FALSE' -- into a Vulkan implementation where a 'Bool32' is expected. -- -- = See Also -- -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryInstancesDataKHR', -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.CommandBufferInheritanceConditionalRenderingInfoEXT', -- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo', -- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV', -- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV', -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.DescriptorSetLayoutSupport', -- 'Vulkan.Extensions.VK_AMD_display_native_hdr.DisplayNativeHdrSurfaceCapabilitiesAMD', -- 'Vulkan.Extensions.VK_KHR_display_swapchain.DisplayPresentInfoKHR', -- 'Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR', -- 'Vulkan.Extensions.VK_EXT_filter_cubic.FilterCubicImageViewImageFormatPropertiesEXT', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutTokenNV', -- 'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedRequirements', -- 'Vulkan.Extensions.VK_INTEL_performance_query.PerformanceOverrideInfoINTEL', -- 'Vulkan.Extensions.VK_INTEL_performance_query.PerformanceValueDataINTEL', -- 'Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage.PhysicalDevice16BitStorageFeatures', -- 'Vulkan.Extensions.VK_EXT_4444_formats.PhysicalDevice4444FormatsFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage.PhysicalDevice8BitStorageFeatures', -- 'Vulkan.Extensions.VK_EXT_astc_decode_mode.PhysicalDeviceASTCDecodeFeaturesEXT', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructureFeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeatures', -- 'Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT', -- 'Vulkan.Extensions.VK_AMD_device_coherent_memory.PhysicalDeviceCoherentMemoryFeaturesAMD', -- 'Vulkan.Extensions.VK_NV_compute_shader_derivatives.PhysicalDeviceComputeShaderDerivativesFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.PhysicalDeviceConditionalRenderingFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_conservative_rasterization.PhysicalDeviceConservativeRasterizationPropertiesEXT', -- 'Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV', -- 'Vulkan.Extensions.VK_NV_corner_sampled_image.PhysicalDeviceCornerSampledImageFeaturesNV', -- 'Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing.PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties', -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures', -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_device_memory_report.PhysicalDeviceDeviceMemoryReportFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.PhysicalDeviceExtendedDynamicStateFeaturesEXT', -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls.PhysicalDeviceFloatControlsProperties', -- 'Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2FeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_fragment_density_map2.PhysicalDeviceFragmentDensityMap2PropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapPropertiesEXT', -- 'Vulkan.Extensions.VK_NV_fragment_shader_barycentric.PhysicalDeviceFragmentShaderBarycentricFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_fragment_shader_interlock.PhysicalDeviceFragmentShaderInterlockFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PhysicalDeviceFragmentShadingRateEnumsFeaturesNV', -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRateFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.PhysicalDeviceFragmentShadingRatePropertiesKHR', -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.PhysicalDeviceGroupProperties', -- 'Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset.PhysicalDeviceHostQueryResetFeatures', -- 'Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities.PhysicalDeviceIDProperties', -- 'Vulkan.Extensions.VK_EXT_image_robustness.PhysicalDeviceImageRobustnessFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures', -- 'Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeaturesEXT', -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits', -- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV', -- 'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures', -- 'Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX', -- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE', -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR', -- 'Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT', -- 'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT', -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures', -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryProperties', -- 'Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR', -- 'Vulkan.Extensions.VK_NV_representative_fragment_test.PhysicalDeviceRepresentativeFragmentTestFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2FeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_sample_locations.PhysicalDeviceSampleLocationsPropertiesEXT', -- 'Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.PhysicalDeviceSamplerFilterMinmaxProperties', -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.PhysicalDeviceSamplerYcbcrConversionFeatures', -- 'Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout.PhysicalDeviceScalarBlockLayoutFeatures', -- 'Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.PhysicalDeviceSeparateDepthStencilLayoutsFeatures', -- 'Vulkan.Extensions.VK_EXT_shader_atomic_float.PhysicalDeviceShaderAtomicFloatFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64.PhysicalDeviceShaderAtomicInt64Features', -- 'Vulkan.Extensions.VK_KHR_shader_clock.PhysicalDeviceShaderClockFeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features', -- 'Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT', -- 'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV', -- 'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL', -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures', -- 'Vulkan.Extensions.VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeaturesKHR', -- 'Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImageFeaturesNV', -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceSparseProperties', -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup.PhysicalDeviceSubgroupProperties', -- 'Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr.PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreFeatures', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout.PhysicalDeviceUniformBufferStandardLayoutFeatures', -- 'Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers.PhysicalDeviceVariablePointersFeatures', -- 'Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorFeaturesEXT', -- 'Vulkan.Core12.PhysicalDeviceVulkan11Features', -- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties', -- 'Vulkan.Core12.PhysicalDeviceVulkan12Features', -- 'Vulkan.Core12.PhysicalDeviceVulkan12Properties', -- 'Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model.PhysicalDeviceVulkanMemoryModelFeatures', -- 'Vulkan.Extensions.VK_EXT_ycbcr_image_arrays.PhysicalDeviceYcbcrImageArraysFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PipelineColorBlendAdvancedStateCreateInfoEXT', -- 'Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState', -- 'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo', -- 'Vulkan.Extensions.VK_NV_framebuffer_mixed_samples.PipelineCoverageModulationStateCreateInfoNV', -- 'Vulkan.Extensions.VK_NV_fragment_coverage_to_color.PipelineCoverageToColorStateCreateInfoNV', -- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo', -- 'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableInternalRepresentationKHR', -- 'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PipelineExecutableStatisticValueKHR', -- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo', -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo', -- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT', -- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT', -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo', -- 'Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV', -- 'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT', -- 'Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportShadingRateImageStateCreateInfoNV', -- 'Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV', -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo', -- 'Vulkan.Core10.Sampler.SamplerCreateInfo', -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo', -- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceCapabilitiesFullScreenExclusiveEXT', -- 'Vulkan.Extensions.VK_KHR_surface_protected_capabilities.SurfaceProtectedCapabilitiesKHR', -- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR', -- 'Vulkan.Extensions.VK_AMD_display_native_hdr.SwapchainDisplayNativeHdrCreateInfoAMD', -- 'Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD', -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdExecuteGeneratedCommandsNV', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthBoundsTestEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilTestEnableEXT', -- 'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR', -- 'Vulkan.Extensions.VK_AMD_display_native_hdr.setLocalDimmingAMD', -- 'Vulkan.Core10.Fence.waitForFences' newtype Bool32 = Bool32 Int32 deriving newtype (Bool32 -> Bool32 -> Bool (Bool32 -> Bool32 -> Bool) -> (Bool32 -> Bool32 -> Bool) -> Eq Bool32 forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Bool32 -> Bool32 -> Bool $c/= :: Bool32 -> Bool32 -> Bool == :: Bool32 -> Bool32 -> Bool $c== :: Bool32 -> Bool32 -> Bool Eq, Eq Bool32 Eq Bool32 => (Bool32 -> Bool32 -> Ordering) -> (Bool32 -> Bool32 -> Bool) -> (Bool32 -> Bool32 -> Bool) -> (Bool32 -> Bool32 -> Bool) -> (Bool32 -> Bool32 -> Bool) -> (Bool32 -> Bool32 -> Bool32) -> (Bool32 -> Bool32 -> Bool32) -> Ord Bool32 Bool32 -> Bool32 -> Bool Bool32 -> Bool32 -> Ordering Bool32 -> Bool32 -> Bool32 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 min :: Bool32 -> Bool32 -> Bool32 $cmin :: Bool32 -> Bool32 -> Bool32 max :: Bool32 -> Bool32 -> Bool32 $cmax :: Bool32 -> Bool32 -> Bool32 >= :: Bool32 -> Bool32 -> Bool $c>= :: Bool32 -> Bool32 -> Bool > :: Bool32 -> Bool32 -> Bool $c> :: Bool32 -> Bool32 -> Bool <= :: Bool32 -> Bool32 -> Bool $c<= :: Bool32 -> Bool32 -> Bool < :: Bool32 -> Bool32 -> Bool $c< :: Bool32 -> Bool32 -> Bool compare :: Bool32 -> Bool32 -> Ordering $ccompare :: Bool32 -> Bool32 -> Ordering $cp1Ord :: Eq Bool32 Ord, Ptr b -> Int -> IO Bool32 Ptr b -> Int -> Bool32 -> IO () Ptr Bool32 -> IO Bool32 Ptr Bool32 -> Int -> IO Bool32 Ptr Bool32 -> Int -> Bool32 -> IO () Ptr Bool32 -> Bool32 -> IO () Bool32 -> Int (Bool32 -> Int) -> (Bool32 -> Int) -> (Ptr Bool32 -> Int -> IO Bool32) -> (Ptr Bool32 -> Int -> Bool32 -> IO ()) -> (forall b. Ptr b -> Int -> IO Bool32) -> (forall b. Ptr b -> Int -> Bool32 -> IO ()) -> (Ptr Bool32 -> IO Bool32) -> (Ptr Bool32 -> Bool32 -> IO ()) -> Storable Bool32 forall b. Ptr b -> Int -> IO Bool32 forall b. Ptr b -> Int -> Bool32 -> 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 poke :: Ptr Bool32 -> Bool32 -> IO () $cpoke :: Ptr Bool32 -> Bool32 -> IO () peek :: Ptr Bool32 -> IO Bool32 $cpeek :: Ptr Bool32 -> IO Bool32 pokeByteOff :: Ptr b -> Int -> Bool32 -> IO () $cpokeByteOff :: forall b. Ptr b -> Int -> Bool32 -> IO () peekByteOff :: Ptr b -> Int -> IO Bool32 $cpeekByteOff :: forall b. Ptr b -> Int -> IO Bool32 pokeElemOff :: Ptr Bool32 -> Int -> Bool32 -> IO () $cpokeElemOff :: Ptr Bool32 -> Int -> Bool32 -> IO () peekElemOff :: Ptr Bool32 -> Int -> IO Bool32 $cpeekElemOff :: Ptr Bool32 -> Int -> IO Bool32 alignment :: Bool32 -> Int $calignment :: Bool32 -> Int sizeOf :: Bool32 -> Int $csizeOf :: Bool32 -> Int Storable, Bool32 Bool32 -> Zero Bool32 forall a. a -> Zero a zero :: Bool32 $czero :: Bool32 Zero) -- No documentation found for Nested "VkBool32" "VK_FALSE" pattern $bFALSE :: Bool32 $mFALSE :: forall r. Bool32 -> (Void# -> r) -> (Void# -> r) -> r FALSE = Bool32 0 -- No documentation found for Nested "VkBool32" "VK_TRUE" pattern $bTRUE :: Bool32 $mTRUE :: forall r. Bool32 -> (Void# -> r) -> (Void# -> r) -> r TRUE = Bool32 1 {-# complete FALSE, TRUE :: Bool32 #-} conNameBool32 :: String conNameBool32 :: String conNameBool32 = "Bool32" enumPrefixBool32 :: String enumPrefixBool32 :: String enumPrefixBool32 = "" showTableBool32 :: [(Bool32, String)] showTableBool32 :: [(Bool32, String)] showTableBool32 = [(Bool32 FALSE, "FALSE"), (Bool32 TRUE, "TRUE")] instance Show Bool32 where showsPrec :: Int -> Bool32 -> ShowS showsPrec = String -> [(Bool32, String)] -> String -> (Bool32 -> Int32) -> (Int32 -> ShowS) -> Int -> Bool32 -> ShowS forall a i. Eq a => String -> [(a, String)] -> String -> (a -> i) -> (i -> ShowS) -> Int -> a -> ShowS enumShowsPrec String enumPrefixBool32 [(Bool32, String)] showTableBool32 String conNameBool32 (\(Bool32 x :: Int32 x) -> Int32 x) (Int -> Int32 -> ShowS forall a. Show a => Int -> a -> ShowS showsPrec 11) instance Read Bool32 where readPrec :: ReadPrec Bool32 readPrec = String -> [(Bool32, String)] -> String -> (Int32 -> Bool32) -> ReadPrec Bool32 forall i a. Read i => String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a enumReadPrec String enumPrefixBool32 [(Bool32, String)] showTableBool32 String conNameBool32 Int32 -> Bool32 Bool32 -- | VkSampleMask - Mask of sample coverage information -- -- = See Also -- -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo' type SampleMask = Word32 -- | VkFlags - Vulkan bitmasks -- -- = Description -- -- Bitmasks are passed to many commands and structures to compactly -- represent options, but 'Flags' is not used directly in the API. Instead, -- a @Vk*Flags@ type which is an alias of 'Flags', and whose name matches -- the corresponding @Vk*FlagBits@ that are valid for that type, is used. -- -- Any @Vk*Flags@ member or parameter used in the API as an input /must/ be -- a valid combination of bit flags. A valid combination is either zero or -- the bitwise OR of valid bit flags. A bit flag is valid if: -- -- - The bit flag is defined as part of the @Vk*FlagBits@ type, where the -- bits type is obtained by taking the flag type and replacing the -- trailing 'Flags' with @FlagBits@. For example, a flag value of type -- 'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlags' -- /must/ contain only bit flags defined by -- 'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlagBits'. -- -- - The flag is allowed in the context in which it is being used. For -- example, in some cases, certain bit flags or combinations of bit -- flags are mutually exclusive. -- -- Any @Vk*Flags@ member or parameter returned from a query command or -- otherwise output from Vulkan to the application /may/ contain bit flags -- undefined in its corresponding @Vk*FlagBits@ type. An application -- /cannot/ rely on the state of these unspecified bits. -- -- Only the low-order 31 bits (bit positions zero through 30) are available -- for use as flag bits. -- -- Note -- -- This restriction is due to poorly defined behavior by C compilers given -- a C enumerant value of @0x80000000@. In some cases adding this enumerant -- value may increase the size of the underlying @Vk*FlagBits@ type, -- breaking the ABI. -- -- = See Also -- -- 'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlags' type Flags = Word32 -- | VkDeviceSize - Vulkan device memory size and offsets -- -- = See Also -- -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildSizesInfoKHR', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryAabbsDataKHR', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryTrianglesDataKHR', -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferPropertiesANDROID', -- 'Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV', -- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo', -- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo', -- 'Vulkan.Core10.CommandBufferBuilding.BufferCopy', -- 'Vulkan.Extensions.VK_KHR_copy_commands2.BufferCopy2KHR', -- 'Vulkan.Core10.Buffer.BufferCreateInfo', -- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy', -- 'Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR', -- 'Vulkan.Core10.OtherTypes.BufferMemoryBarrier', -- 'Vulkan.Core10.BufferView.BufferViewCreateInfo', -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT', -- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo', -- 'Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV', -- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryAABBNV', -- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV', -- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties', -- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsStreamNV', -- 'Vulkan.Core10.Memory.MappedMemoryRange', -- 'Vulkan.Core10.Memory.MemoryAllocateInfo', -- 'Vulkan.Core10.DeviceInitialization.MemoryHeap', -- 'Vulkan.Core10.MemoryManagement.MemoryRequirements', -- 'Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT', -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits', -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties', -- 'Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT', -- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.StridedDeviceAddressRegionKHR', -- 'Vulkan.Core10.Image.SubresourceLayout', -- 'Vulkan.Core10.MemoryManagement.bindBufferMemory', -- 'Vulkan.Core10.MemoryManagement.bindImageMemory', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBeginTransformFeedbackEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBindTransformFeedbackBuffersEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindVertexBuffers', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT', -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults', -- 'Vulkan.Core10.CommandBufferBuilding.cmdDispatchIndirect', -- 'Vulkan.Core10.CommandBufferBuilding.cmdDrawIndexedIndirect', -- 'Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count.cmdDrawIndexedIndirectCount', -- 'Vulkan.Extensions.VK_AMD_draw_indirect_count.cmdDrawIndexedIndirectCountAMD', -- 'Vulkan.Extensions.VK_KHR_draw_indirect_count.cmdDrawIndexedIndirectCountKHR', -- 'Vulkan.Core10.CommandBufferBuilding.cmdDrawIndirect', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdDrawIndirectByteCountEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count.cmdDrawIndirectCount', -- 'Vulkan.Extensions.VK_AMD_draw_indirect_count.cmdDrawIndirectCountAMD', -- 'Vulkan.Extensions.VK_KHR_draw_indirect_count.cmdDrawIndirectCountKHR', -- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectCountNV', -- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectNV', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdEndTransformFeedbackEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdFillBuffer', -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdTraceRaysNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdUpdateBuffer', -- 'Vulkan.Extensions.VK_AMD_buffer_marker.cmdWriteBufferMarkerAMD', -- 'Vulkan.Core10.Memory.getDeviceMemoryCommitment', -- 'Vulkan.Core10.Query.getQueryPoolResults', -- 'Vulkan.Core10.Memory.mapMemory' type DeviceSize = Word64 -- | VkDeviceAddress - Vulkan device address type -- -- = See Also -- -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV', -- 'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressConstKHR', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressKHR', -- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewAddressPropertiesNVX', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.StridedDeviceAddressRegionKHR', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.cmdBuildAccelerationStructuresIndirectKHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.cmdTraceRaysIndirectKHR' type DeviceAddress = Word64