{-# language CPP #-} -- No documentation found for Chapter "FundamentalTypes" module Vulkan.Core10.FundamentalTypes ( boolToBool32 , bool32ToBool , Offset2D(..) , Offset3D(..) , Extent2D(..) , Extent3D(..) , Rect2D(..) , Bool32( FALSE , TRUE , .. ) , SampleMask , Flags , Flags64 , DeviceSize , DeviceAddress , StructureType(..) , Result(..) ) where import Vulkan.Internal.Utils (enumReadPrec) import Vulkan.Internal.Utils (enumShowsPrec) import Data.Bool (bool) import Foreign.Marshal.Alloc (allocaBytes) 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 = forall a. a -> a -> Bool -> a bool Bool32 FALSE Bool32 TRUE bool32ToBool :: Bool32 -> Bool bool32ToBool :: Bool32 -> Bool bool32ToBool = \case Bool32 FALSE -> Bool False Bool32 TRUE -> Bool True -- | VkOffset2D - Structure specifying a two-dimensional offset -- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- 'Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR', -- 'Vulkan.Extensions.VK_QCOM_image_processing.ImageViewSampleWeightCreateInfoQCOM', -- 'Rect2D', 'Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR', -- 'Vulkan.Extensions.VK_QCOM_fragment_density_map_offset.SubpassFragmentDensityMapOffsetEndInfoQCOM', -- 'Vulkan.Extensions.VK_QCOM_tile_properties.TilePropertiesQCOM', -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264CapabilitiesKHR VkVideoDecodeH264CapabilitiesKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoPictureResourceInfoKHR VkVideoPictureResourceInfoKHR> 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 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 :: forall b. Offset2D -> (Ptr Offset2D -> IO b) -> IO b withCStruct Offset2D x Ptr Offset2D -> IO b f = forall a b. Int -> (Ptr a -> IO b) -> IO b allocaBytes Int 8 forall a b. (a -> b) -> a -> b $ \Ptr Offset2D p -> 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 :: forall b. Ptr Offset2D -> Offset2D -> IO b -> IO b pokeCStruct Ptr Offset2D p Offset2D{Int32 y :: Int32 x :: Int32 $sel:y:Offset2D :: Offset2D -> Int32 $sel:x:Offset2D :: Offset2D -> Int32 ..} IO b f = do forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Int32)) (Int32 x) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 4 :: Ptr Int32)) (Int32 y) IO b f cStructSize :: Int cStructSize = Int 8 cStructAlignment :: Int cStructAlignment = Int 4 pokeZeroCStruct :: forall b. Ptr Offset2D -> IO b -> IO b pokeZeroCStruct Ptr Offset2D p IO b f = do forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Int32)) (forall a. Zero a => a zero) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 4 :: Ptr Int32)) (forall a. Zero a => a zero) IO b f instance FromCStruct Offset2D where peekCStruct :: Ptr Offset2D -> IO Offset2D peekCStruct Ptr Offset2D p = do Int32 x <- forall a. Storable a => Ptr a -> IO a peek @Int32 ((Ptr Offset2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Int32)) Int32 y <- forall a. Storable a => Ptr a -> IO a peek @Int32 ((Ptr Offset2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 4 :: Ptr Int32)) forall (f :: * -> *) a. Applicative f => a -> f a pure forall a b. (a -> b) -> a -> b $ Int32 -> Int32 -> Offset2D Offset2D Int32 x Int32 y instance Storable Offset2D where sizeOf :: Offset2D -> Int sizeOf ~Offset2D _ = Int 8 alignment :: Offset2D -> Int alignment ~Offset2D _ = Int 4 peek :: Ptr Offset2D -> IO Offset2D peek = forall a. FromCStruct a => Ptr a -> IO a peekCStruct poke :: Ptr Offset2D -> Offset2D -> IO () poke Ptr Offset2D ptr Offset2D poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Offset2D ptr Offset2D poked (forall (f :: * -> *) a. Applicative f => a -> f a pure ()) instance Zero Offset2D where zero :: Offset2D zero = Int32 -> Int32 -> Offset2D Offset2D forall a. Zero a => a zero forall a. Zero a => a zero -- | VkOffset3D - Structure specifying a three-dimensional offset -- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BufferImageCopy2', -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV', -- 'Vulkan.Core10.CommandBufferBuilding.ImageBlit', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageBlit2', -- 'Vulkan.Core10.CommandBufferBuilding.ImageCopy', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageCopy2', -- 'Vulkan.Core10.CommandBufferBuilding.ImageResolve', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageResolve2', -- 'Vulkan.Extensions.VK_EXT_host_image_copy.ImageToMemoryCopyEXT', -- 'Vulkan.Extensions.VK_EXT_host_image_copy.MemoryToImageCopyEXT', -- '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 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 :: forall b. Offset3D -> (Ptr Offset3D -> IO b) -> IO b withCStruct Offset3D x Ptr Offset3D -> IO b f = forall a b. Int -> (Ptr a -> IO b) -> IO b allocaBytes Int 12 forall a b. (a -> b) -> a -> b $ \Ptr Offset3D p -> 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 :: forall b. Ptr Offset3D -> Offset3D -> IO b -> IO b pokeCStruct Ptr Offset3D p Offset3D{Int32 z :: Int32 y :: Int32 x :: Int32 $sel:z:Offset3D :: Offset3D -> Int32 $sel:y:Offset3D :: Offset3D -> Int32 $sel:x:Offset3D :: Offset3D -> Int32 ..} IO b f = do forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Int32)) (Int32 x) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 4 :: Ptr Int32)) (Int32 y) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 8 :: Ptr Int32)) (Int32 z) IO b f cStructSize :: Int cStructSize = Int 12 cStructAlignment :: Int cStructAlignment = Int 4 pokeZeroCStruct :: forall b. Ptr Offset3D -> IO b -> IO b pokeZeroCStruct Ptr Offset3D p IO b f = do forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Int32)) (forall a. Zero a => a zero) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 4 :: Ptr Int32)) (forall a. Zero a => a zero) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Offset3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 8 :: Ptr Int32)) (forall a. Zero a => a zero) IO b f instance FromCStruct Offset3D where peekCStruct :: Ptr Offset3D -> IO Offset3D peekCStruct Ptr Offset3D p = do Int32 x <- forall a. Storable a => Ptr a -> IO a peek @Int32 ((Ptr Offset3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Int32)) Int32 y <- forall a. Storable a => Ptr a -> IO a peek @Int32 ((Ptr Offset3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 4 :: Ptr Int32)) Int32 z <- forall a. Storable a => Ptr a -> IO a peek @Int32 ((Ptr Offset3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 8 :: Ptr Int32)) forall (f :: * -> *) a. Applicative f => a -> f a pure 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 _ = Int 12 alignment :: Offset3D -> Int alignment ~Offset3D _ = Int 4 peek :: Ptr Offset3D -> IO Offset3D peek = forall a. FromCStruct a => Ptr a -> IO a peekCStruct poke :: Ptr Offset3D -> Offset3D -> IO () poke Ptr Offset3D ptr Offset3D poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Offset3D ptr Offset3D poked (forall (f :: * -> *) a. Applicative f => a -> f a pure ()) instance Zero Offset3D where zero :: Offset3D zero = Int32 -> Int32 -> Int32 -> Offset3D Offset3D forall a. Zero a => a zero forall a. Zero a => a zero forall a. Zero a => a zero -- | VkExtent2D - Structure specifying a two-dimensional extent -- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- '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_QCOM_image_processing.ImageViewSampleWeightCreateInfoQCOM', -- 'Vulkan.Extensions.VK_EXT_sample_locations.MultisamplePropertiesEXT', -- 'Vulkan.Extensions.VK_QCOM_fragment_density_map_offset.PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM', -- '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_QCOM_image_processing2.PhysicalDeviceImageProcessing2PropertiesQCOM', -- 'Vulkan.Extensions.VK_QCOM_image_processing.PhysicalDeviceImageProcessingPropertiesQCOM', -- '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_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR', -- 'Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT', -- 'Vulkan.Extensions.VK_QCOM_image_processing2.SamplerBlockMatchWindowCreateInfoQCOM', -- 'Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCapabilities2EXT', -- 'Vulkan.Extensions.VK_KHR_surface.SurfaceCapabilitiesKHR', -- 'Vulkan.Extensions.VK_EXT_surface_maintenance1.SurfacePresentScalingCapabilitiesEXT', -- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR', -- 'Vulkan.Extensions.VK_QCOM_tile_properties.TilePropertiesQCOM', -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoCapabilitiesKHR VkVideoCapabilitiesKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeCapabilitiesKHR VkVideoEncodeCapabilitiesKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesEXT VkVideoEncodeH265CapabilitiesEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoPictureResourceInfoKHR VkVideoPictureResourceInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>, -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.cmdSetFragmentShadingRateKHR', -- 'Vulkan.Extensions.VK_HUAWEI_subpass_shading.getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI', -- 'Vulkan.Core10.Pass.getRenderAreaGranularity', -- 'Vulkan.Extensions.VK_KHR_maintenance5.getRenderingAreaGranularityKHR' 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 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 :: forall b. Extent2D -> (Ptr Extent2D -> IO b) -> IO b withCStruct Extent2D x Ptr Extent2D -> IO b f = forall a b. Int -> (Ptr a -> IO b) -> IO b allocaBytes Int 8 forall a b. (a -> b) -> a -> b $ \Ptr Extent2D p -> 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 :: forall b. Ptr Extent2D -> Extent2D -> IO b -> IO b pokeCStruct Ptr Extent2D p Extent2D{Word32 height :: Word32 width :: Word32 $sel:height:Extent2D :: Extent2D -> Word32 $sel:width:Extent2D :: Extent2D -> Word32 ..} IO b f = do forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Word32)) (Word32 width) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 4 :: Ptr Word32)) (Word32 height) IO b f cStructSize :: Int cStructSize = Int 8 cStructAlignment :: Int cStructAlignment = Int 4 pokeZeroCStruct :: forall b. Ptr Extent2D -> IO b -> IO b pokeZeroCStruct Ptr Extent2D p IO b f = do forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Word32)) (forall a. Zero a => a zero) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 4 :: Ptr Word32)) (forall a. Zero a => a zero) IO b f instance FromCStruct Extent2D where peekCStruct :: Ptr Extent2D -> IO Extent2D peekCStruct Ptr Extent2D p = do Word32 width <- forall a. Storable a => Ptr a -> IO a peek @Word32 ((Ptr Extent2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Word32)) Word32 height <- forall a. Storable a => Ptr a -> IO a peek @Word32 ((Ptr Extent2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 4 :: Ptr Word32)) forall (f :: * -> *) a. Applicative f => a -> f a pure forall a b. (a -> b) -> a -> b $ Word32 -> Word32 -> Extent2D Extent2D Word32 width Word32 height instance Storable Extent2D where sizeOf :: Extent2D -> Int sizeOf ~Extent2D _ = Int 8 alignment :: Extent2D -> Int alignment ~Extent2D _ = Int 4 peek :: Ptr Extent2D -> IO Extent2D peek = forall a. FromCStruct a => Ptr a -> IO a peekCStruct poke :: Ptr Extent2D -> Extent2D -> IO () poke Ptr Extent2D ptr Extent2D poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Extent2D ptr Extent2D poked (forall (f :: * -> *) a. Applicative f => a -> f a pure ()) instance Zero Extent2D where zero :: Extent2D zero = Word32 -> Word32 -> Extent2D Extent2D forall a. Zero a => a zero forall a. Zero a => a zero -- | VkExtent3D - Structure specifying a three-dimensional extent -- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BufferImageCopy2', -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV', -- 'Vulkan.Core10.CommandBufferBuilding.ImageCopy', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageCopy2', -- 'Vulkan.Core10.Image.ImageCreateInfo', -- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties', -- 'Vulkan.Core10.CommandBufferBuilding.ImageResolve', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageResolve2', -- 'Vulkan.Extensions.VK_EXT_host_image_copy.ImageToMemoryCopyEXT', -- 'Vulkan.Extensions.VK_EXT_host_image_copy.MemoryToImageCopyEXT', -- 'Vulkan.Core10.DeviceInitialization.QueueFamilyProperties', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageFormatProperties', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind', -- 'Vulkan.Extensions.VK_QCOM_tile_properties.TilePropertiesQCOM' 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 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 :: forall b. Extent3D -> (Ptr Extent3D -> IO b) -> IO b withCStruct Extent3D x Ptr Extent3D -> IO b f = forall a b. Int -> (Ptr a -> IO b) -> IO b allocaBytes Int 12 forall a b. (a -> b) -> a -> b $ \Ptr Extent3D p -> 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 :: forall b. Ptr Extent3D -> Extent3D -> IO b -> IO b pokeCStruct Ptr Extent3D p Extent3D{Word32 depth :: Word32 height :: Word32 width :: Word32 $sel:depth:Extent3D :: Extent3D -> Word32 $sel:height:Extent3D :: Extent3D -> Word32 $sel:width:Extent3D :: Extent3D -> Word32 ..} IO b f = do forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Word32)) (Word32 width) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 4 :: Ptr Word32)) (Word32 height) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 8 :: Ptr Word32)) (Word32 depth) IO b f cStructSize :: Int cStructSize = Int 12 cStructAlignment :: Int cStructAlignment = Int 4 pokeZeroCStruct :: forall b. Ptr Extent3D -> IO b -> IO b pokeZeroCStruct Ptr Extent3D p IO b f = do forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Word32)) (forall a. Zero a => a zero) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 4 :: Ptr Word32)) (forall a. Zero a => a zero) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Extent3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 8 :: Ptr Word32)) (forall a. Zero a => a zero) IO b f instance FromCStruct Extent3D where peekCStruct :: Ptr Extent3D -> IO Extent3D peekCStruct Ptr Extent3D p = do Word32 width <- forall a. Storable a => Ptr a -> IO a peek @Word32 ((Ptr Extent3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Word32)) Word32 height <- forall a. Storable a => Ptr a -> IO a peek @Word32 ((Ptr Extent3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 4 :: Ptr Word32)) Word32 depth <- forall a. Storable a => Ptr a -> IO a peek @Word32 ((Ptr Extent3D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 8 :: Ptr Word32)) forall (f :: * -> *) a. Applicative f => a -> f a pure 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 _ = Int 12 alignment :: Extent3D -> Int alignment ~Extent3D _ = Int 4 peek :: Ptr Extent3D -> IO Extent3D peek = forall a. FromCStruct a => Ptr a -> IO a peekCStruct poke :: Ptr Extent3D -> Extent3D -> IO () poke Ptr Extent3D ptr Extent3D poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Extent3D ptr Extent3D poked (forall (f :: * -> *) a. Applicative f => a -> f a pure ()) instance Zero Extent3D where zero :: Extent3D zero = Word32 -> Word32 -> Word32 -> Extent3D Extent3D forall a. Zero a => a zero forall a. Zero a => a zero forall a. Zero a => a zero -- | VkRect2D - Structure specifying a two-dimensional subregion -- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- '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', -- 'Vulkan.Extensions.VK_QCOM_multiview_per_view_render_areas.MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM', -- 'Offset2D', -- 'Vulkan.Extensions.VK_NV_optical_flow.OpticalFlowExecuteInfoNV', -- 'Vulkan.Extensions.VK_EXT_discard_rectangles.PipelineDiscardRectangleStateCreateInfoEXT', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PipelineViewportExclusiveScissorStateCreateInfoNV', -- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo', -- 'Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo', -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo', -- 'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.cmdSetExclusiveScissorNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetScissor', -- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetScissorWithCount', -- '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 :: forall b. Rect2D -> (Ptr Rect2D -> IO b) -> IO b withCStruct Rect2D x Ptr Rect2D -> IO b f = forall a b. Int -> (Ptr a -> IO b) -> IO b allocaBytes Int 16 forall a b. (a -> b) -> a -> b $ \Ptr Rect2D p -> 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 :: forall b. Ptr Rect2D -> Rect2D -> IO b -> IO b pokeCStruct Ptr Rect2D p Rect2D{Offset2D Extent2D extent :: Extent2D offset :: Offset2D $sel:extent:Rect2D :: Rect2D -> Extent2D $sel:offset:Rect2D :: Rect2D -> Offset2D ..} IO b f = do forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Rect2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Offset2D)) (Offset2D offset) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Rect2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 8 :: Ptr Extent2D)) (Extent2D extent) IO b f cStructSize :: Int cStructSize = Int 16 cStructAlignment :: Int cStructAlignment = Int 4 pokeZeroCStruct :: forall b. Ptr Rect2D -> IO b -> IO b pokeZeroCStruct Ptr Rect2D p IO b f = do forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Rect2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Offset2D)) (forall a. Zero a => a zero) forall a. Storable a => Ptr a -> a -> IO () poke ((Ptr Rect2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 8 :: Ptr Extent2D)) (forall a. Zero a => a zero) IO b f instance FromCStruct Rect2D where peekCStruct :: Ptr Rect2D -> IO Rect2D peekCStruct Ptr Rect2D p = do Offset2D offset <- forall a. FromCStruct a => Ptr a -> IO a peekCStruct @Offset2D ((Ptr Rect2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 0 :: Ptr Offset2D)) Extent2D extent <- forall a. FromCStruct a => Ptr a -> IO a peekCStruct @Extent2D ((Ptr Rect2D p forall a b. Ptr a -> Int -> Ptr b `plusPtr` Int 8 :: Ptr Extent2D)) forall (f :: * -> *) a. Applicative f => a -> f a pure forall a b. (a -> b) -> a -> b $ Offset2D -> Extent2D -> Rect2D Rect2D Offset2D offset Extent2D extent instance Storable Rect2D where sizeOf :: Rect2D -> Int sizeOf ~Rect2D _ = Int 16 alignment :: Rect2D -> Int alignment ~Rect2D _ = Int 4 peek :: Ptr Rect2D -> IO Rect2D peek = forall a. FromCStruct a => Ptr a -> IO a peekCStruct poke :: Ptr Rect2D -> Rect2D -> IO () poke Ptr Rect2D ptr Rect2D poked = forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b pokeCStruct Ptr Rect2D ptr Rect2D poked (forall (f :: * -> *) a. Applicative f => a -> f a pure ()) instance Zero Rect2D where zero :: Rect2D zero = Offset2D -> Extent2D -> Rect2D Rect2D forall a. Zero a => a zero forall a. Zero a => a zero -- | VkBool32 - Vulkan boolean type -- -- = Description -- -- 'TRUE' represents a boolean __True__ (unsigned integer 1) value, and -- 'FALSE' a boolean __False__ (unsigned 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 -- -- 'FALSE', 'TRUE', -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryInstancesDataKHR', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.ColorBlendAdvancedEXT', -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.CommandBufferInheritanceConditionalRenderingInfoEXT', -- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo', -- 'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.CommandBufferInheritanceViewportScissorInfoNV', -- 'Vulkan.Extensions.VK_KHR_cooperative_matrix.CooperativeMatrixPropertiesKHR', -- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV', -- 'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV', -- 'Vulkan.Extensions.VK_EXT_depth_bias_control.DepthBiasRepresentationInfoEXT', -- '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_external_memory_acquire_unmodified.ExternalMemoryAcquireUnmodifiedEXT', -- 'Vulkan.Extensions.VK_EXT_filter_cubic.FilterCubicImageViewImageFormatPropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_host_image_copy.HostImageCopyDevicePerformanceQueryEXT', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutTokenNV', -- 'Vulkan.Extensions.VK_NV_low_latency2.LatencySleepModeInfoNV', -- 'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedRequirements', -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.MicromapBuildSizesInfoEXT', -- 'Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled.MultisampledRenderToSingleSampledInfoEXT', -- 'Vulkan.Extensions.VK_KHR_dynamic_rendering.MultiviewPerViewAttributesInfoNVX', -- '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_device_address_binding_report.PhysicalDeviceAddressBindingReportFeaturesEXT', -- 'Vulkan.Extensions.VK_SEC_amigo_profiling.PhysicalDeviceAmigoProfilingFeaturesSEC', -- 'Vulkan.Extensions.VK_EXT_attachment_feedback_loop_dynamic_state.PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_attachment_feedback_loop_layout.PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_border_color_swizzle.PhysicalDeviceBorderColorSwizzleFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeatures', -- 'Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT', -- 'Vulkan.Extensions.VK_HUAWEI_cluster_culling_shader.PhysicalDeviceClusterCullingShaderFeaturesHUAWEI', -- 'Vulkan.Extensions.VK_AMD_device_coherent_memory.PhysicalDeviceCoherentMemoryFeaturesAMD', -- 'Vulkan.Extensions.VK_EXT_color_write_enable.PhysicalDeviceColorWriteEnableFeaturesEXT', -- '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_KHR_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesKHR', -- 'Vulkan.Extensions.VK_NV_cooperative_matrix.PhysicalDeviceCooperativeMatrixFeaturesNV', -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.PhysicalDeviceCopyMemoryIndirectFeaturesNV', -- 'Vulkan.Extensions.VK_NV_corner_sampled_image.PhysicalDeviceCornerSampledImageFeaturesNV', -- 'Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV', -- 'Vulkan.Extensions.VK_QCOM_filter_cubic_clamp.PhysicalDeviceCubicClampFeaturesQCOM', -- 'Vulkan.Extensions.VK_QCOM_filter_cubic_weights.PhysicalDeviceCubicWeightsFeaturesQCOM', -- 'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing.PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_depth_bias_control.PhysicalDeviceDepthBiasControlFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_depth_clamp_zero_one.PhysicalDeviceDepthClampZeroOneFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_depth_clip_control.PhysicalDeviceDepthClipControlFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT', -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures', -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingProperties', -- 'Vulkan.Extensions.VK_NV_descriptor_pool_overallocation.PhysicalDeviceDescriptorPoolOverallocationFeaturesNV', -- 'Vulkan.Extensions.VK_VALVE_descriptor_set_host_mapping.PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE', -- 'Vulkan.Extensions.VK_NV_device_generated_commands_compute.PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV', -- '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_displacement_micromap.PhysicalDeviceDisplacementMicromapFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_physical_device_drm.PhysicalDeviceDrmPropertiesEXT', -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PhysicalDeviceDynamicRenderingFeatures', -- 'Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments.PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.PhysicalDeviceExtendedDynamicState2FeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.PhysicalDeviceExtendedDynamicState3FeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.PhysicalDeviceExtendedDynamicState3PropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.PhysicalDeviceExtendedDynamicStateFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_extended_sparse_address_space.PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV', -- 'Vulkan.Extensions.VK_ANDROID_external_format_resolve.PhysicalDeviceExternalFormatResolveFeaturesANDROID', -- 'Vulkan.Extensions.VK_ANDROID_external_format_resolve.PhysicalDeviceExternalFormatResolvePropertiesANDROID', -- 'Vulkan.Extensions.VK_NV_external_memory_rdma.PhysicalDeviceExternalMemoryRDMAFeaturesNV', -- 'Vulkan.Extensions.VK_QNX_external_memory_screen_buffer.PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX', -- 'Vulkan.Extensions.VK_EXT_device_fault.PhysicalDeviceFaultFeaturesEXT', -- '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_QCOM_fragment_density_map_offset.PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM', -- 'Vulkan.Extensions.VK_EXT_fragment_density_map.PhysicalDeviceFragmentDensityMapPropertiesEXT', -- 'Vulkan.Extensions.VK_KHR_fragment_shader_barycentric.PhysicalDeviceFragmentShaderBarycentricFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_fragment_shader_barycentric.PhysicalDeviceFragmentShaderBarycentricPropertiesKHR', -- '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.Extensions.VK_EXT_frame_boundary.PhysicalDeviceFrameBoundaryFeaturesEXT', -- 'Vulkan.Extensions.VK_KHR_global_priority.PhysicalDeviceGlobalPriorityQueryFeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.PhysicalDeviceGroupProperties', -- 'Vulkan.Extensions.VK_EXT_host_image_copy.PhysicalDeviceHostImageCopyFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_host_image_copy.PhysicalDeviceHostImageCopyPropertiesEXT', -- '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_2d_view_of_3d.PhysicalDeviceImage2DViewOf3DFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_image_compression_control.PhysicalDeviceImageCompressionControlFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_image_compression_control_swapchain.PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT', -- 'Vulkan.Extensions.VK_QCOM_image_processing2.PhysicalDeviceImageProcessing2FeaturesQCOM', -- 'Vulkan.Extensions.VK_QCOM_image_processing.PhysicalDeviceImageProcessingFeaturesQCOM', -- 'Vulkan.Core13.Promoted_From_VK_EXT_image_robustness.PhysicalDeviceImageRobustnessFeatures', -- 'Vulkan.Extensions.VK_EXT_image_sliced_view_of_3d.PhysicalDeviceImageSlicedViewOf3DFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT', -- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures', -- 'Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT', -- 'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV', -- 'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeatures', -- 'Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI', -- 'Vulkan.Extensions.VK_EXT_legacy_dithering.PhysicalDeviceLegacyDitheringFeaturesEXT', -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits', -- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_linear_color_attachment.PhysicalDeviceLinearColorAttachmentFeaturesNV', -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Features', -- 'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5FeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5PropertiesKHR', -- 'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_mesh_shader.PhysicalDeviceMeshShaderFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV', -- 'Vulkan.Extensions.VK_EXT_mesh_shader.PhysicalDeviceMeshShaderPropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled.PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT', -- 'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures', -- 'Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX', -- 'Vulkan.Extensions.VK_QCOM_multiview_per_view_render_areas.PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM', -- 'Vulkan.Extensions.VK_QCOM_multiview_per_view_viewports.PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM', -- 'Vulkan.Extensions.VK_EXT_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_nested_command_buffer.PhysicalDeviceNestedCommandBufferFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_non_seamless_cube_map.PhysicalDeviceNonSeamlessCubeMapFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.PhysicalDeviceOpacityMicromapFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_optical_flow.PhysicalDeviceOpticalFlowFeaturesNV', -- 'Vulkan.Extensions.VK_NV_optical_flow.PhysicalDeviceOpticalFlowPropertiesNV', -- 'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT', -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR', -- 'Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeatures', -- 'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_pipeline_library_group_handles.PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_pipeline_properties.PhysicalDevicePipelinePropertiesFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_pipeline_protected_access.PhysicalDevicePipelineProtectedAccessFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_pipeline_robustness.PhysicalDevicePipelineRobustnessFeaturesEXT', -- 'Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR', -- 'Vulkan.Extensions.VK_NV_present_barrier.PhysicalDevicePresentBarrierFeaturesNV', -- 'Vulkan.Extensions.VK_KHR_present_id.PhysicalDevicePresentIdFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_present_wait.PhysicalDevicePresentWaitFeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_primitive_topology_list_restart.PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_primitives_generated_query.PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT', -- 'Vulkan.Core13.Promoted_From_VK_EXT_private_data.PhysicalDevicePrivateDataFeatures', -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures', -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryProperties', -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexPropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_rasterization_order_attachment_access.PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT', -- 'Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder.PhysicalDeviceRayTracingInvocationReorderFeaturesNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1.PhysicalDeviceRayTracingMaintenance1FeaturesKHR', -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_position_fetch.PhysicalDeviceRayTracingPositionFetchFeaturesKHR', -- '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_float2.PhysicalDeviceShaderAtomicFloat2FeaturesEXT', -- '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_ARM_shader_core_builtins.PhysicalDeviceShaderCoreBuiltinsFeaturesARM', -- 'Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation.PhysicalDeviceShaderDemoteToHelperInvocationFeatures', -- 'Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures', -- 'Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests.PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD', -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.PhysicalDeviceShaderEnqueueFeaturesAMDX', -- '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.Core13.Promoted_From_VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeatures', -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductProperties', -- 'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL', -- 'Vulkan.Extensions.VK_EXT_shader_module_identifier.PhysicalDeviceShaderModuleIdentifierFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_shader_object.PhysicalDeviceShaderObjectFeaturesEXT', -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV', -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures', -- 'Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow.PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR', -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeatures', -- 'Vulkan.Extensions.VK_EXT_shader_tile_image.PhysicalDeviceShaderTileImageFeaturesEXT', -- 'Vulkan.Extensions.VK_EXT_shader_tile_image.PhysicalDeviceShaderTileImagePropertiesEXT', -- 'Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImageFeaturesNV', -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceSparseProperties', -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup.PhysicalDeviceSubgroupProperties', -- 'Vulkan.Core13.Promoted_From_VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeatures', -- 'Vulkan.Extensions.VK_EXT_subpass_merge_feedback.PhysicalDeviceSubpassMergeFeedbackFeaturesEXT', -- 'Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingFeaturesHUAWEI', -- 'Vulkan.Extensions.VK_EXT_swapchain_maintenance1.PhysicalDeviceSwapchainMaintenance1FeaturesEXT', -- 'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.PhysicalDeviceSynchronization2Features', -- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT', -- 'Vulkan.Core13.Promoted_From_VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentProperties', -- 'Vulkan.Core13.Promoted_From_VK_EXT_texture_compression_astc_hdr.PhysicalDeviceTextureCompressionASTCHDRFeatures', -- 'Vulkan.Extensions.VK_QCOM_tile_properties.PhysicalDeviceTilePropertiesFeaturesQCOM', -- '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.Extensions.VK_EXT_vertex_input_dynamic_state.PhysicalDeviceVertexInputDynamicStateFeaturesEXT', -- 'Vulkan.Core12.PhysicalDeviceVulkan11Features', -- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties', -- 'Vulkan.Core12.PhysicalDeviceVulkan12Features', -- 'Vulkan.Core12.PhysicalDeviceVulkan12Properties', -- 'Vulkan.Core13.PhysicalDeviceVulkan13Features', -- 'Vulkan.Core13.PhysicalDeviceVulkan13Properties', -- 'Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model.PhysicalDeviceVulkanMemoryModelFeatures', -- 'Vulkan.Extensions.VK_KHR_workgroup_memory_explicit_layout.PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR', -- 'Vulkan.Extensions.VK_EXT_ycbcr_2plane_444_formats.PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT', -- 'Vulkan.Extensions.VK_QCOM_ycbcr_degamma.PhysicalDeviceYcbcrDegammaFeaturesQCOM', -- 'Vulkan.Extensions.VK_EXT_ycbcr_image_arrays.PhysicalDeviceYcbcrImageArraysFeaturesEXT', -- 'Vulkan.Core13.Promoted_From_VK_KHR_zero_initialize_workgroup_memory.PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures', -- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PipelineColorBlendAdvancedStateCreateInfoEXT', -- 'Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState', -- 'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo', -- 'Vulkan.Extensions.VK_EXT_color_write_enable.PipelineColorWriteCreateInfoEXT', -- '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_EXT_depth_clip_control.PipelineViewportDepthClipControlCreateInfoEXT', -- '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', -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFamilyQueryResultStatusPropertiesKHR VkQueueFamilyQueryResultStatusPropertiesKHR>, -- 'Vulkan.Extensions.VK_EXT_subpass_merge_feedback.RenderPassCreationControlEXT', -- 'Vulkan.Extensions.VK_EXT_border_color_swizzle.SamplerBorderColorComponentMappingCreateInfoEXT', -- 'Vulkan.Core10.Sampler.SamplerCreateInfo', -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo', -- 'Vulkan.Extensions.VK_QCOM_ycbcr_degamma.SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM', -- 'Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled.SubpassResolvePerformanceQueryEXT', -- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceCapabilitiesFullScreenExclusiveEXT', -- 'Vulkan.Extensions.VK_NV_present_barrier.SurfaceCapabilitiesPresentBarrierNV', -- '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_NV_low_latency2.SwapchainLatencyCreateInfoNV', -- 'Vulkan.Extensions.VK_NV_present_barrier.SwapchainPresentBarrierCreateInfoNV', -- 'Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD', -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264CapabilitiesEXT VkVideoEncodeH264CapabilitiesEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264GopRemainingFrameInfoEXT VkVideoEncodeH264GopRemainingFrameInfoEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264PictureInfoEXT VkVideoEncodeH264PictureInfoEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264QualityLevelPropertiesEXT VkVideoEncodeH264QualityLevelPropertiesEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264RateControlLayerInfoEXT VkVideoEncodeH264RateControlLayerInfoEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionCreateInfoEXT VkVideoEncodeH264SessionCreateInfoEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersFeedbackInfoEXT VkVideoEncodeH264SessionParametersFeedbackInfoEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersGetInfoEXT VkVideoEncodeH264SessionParametersGetInfoEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesEXT VkVideoEncodeH265CapabilitiesEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265GopRemainingFrameInfoEXT VkVideoEncodeH265GopRemainingFrameInfoEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlLayerInfoEXT VkVideoEncodeH265RateControlLayerInfoEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionCreateInfoEXT VkVideoEncodeH265SessionCreateInfoEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersFeedbackInfoEXT VkVideoEncodeH265SessionParametersFeedbackInfoEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersGetInfoEXT VkVideoEncodeH265SessionParametersGetInfoEXT>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeSessionParametersFeedbackInfoKHR VkVideoEncodeSessionParametersFeedbackInfoKHR>, -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdExecuteGeneratedCommandsNV', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToCoverageEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToOneEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEnableEXT', -- 'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetCoverageModulationTableEnableNV', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetCoverageToColorEnableNV', -- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetDepthBiasEnable', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetDepthBiasEnableEXT', -- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetDepthBoundsTestEnable', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthBoundsTestEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClampEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipNegativeOneToOneEXT', -- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetDepthTestEnable', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT', -- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnable', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT', -- 'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEnableEXT', -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.cmdSetExclusiveScissorEnableNV', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLogicOpEnableEXT', -- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnable', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT', -- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRepresentativeFragmentTestEnableNV', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetShadingRateImageEnableNV', -- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetStencilTestEnable', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilTestEnableEXT', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetViewportWScalingEnableNV', -- '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 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 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 Ord, Ptr Bool32 -> IO Bool32 Ptr Bool32 -> Int -> IO Bool32 Ptr Bool32 -> Int -> Bool32 -> IO () Ptr Bool32 -> Bool32 -> IO () Bool32 -> Int 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 :: forall b. Ptr b -> Int -> Bool32 -> IO () $cpokeByteOff :: forall b. Ptr b -> Int -> Bool32 -> IO () peekByteOff :: forall b. 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 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 -> ((# #) -> r) -> ((# #) -> r) -> r FALSE = Bool32 0 -- No documentation found for Nested "VkBool32" "VK_TRUE" pattern $bTRUE :: Bool32 $mTRUE :: forall {r}. Bool32 -> ((# #) -> r) -> ((# #) -> r) -> r TRUE = Bool32 1 {-# COMPLETE FALSE , TRUE :: Bool32 #-} conNameBool32 :: String conNameBool32 :: String conNameBool32 = String "Bool32" enumPrefixBool32 :: String enumPrefixBool32 :: String enumPrefixBool32 = String "" showTableBool32 :: [(Bool32, String)] showTableBool32 :: [(Bool32, String)] showTableBool32 = [(Bool32 FALSE, String "FALSE"), (Bool32 TRUE, String "TRUE")] instance Show Bool32 where showsPrec :: Int -> Bool32 -> ShowS showsPrec = 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 Int32 x) -> Int32 x) (forall a. Show a => Int -> a -> ShowS showsPrec Int 11) instance Read Bool32 where readPrec :: ReadPrec Bool32 readPrec = 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 -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleMaskEXT' 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 '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 '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. -- -- An individual bit flag is valid for a 'Flags' type if it would be a -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#fundamentals-validusage-enums valid enumerant> -- when used with the equivalent @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'. -- -- Any '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 -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- 'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlags', -- 'Flags64' type Flags = Word32 -- | VkFlags64 - Vulkan 64-bit bitmasks -- -- = Description -- -- When the 31 bits available in 'Flags' are insufficient, the 'Flags64' -- type can be passed to commands and structures to represent up to 64 -- options. 'Flags64' is not used directly in the API. Instead, a -- @Vk*Flags2@ type which is an alias of 'Flags64', and whose name matches -- the corresponding @Vk*FlagBits2@ that are valid for that type, is used. -- -- Any @Vk*Flags2@ 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. -- -- An individual bit flag is valid for a @Vk*Flags2@ type if it would be a -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#fundamentals-validusage-enums valid enumerant> -- when used with the equivalent @Vk*FlagBits2@ type, where the bits type -- is obtained by taking the flag type and replacing the trailing @Flags2@ -- with @FlagBits2@. For example, a flag value of type -- 'Vulkan.Extensions.VK_KHR_synchronization2.AccessFlags2KHR' /must/ -- contain only bit flags defined by -- 'Vulkan.Extensions.VK_KHR_synchronization2.AccessFlagBits2KHR'. -- -- Any @Vk*Flags2@ 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*FlagBits2@ type. An application -- /cannot/ rely on the state of these unspecified bits. -- -- Note -- -- Both the @Vk*FlagBits2@ type, and the individual bits defined for that -- type, are defined as @uint64_t@ integers in the C API. This is in -- contrast to the 32-bit types, where the @Vk*FlagBits@ type is defined as -- a C @enum@ and the individual bits as enumerants belonging to that -- @enum@. As a result, there is less compile time type checking possible -- for the 64-bit types. This is unavoidable since there is no sufficiently -- portable way to define a 64-bit @enum@ type in C99. -- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_3 VK_VERSION_1_3>, -- 'Flags' type Flags64 = Word64 -- | VkDeviceSize - Vulkan device memory size and offsets -- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- '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_NV_displacement_micromap.AccelerationStructureTrianglesDisplacementMicromapNV', -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.AccelerationStructureTrianglesOpacityMicromapEXT', -- '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', -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkBindVideoSessionMemoryInfoKHR VkBindVideoSessionMemoryInfoKHR>, -- 'Vulkan.Core10.CommandBufferBuilding.BufferCopy', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BufferCopy2', -- 'Vulkan.Core10.Buffer.BufferCreateInfo', -- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy', -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BufferImageCopy2', -- 'Vulkan.Core10.OtherTypes.BufferMemoryBarrier', -- 'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.BufferMemoryBarrier2', -- 'Vulkan.Core10.BufferView.BufferViewCreateInfo', -- 'Vulkan.Extensions.VK_NV_device_generated_commands_compute.ComputePipelineIndirectBufferInfoNV', -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.ConditionalRenderingBeginInfoEXT', -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorAddressInfoEXT', -- 'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo', -- 'Vulkan.Extensions.VK_EXT_device_address_binding_report.DeviceAddressBindingCallbackDataEXT', -- 'Vulkan.Extensions.VK_EXT_device_fault.DeviceFaultAddressInfoEXT', -- 'Vulkan.Extensions.VK_EXT_device_fault.DeviceFaultCountsEXT', -- 'Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT', -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.ExecutionGraphPipelineScratchSizeAMDX', -- '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.Extensions.VK_KHR_map_memory2.MemoryMapInfoKHR', -- 'Vulkan.Core10.MemoryManagement.MemoryRequirements', -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.MicromapBuildInfoEXT', -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.MicromapBuildSizesInfoEXT', -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.MicromapCreateInfoEXT', -- 'Vulkan.Extensions.VK_HUAWEI_cluster_culling_shader.PhysicalDeviceClusterCullingShaderPropertiesHUAWEI', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT', -- 'Vulkan.Extensions.VK_NV_extended_sparse_address_space.PhysicalDeviceExtendedSparseAddressSpacePropertiesNV', -- 'Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT', -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits', -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties', -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Properties', -- 'Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT', -- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT', -- 'Vulkan.Core13.Promoted_From_VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentProperties', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT', -- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties', -- 'Vulkan.Core13.PhysicalDeviceVulkan13Properties', -- 'Vulkan.Extensions.VK_QNX_external_memory_screen_buffer.ScreenBufferPropertiesQNX', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements', -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.StridedDeviceAddressRegionKHR', -- 'Vulkan.Extensions.VK_EXT_host_image_copy.SubresourceHostMemcpySizeEXT', -- 'Vulkan.Core10.Image.SubresourceLayout', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1.TraceRaysIndirectCommand2KHR', -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoCapabilitiesKHR VkVideoCapabilitiesKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeInfoKHR VkVideoDecodeInfoKHR>, -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeInfoKHR VkVideoEncodeInfoKHR>, -- 'Vulkan.Core10.MemoryManagement.bindBufferMemory', -- 'Vulkan.Core10.MemoryManagement.bindImageMemory', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBeginTransformFeedbackEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer', -- 'Vulkan.Extensions.VK_KHR_maintenance5.cmdBindIndexBuffer2KHR', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBindTransformFeedbackBuffersEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindVertexBuffers', -- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2', -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT', -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults', -- 'Vulkan.Core10.CommandBufferBuilding.cmdDispatchIndirect', -- 'Vulkan.Extensions.VK_HUAWEI_cluster_culling_shader.cmdDrawClusterIndirectHUAWEI', -- '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_EXT_mesh_shader.cmdDrawMeshTasksIndirectCountEXT', -- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectCountNV', -- 'Vulkan.Extensions.VK_EXT_mesh_shader.cmdDrawMeshTasksIndirectEXT', -- 'Vulkan.Extensions.VK_NV_mesh_shader.cmdDrawMeshTasksIndirectNV', -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdEndTransformFeedbackEXT', -- 'Vulkan.Core10.CommandBufferBuilding.cmdFillBuffer', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT', -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdTraceRaysNV', -- 'Vulkan.Core10.CommandBufferBuilding.cmdUpdateBuffer', -- 'Vulkan.Extensions.VK_KHR_synchronization2.cmdWriteBufferMarker2AMD', -- 'Vulkan.Extensions.VK_AMD_buffer_marker.cmdWriteBufferMarkerAMD', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getDescriptorSetLayoutBindingOffsetEXT', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.getDescriptorSetLayoutSizeEXT', -- 'Vulkan.Core10.Memory.getDeviceMemoryCommitment', -- 'Vulkan.Core10.Query.getQueryPoolResults', -- 'Vulkan.Core10.Memory.mapMemory' type DeviceSize = Word64 -- | VkDeviceAddress - Vulkan device address type -- -- = See Also -- -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>, -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_device_generated_commands_compute.BindPipelineIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV', -- 'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT', -- 'Vulkan.Extensions.VK_NV_device_generated_commands_compute.ComputePipelineIndirectBufferInfoNV', -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.CopyMemoryToImageIndirectCommandNV', -- 'Vulkan.Extensions.VK_NV_memory_decompression.DecompressMemoryRegionNV', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorAddressInfoEXT', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorBufferBindingInfoEXT', -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.DescriptorDataEXT', -- 'Vulkan.Extensions.VK_EXT_device_address_binding_report.DeviceAddressBindingCallbackDataEXT', -- 'Vulkan.Extensions.VK_EXT_device_fault.DeviceFaultAddressInfoEXT', -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.DeviceOrHostAddressConstAMDX', -- '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_EXT_opacity_micromap.MicromapCreateInfoEXT', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.StridedDeviceAddressRegionKHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1.TraceRaysIndirectCommand2KHR', -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.cmdBuildAccelerationStructuresIndirectKHR', -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.cmdCopyMemoryIndirectNV', -- 'Vulkan.Extensions.VK_NV_copy_memory_indirect.cmdCopyMemoryToImageIndirectNV', -- 'Vulkan.Extensions.VK_NV_memory_decompression.cmdDecompressMemoryIndirectCountNV', -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.cmdDispatchGraphAMDX', -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.cmdDispatchGraphIndirectAMDX', -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.cmdDispatchGraphIndirectCountAMDX', -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.cmdInitializeGraphScratchMemoryAMDX', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_maintenance1.cmdTraceRaysIndirect2KHR', -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.cmdTraceRaysIndirectKHR' type DeviceAddress = Word64