{-# language CPP #-}
module Vulkan.Core12 ( pattern API_VERSION_1_2
, PhysicalDeviceVulkan11Features(..)
, PhysicalDeviceVulkan11Properties(..)
, PhysicalDeviceVulkan12Features(..)
, PhysicalDeviceVulkan12Properties(..)
, StructureType(..)
, module Vulkan.Core12.Enums
, module Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing
, module Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset
, module Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax
, module Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout
, module Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage
, module Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage
, module Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address
, module Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2
, module Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve
, module Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count
, module Vulkan.Core12.Promoted_From_VK_KHR_driver_properties
, module Vulkan.Core12.Promoted_From_VK_KHR_image_format_list
, module Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer
, module Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts
, module Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64
, module Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8
, module Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls
, module Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types
, module Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore
, module Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout
, module Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model
) where
import Vulkan.Core12.Enums
import Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing
import Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset
import Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax
import Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout
import Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage
import Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage
import Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address
import Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2
import Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve
import Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count
import Vulkan.Core12.Promoted_From_VK_KHR_driver_properties
import Vulkan.Core12.Promoted_From_VK_KHR_image_format_list
import Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer
import Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts
import Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64
import Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8
import Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls
import Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types
import Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore
import Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout
import Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model
import Vulkan.CStruct.Utils (FixedArray)
import Foreign.Marshal.Alloc (allocaBytesAligned)
import Foreign.Ptr (nullPtr)
import Foreign.Ptr (plusPtr)
import Data.ByteString (packCString)
import Control.Monad.Trans.Class (lift)
import Control.Monad.Trans.Cont (evalContT)
import Data.Typeable (Typeable)
import Foreign.C.Types (CChar)
import Foreign.Storable (Storable)
import Foreign.Storable (Storable(peek))
import Foreign.Storable (Storable(poke))
import qualified Foreign.Storable (Storable(..))
import Foreign.Ptr (Ptr)
import Data.Word (Word32)
import Data.Word (Word64)
import Data.Word (Word8)
import Data.ByteString (ByteString)
import Data.Kind (Type)
import Control.Monad.Trans.Cont (ContT(..))
import Vulkan.Core10.BaseType (bool32ToBool)
import Vulkan.Core10.BaseType (boolToBool32)
import Vulkan.CStruct.Utils (lowerArrayPtr)
import Vulkan.CStruct.Utils (peekByteStringFromSizedVectorPtr)
import Vulkan.CStruct.Utils (pokeFixedLengthByteString)
import Vulkan.CStruct.Utils (pokeFixedLengthNullTerminatedByteString)
import Vulkan.Core10.BaseType (Bool32)
import Vulkan.Core12.Promoted_From_VK_KHR_driver_properties (ConformanceVersion)
import Vulkan.Core10.BaseType (DeviceSize)
import Vulkan.Core12.Enums.DriverId (DriverId)
import Vulkan.CStruct (FromCStruct)
import Vulkan.CStruct (FromCStruct(..))
import Vulkan.Core10.APIConstants (LUID_SIZE)
import Vulkan.Core10.APIConstants (MAX_DRIVER_INFO_SIZE)
import Vulkan.Core10.APIConstants (MAX_DRIVER_NAME_SIZE)
import Vulkan.Core11.Enums.PointClippingBehavior (PointClippingBehavior)
import Vulkan.Core12.Enums.ResolveModeFlagBits (ResolveModeFlags)
import Vulkan.Core10.Enums.SampleCountFlagBits (SampleCountFlags)
import Vulkan.Core12.Enums.ShaderFloatControlsIndependence (ShaderFloatControlsIndependence)
import Vulkan.Core10.Enums.ShaderStageFlagBits (ShaderStageFlags)
import Vulkan.Core10.Enums.StructureType (StructureType)
import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlags)
import Vulkan.CStruct (ToCStruct)
import Vulkan.CStruct (ToCStruct(..))
import Vulkan.Core10.APIConstants (UUID_SIZE)
import Vulkan.Zero (Zero(..))
import Vulkan.Version (pattern MAKE_VERSION)
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES))
import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES))
import Vulkan.Core10.Enums.StructureType (StructureType(..))
pattern API_VERSION_1_2 :: Word32
pattern $bAPI_VERSION_1_2 :: Word32
$mAPI_VERSION_1_2 :: forall r. Word32 -> (Void# -> r) -> (Void# -> r) -> r
API_VERSION_1_2 = MAKE_VERSION 1 2 0
data PhysicalDeviceVulkan11Features = PhysicalDeviceVulkan11Features
{
PhysicalDeviceVulkan11Features -> Bool
storageBuffer16BitAccess :: Bool
,
PhysicalDeviceVulkan11Features -> Bool
uniformAndStorageBuffer16BitAccess :: Bool
,
PhysicalDeviceVulkan11Features -> Bool
storagePushConstant16 :: Bool
,
PhysicalDeviceVulkan11Features -> Bool
storageInputOutput16 :: Bool
,
PhysicalDeviceVulkan11Features -> Bool
multiview :: Bool
,
PhysicalDeviceVulkan11Features -> Bool
multiviewGeometryShader :: Bool
,
PhysicalDeviceVulkan11Features -> Bool
multiviewTessellationShader :: Bool
,
:: Bool
,
PhysicalDeviceVulkan11Features -> Bool
variablePointers :: Bool
,
PhysicalDeviceVulkan11Features -> Bool
protectedMemory :: Bool
,
PhysicalDeviceVulkan11Features -> Bool
samplerYcbcrConversion :: Bool
,
PhysicalDeviceVulkan11Features -> Bool
shaderDrawParameters :: Bool
}
deriving (Typeable)
deriving instance Show PhysicalDeviceVulkan11Features
instance ToCStruct PhysicalDeviceVulkan11Features where
withCStruct :: PhysicalDeviceVulkan11Features
-> (Ptr PhysicalDeviceVulkan11Features -> IO b) -> IO b
withCStruct x :: PhysicalDeviceVulkan11Features
x f :: Ptr PhysicalDeviceVulkan11Features -> IO b
f = Int -> Int -> (Ptr PhysicalDeviceVulkan11Features -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 64 8 ((Ptr PhysicalDeviceVulkan11Features -> IO b) -> IO b)
-> (Ptr PhysicalDeviceVulkan11Features -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr PhysicalDeviceVulkan11Features
p -> Ptr PhysicalDeviceVulkan11Features
-> PhysicalDeviceVulkan11Features -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceVulkan11Features
p PhysicalDeviceVulkan11Features
x (Ptr PhysicalDeviceVulkan11Features -> IO b
f Ptr PhysicalDeviceVulkan11Features
p)
pokeCStruct :: Ptr PhysicalDeviceVulkan11Features
-> PhysicalDeviceVulkan11Features -> IO b -> IO b
pokeCStruct p :: Ptr PhysicalDeviceVulkan11Features
p PhysicalDeviceVulkan11Features{..} f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
storageBuffer16BitAccess))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
uniformAndStorageBuffer16BitAccess))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
storagePushConstant16))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 28 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
storageInputOutput16))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
multiview))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 36 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
multiviewGeometryShader))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
multiviewTessellationShader))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 44 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
variablePointersStorageBuffer))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
variablePointers))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 52 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
protectedMemory))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
samplerYcbcrConversion))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 60 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderDrawParameters))
IO b
f
cStructSize :: Int
cStructSize = 64
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr PhysicalDeviceVulkan11Features -> IO b -> IO b
pokeZeroCStruct p :: Ptr PhysicalDeviceVulkan11Features
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 28 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 36 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 44 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 52 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 60 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceVulkan11Features where
peekCStruct :: Ptr PhysicalDeviceVulkan11Features
-> IO PhysicalDeviceVulkan11Features
peekCStruct p :: Ptr PhysicalDeviceVulkan11Features
p = do
Bool32
storageBuffer16BitAccess <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr Bool32))
Bool32
uniformAndStorageBuffer16BitAccess <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Bool32))
Bool32
storagePushConstant16 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Bool32))
Bool32
storageInputOutput16 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 28 :: Ptr Bool32))
Bool32
multiview <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr Bool32))
Bool32
multiviewGeometryShader <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 36 :: Ptr Bool32))
Bool32
multiviewTessellationShader <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr Bool32))
Bool32
variablePointersStorageBuffer <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 44 :: Ptr Bool32))
Bool32
variablePointers <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48 :: Ptr Bool32))
Bool32
protectedMemory <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 52 :: Ptr Bool32))
Bool32
samplerYcbcrConversion <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56 :: Ptr Bool32))
Bool32
shaderDrawParameters <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Features
p Ptr PhysicalDeviceVulkan11Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 60 :: Ptr Bool32))
PhysicalDeviceVulkan11Features -> IO PhysicalDeviceVulkan11Features
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceVulkan11Features
-> IO PhysicalDeviceVulkan11Features)
-> PhysicalDeviceVulkan11Features
-> IO PhysicalDeviceVulkan11Features
forall a b. (a -> b) -> a -> b
$ Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> PhysicalDeviceVulkan11Features
PhysicalDeviceVulkan11Features
(Bool32 -> Bool
bool32ToBool Bool32
storageBuffer16BitAccess) (Bool32 -> Bool
bool32ToBool Bool32
uniformAndStorageBuffer16BitAccess) (Bool32 -> Bool
bool32ToBool Bool32
storagePushConstant16) (Bool32 -> Bool
bool32ToBool Bool32
storageInputOutput16) (Bool32 -> Bool
bool32ToBool Bool32
multiview) (Bool32 -> Bool
bool32ToBool Bool32
multiviewGeometryShader) (Bool32 -> Bool
bool32ToBool Bool32
multiviewTessellationShader) (Bool32 -> Bool
bool32ToBool Bool32
variablePointersStorageBuffer) (Bool32 -> Bool
bool32ToBool Bool32
variablePointers) (Bool32 -> Bool
bool32ToBool Bool32
protectedMemory) (Bool32 -> Bool
bool32ToBool Bool32
samplerYcbcrConversion) (Bool32 -> Bool
bool32ToBool Bool32
shaderDrawParameters)
instance Storable PhysicalDeviceVulkan11Features where
sizeOf :: PhysicalDeviceVulkan11Features -> Int
sizeOf ~PhysicalDeviceVulkan11Features
_ = 64
alignment :: PhysicalDeviceVulkan11Features -> Int
alignment ~PhysicalDeviceVulkan11Features
_ = 8
peek :: Ptr PhysicalDeviceVulkan11Features
-> IO PhysicalDeviceVulkan11Features
peek = Ptr PhysicalDeviceVulkan11Features
-> IO PhysicalDeviceVulkan11Features
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceVulkan11Features
-> PhysicalDeviceVulkan11Features -> IO ()
poke ptr :: Ptr PhysicalDeviceVulkan11Features
ptr poked :: PhysicalDeviceVulkan11Features
poked = Ptr PhysicalDeviceVulkan11Features
-> PhysicalDeviceVulkan11Features -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceVulkan11Features
ptr PhysicalDeviceVulkan11Features
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceVulkan11Features where
zero :: PhysicalDeviceVulkan11Features
zero = Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> PhysicalDeviceVulkan11Features
PhysicalDeviceVulkan11Features
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
data PhysicalDeviceVulkan11Properties = PhysicalDeviceVulkan11Properties
{
PhysicalDeviceVulkan11Properties -> ByteString
deviceUUID :: ByteString
,
PhysicalDeviceVulkan11Properties -> ByteString
driverUUID :: ByteString
,
PhysicalDeviceVulkan11Properties -> ByteString
deviceLUID :: ByteString
,
PhysicalDeviceVulkan11Properties -> Word32
deviceNodeMask :: Word32
,
PhysicalDeviceVulkan11Properties -> Bool
deviceLUIDValid :: Bool
,
PhysicalDeviceVulkan11Properties -> Word32
subgroupSize :: Word32
,
PhysicalDeviceVulkan11Properties -> ShaderStageFlags
subgroupSupportedStages :: ShaderStageFlags
,
PhysicalDeviceVulkan11Properties -> SubgroupFeatureFlags
subgroupSupportedOperations :: SubgroupFeatureFlags
,
PhysicalDeviceVulkan11Properties -> Bool
subgroupQuadOperationsInAllStages :: Bool
,
PhysicalDeviceVulkan11Properties -> PointClippingBehavior
pointClippingBehavior :: PointClippingBehavior
,
PhysicalDeviceVulkan11Properties -> Word32
maxMultiviewViewCount :: Word32
,
PhysicalDeviceVulkan11Properties -> Word32
maxMultiviewInstanceIndex :: Word32
,
PhysicalDeviceVulkan11Properties -> Bool
protectedNoFault :: Bool
,
PhysicalDeviceVulkan11Properties -> Word32
maxPerSetDescriptors :: Word32
,
PhysicalDeviceVulkan11Properties -> DeviceSize
maxMemoryAllocationSize :: DeviceSize
}
deriving (Typeable)
deriving instance Show PhysicalDeviceVulkan11Properties
instance ToCStruct PhysicalDeviceVulkan11Properties where
withCStruct :: PhysicalDeviceVulkan11Properties
-> (Ptr PhysicalDeviceVulkan11Properties -> IO b) -> IO b
withCStruct x :: PhysicalDeviceVulkan11Properties
x f :: Ptr PhysicalDeviceVulkan11Properties -> IO b
f = Int
-> Int -> (Ptr PhysicalDeviceVulkan11Properties -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 112 8 ((Ptr PhysicalDeviceVulkan11Properties -> IO b) -> IO b)
-> (Ptr PhysicalDeviceVulkan11Properties -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr PhysicalDeviceVulkan11Properties
p -> Ptr PhysicalDeviceVulkan11Properties
-> PhysicalDeviceVulkan11Properties -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceVulkan11Properties
p PhysicalDeviceVulkan11Properties
x (Ptr PhysicalDeviceVulkan11Properties -> IO b
f Ptr PhysicalDeviceVulkan11Properties
p)
pokeCStruct :: Ptr PhysicalDeviceVulkan11Properties
-> PhysicalDeviceVulkan11Properties -> IO b -> IO b
pokeCStruct p :: Ptr PhysicalDeviceVulkan11Properties
p PhysicalDeviceVulkan11Properties{..} f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr (FixedArray UUID_SIZE Word8) -> ByteString -> IO ()
forall (n :: Nat).
KnownNat n =>
Ptr (FixedArray n Word8) -> ByteString -> IO ()
pokeFixedLengthByteString ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr (FixedArray UUID_SIZE Word8)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr (FixedArray UUID_SIZE Word8))) (ByteString
deviceUUID)
Ptr (FixedArray UUID_SIZE Word8) -> ByteString -> IO ()
forall (n :: Nat).
KnownNat n =>
Ptr (FixedArray n Word8) -> ByteString -> IO ()
pokeFixedLengthByteString ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr (FixedArray UUID_SIZE Word8)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr (FixedArray UUID_SIZE Word8))) (ByteString
driverUUID)
Ptr (FixedArray LUID_SIZE Word8) -> ByteString -> IO ()
forall (n :: Nat).
KnownNat n =>
Ptr (FixedArray n Word8) -> ByteString -> IO ()
pokeFixedLengthByteString ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr (FixedArray LUID_SIZE Word8)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48 :: Ptr (FixedArray LUID_SIZE Word8))) (ByteString
deviceLUID)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56 :: Ptr Word32)) (Word32
deviceNodeMask)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 60 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
deviceLUIDValid))
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 64 :: Ptr Word32)) (Word32
subgroupSize)
Ptr ShaderStageFlags -> ShaderStageFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr ShaderStageFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 68 :: Ptr ShaderStageFlags)) (ShaderStageFlags
subgroupSupportedStages)
Ptr SubgroupFeatureFlags -> SubgroupFeatureFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr SubgroupFeatureFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 72 :: Ptr SubgroupFeatureFlags)) (SubgroupFeatureFlags
subgroupSupportedOperations)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 76 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
subgroupQuadOperationsInAllStages))
Ptr PointClippingBehavior -> PointClippingBehavior -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr PointClippingBehavior
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 80 :: Ptr PointClippingBehavior)) (PointClippingBehavior
pointClippingBehavior)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 84 :: Ptr Word32)) (Word32
maxMultiviewViewCount)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 88 :: Ptr Word32)) (Word32
maxMultiviewInstanceIndex)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 92 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
protectedNoFault))
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 96 :: Ptr Word32)) (Word32
maxPerSetDescriptors)
Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 104 :: Ptr DeviceSize)) (DeviceSize
maxMemoryAllocationSize)
IO b
f
cStructSize :: Int
cStructSize = 112
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr PhysicalDeviceVulkan11Properties -> IO b -> IO b
pokeZeroCStruct p :: Ptr PhysicalDeviceVulkan11Properties
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr (FixedArray UUID_SIZE Word8) -> ByteString -> IO ()
forall (n :: Nat).
KnownNat n =>
Ptr (FixedArray n Word8) -> ByteString -> IO ()
pokeFixedLengthByteString ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr (FixedArray UUID_SIZE Word8)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr (FixedArray UUID_SIZE Word8))) (ByteString
forall a. Monoid a => a
mempty)
Ptr (FixedArray UUID_SIZE Word8) -> ByteString -> IO ()
forall (n :: Nat).
KnownNat n =>
Ptr (FixedArray n Word8) -> ByteString -> IO ()
pokeFixedLengthByteString ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr (FixedArray UUID_SIZE Word8)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr (FixedArray UUID_SIZE Word8))) (ByteString
forall a. Monoid a => a
mempty)
Ptr (FixedArray LUID_SIZE Word8) -> ByteString -> IO ()
forall (n :: Nat).
KnownNat n =>
Ptr (FixedArray n Word8) -> ByteString -> IO ()
pokeFixedLengthByteString ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr (FixedArray LUID_SIZE Word8)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48 :: Ptr (FixedArray LUID_SIZE Word8))) (ByteString
forall a. Monoid a => a
mempty)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 60 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 64 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr ShaderStageFlags -> ShaderStageFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr ShaderStageFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 68 :: Ptr ShaderStageFlags)) (ShaderStageFlags
forall a. Zero a => a
zero)
Ptr SubgroupFeatureFlags -> SubgroupFeatureFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr SubgroupFeatureFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 72 :: Ptr SubgroupFeatureFlags)) (SubgroupFeatureFlags
forall a. Zero a => a
zero)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 76 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr PointClippingBehavior -> PointClippingBehavior -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr PointClippingBehavior
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 80 :: Ptr PointClippingBehavior)) (PointClippingBehavior
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 84 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 88 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 92 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 96 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 104 :: Ptr DeviceSize)) (DeviceSize
forall a. Zero a => a
zero)
IO b
f
instance FromCStruct PhysicalDeviceVulkan11Properties where
peekCStruct :: Ptr PhysicalDeviceVulkan11Properties
-> IO PhysicalDeviceVulkan11Properties
peekCStruct p :: Ptr PhysicalDeviceVulkan11Properties
p = do
ByteString
deviceUUID <- Ptr (FixedArray UUID_SIZE Word8) -> IO ByteString
forall (n :: Nat).
KnownNat n =>
Ptr (FixedArray n Word8) -> IO ByteString
peekByteStringFromSizedVectorPtr ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr (FixedArray UUID_SIZE Word8)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr (FixedArray UUID_SIZE Word8)))
ByteString
driverUUID <- Ptr (FixedArray UUID_SIZE Word8) -> IO ByteString
forall (n :: Nat).
KnownNat n =>
Ptr (FixedArray n Word8) -> IO ByteString
peekByteStringFromSizedVectorPtr ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr (FixedArray UUID_SIZE Word8)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr (FixedArray UUID_SIZE Word8)))
ByteString
deviceLUID <- Ptr (FixedArray LUID_SIZE Word8) -> IO ByteString
forall (n :: Nat).
KnownNat n =>
Ptr (FixedArray n Word8) -> IO ByteString
peekByteStringFromSizedVectorPtr ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr (FixedArray LUID_SIZE Word8)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48 :: Ptr (FixedArray LUID_SIZE Word8)))
Word32
deviceNodeMask <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56 :: Ptr Word32))
Bool32
deviceLUIDValid <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 60 :: Ptr Bool32))
Word32
subgroupSize <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 64 :: Ptr Word32))
ShaderStageFlags
subgroupSupportedStages <- Ptr ShaderStageFlags -> IO ShaderStageFlags
forall a. Storable a => Ptr a -> IO a
peek @ShaderStageFlags ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr ShaderStageFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 68 :: Ptr ShaderStageFlags))
SubgroupFeatureFlags
subgroupSupportedOperations <- Ptr SubgroupFeatureFlags -> IO SubgroupFeatureFlags
forall a. Storable a => Ptr a -> IO a
peek @SubgroupFeatureFlags ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr SubgroupFeatureFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 72 :: Ptr SubgroupFeatureFlags))
Bool32
subgroupQuadOperationsInAllStages <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 76 :: Ptr Bool32))
PointClippingBehavior
pointClippingBehavior <- Ptr PointClippingBehavior -> IO PointClippingBehavior
forall a. Storable a => Ptr a -> IO a
peek @PointClippingBehavior ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties
-> Int -> Ptr PointClippingBehavior
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 80 :: Ptr PointClippingBehavior))
Word32
maxMultiviewViewCount <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 84 :: Ptr Word32))
Word32
maxMultiviewInstanceIndex <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 88 :: Ptr Word32))
Bool32
protectedNoFault <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 92 :: Ptr Bool32))
Word32
maxPerSetDescriptors <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 96 :: Ptr Word32))
DeviceSize
maxMemoryAllocationSize <- Ptr DeviceSize -> IO DeviceSize
forall a. Storable a => Ptr a -> IO a
peek @DeviceSize ((Ptr PhysicalDeviceVulkan11Properties
p Ptr PhysicalDeviceVulkan11Properties -> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 104 :: Ptr DeviceSize))
PhysicalDeviceVulkan11Properties
-> IO PhysicalDeviceVulkan11Properties
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceVulkan11Properties
-> IO PhysicalDeviceVulkan11Properties)
-> PhysicalDeviceVulkan11Properties
-> IO PhysicalDeviceVulkan11Properties
forall a b. (a -> b) -> a -> b
$ ByteString
-> ByteString
-> ByteString
-> Word32
-> Bool
-> Word32
-> ShaderStageFlags
-> SubgroupFeatureFlags
-> Bool
-> PointClippingBehavior
-> Word32
-> Word32
-> Bool
-> Word32
-> DeviceSize
-> PhysicalDeviceVulkan11Properties
PhysicalDeviceVulkan11Properties
ByteString
deviceUUID ByteString
driverUUID ByteString
deviceLUID Word32
deviceNodeMask (Bool32 -> Bool
bool32ToBool Bool32
deviceLUIDValid) Word32
subgroupSize ShaderStageFlags
subgroupSupportedStages SubgroupFeatureFlags
subgroupSupportedOperations (Bool32 -> Bool
bool32ToBool Bool32
subgroupQuadOperationsInAllStages) PointClippingBehavior
pointClippingBehavior Word32
maxMultiviewViewCount Word32
maxMultiviewInstanceIndex (Bool32 -> Bool
bool32ToBool Bool32
protectedNoFault) Word32
maxPerSetDescriptors DeviceSize
maxMemoryAllocationSize
instance Storable PhysicalDeviceVulkan11Properties where
sizeOf :: PhysicalDeviceVulkan11Properties -> Int
sizeOf ~PhysicalDeviceVulkan11Properties
_ = 112
alignment :: PhysicalDeviceVulkan11Properties -> Int
alignment ~PhysicalDeviceVulkan11Properties
_ = 8
peek :: Ptr PhysicalDeviceVulkan11Properties
-> IO PhysicalDeviceVulkan11Properties
peek = Ptr PhysicalDeviceVulkan11Properties
-> IO PhysicalDeviceVulkan11Properties
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceVulkan11Properties
-> PhysicalDeviceVulkan11Properties -> IO ()
poke ptr :: Ptr PhysicalDeviceVulkan11Properties
ptr poked :: PhysicalDeviceVulkan11Properties
poked = Ptr PhysicalDeviceVulkan11Properties
-> PhysicalDeviceVulkan11Properties -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceVulkan11Properties
ptr PhysicalDeviceVulkan11Properties
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceVulkan11Properties where
zero :: PhysicalDeviceVulkan11Properties
zero = ByteString
-> ByteString
-> ByteString
-> Word32
-> Bool
-> Word32
-> ShaderStageFlags
-> SubgroupFeatureFlags
-> Bool
-> PointClippingBehavior
-> Word32
-> Word32
-> Bool
-> Word32
-> DeviceSize
-> PhysicalDeviceVulkan11Properties
PhysicalDeviceVulkan11Properties
ByteString
forall a. Monoid a => a
mempty
ByteString
forall a. Monoid a => a
mempty
ByteString
forall a. Monoid a => a
mempty
Word32
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
ShaderStageFlags
forall a. Zero a => a
zero
SubgroupFeatureFlags
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
PointClippingBehavior
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
DeviceSize
forall a. Zero a => a
zero
data PhysicalDeviceVulkan12Features = PhysicalDeviceVulkan12Features
{
PhysicalDeviceVulkan12Features -> Bool
samplerMirrorClampToEdge :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
drawIndirectCount :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
storageBuffer8BitAccess :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
uniformAndStorageBuffer8BitAccess :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
storagePushConstant8 :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderBufferInt64Atomics :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderSharedInt64Atomics :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderFloat16 :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderInt8 :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
descriptorIndexing :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderInputAttachmentArrayDynamicIndexing :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderUniformTexelBufferArrayDynamicIndexing :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderStorageTexelBufferArrayDynamicIndexing :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderUniformBufferArrayNonUniformIndexing :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderSampledImageArrayNonUniformIndexing :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderStorageBufferArrayNonUniformIndexing :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderStorageImageArrayNonUniformIndexing :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderInputAttachmentArrayNonUniformIndexing :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderUniformTexelBufferArrayNonUniformIndexing :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderStorageTexelBufferArrayNonUniformIndexing :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
descriptorBindingUniformBufferUpdateAfterBind :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
descriptorBindingSampledImageUpdateAfterBind :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
descriptorBindingStorageImageUpdateAfterBind :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
descriptorBindingStorageBufferUpdateAfterBind :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
descriptorBindingUniformTexelBufferUpdateAfterBind :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
descriptorBindingStorageTexelBufferUpdateAfterBind :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
descriptorBindingUpdateUnusedWhilePending :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
descriptorBindingPartiallyBound :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
descriptorBindingVariableDescriptorCount :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
runtimeDescriptorArray :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
samplerFilterMinmax :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
scalarBlockLayout :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
imagelessFramebuffer :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
uniformBufferStandardLayout :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderSubgroupExtendedTypes :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
separateDepthStencilLayouts :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
hostQueryReset :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
timelineSemaphore :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
bufferDeviceAddress :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
bufferDeviceAddressCaptureReplay :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
bufferDeviceAddressMultiDevice :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
vulkanMemoryModel :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
vulkanMemoryModelDeviceScope :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
vulkanMemoryModelAvailabilityVisibilityChains :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderOutputViewportIndex :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
shaderOutputLayer :: Bool
,
PhysicalDeviceVulkan12Features -> Bool
subgroupBroadcastDynamicId :: Bool
}
deriving (Typeable)
deriving instance Show PhysicalDeviceVulkan12Features
instance ToCStruct PhysicalDeviceVulkan12Features where
withCStruct :: PhysicalDeviceVulkan12Features
-> (Ptr PhysicalDeviceVulkan12Features -> IO b) -> IO b
withCStruct x :: PhysicalDeviceVulkan12Features
x f :: Ptr PhysicalDeviceVulkan12Features -> IO b
f = Int -> Int -> (Ptr PhysicalDeviceVulkan12Features -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 208 8 ((Ptr PhysicalDeviceVulkan12Features -> IO b) -> IO b)
-> (Ptr PhysicalDeviceVulkan12Features -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr PhysicalDeviceVulkan12Features
p -> Ptr PhysicalDeviceVulkan12Features
-> PhysicalDeviceVulkan12Features -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceVulkan12Features
p PhysicalDeviceVulkan12Features
x (Ptr PhysicalDeviceVulkan12Features -> IO b
f Ptr PhysicalDeviceVulkan12Features
p)
pokeCStruct :: Ptr PhysicalDeviceVulkan12Features
-> PhysicalDeviceVulkan12Features -> IO b -> IO b
pokeCStruct p :: Ptr PhysicalDeviceVulkan12Features
p PhysicalDeviceVulkan12Features{..} f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
samplerMirrorClampToEdge))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
drawIndirectCount))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
storageBuffer8BitAccess))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 28 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
uniformAndStorageBuffer8BitAccess))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
storagePushConstant8))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 36 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderBufferInt64Atomics))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderSharedInt64Atomics))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 44 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderFloat16))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderInt8))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 52 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
descriptorIndexing))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderInputAttachmentArrayDynamicIndexing))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 60 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderUniformTexelBufferArrayDynamicIndexing))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 64 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderStorageTexelBufferArrayDynamicIndexing))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 68 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderUniformBufferArrayNonUniformIndexing))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 72 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderSampledImageArrayNonUniformIndexing))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 76 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderStorageBufferArrayNonUniformIndexing))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 80 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderStorageImageArrayNonUniformIndexing))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 84 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderInputAttachmentArrayNonUniformIndexing))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 88 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderUniformTexelBufferArrayNonUniformIndexing))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 92 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderStorageTexelBufferArrayNonUniformIndexing))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 96 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
descriptorBindingUniformBufferUpdateAfterBind))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 100 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
descriptorBindingSampledImageUpdateAfterBind))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 104 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
descriptorBindingStorageImageUpdateAfterBind))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 108 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
descriptorBindingStorageBufferUpdateAfterBind))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 112 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
descriptorBindingUniformTexelBufferUpdateAfterBind))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 116 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
descriptorBindingStorageTexelBufferUpdateAfterBind))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 120 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
descriptorBindingUpdateUnusedWhilePending))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 124 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
descriptorBindingPartiallyBound))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 128 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
descriptorBindingVariableDescriptorCount))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 132 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
runtimeDescriptorArray))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 136 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
samplerFilterMinmax))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 140 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
scalarBlockLayout))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 144 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
imagelessFramebuffer))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 148 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
uniformBufferStandardLayout))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 152 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderSubgroupExtendedTypes))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 156 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
separateDepthStencilLayouts))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 160 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
hostQueryReset))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 164 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
timelineSemaphore))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 168 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
bufferDeviceAddress))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 172 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
bufferDeviceAddressCaptureReplay))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 176 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
bufferDeviceAddressMultiDevice))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 180 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
vulkanMemoryModel))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 184 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
vulkanMemoryModelDeviceScope))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 188 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
vulkanMemoryModelAvailabilityVisibilityChains))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 192 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderOutputViewportIndex))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 196 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderOutputLayer))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 200 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
subgroupBroadcastDynamicId))
IO b
f
cStructSize :: Int
cStructSize = 208
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr PhysicalDeviceVulkan12Features -> IO b -> IO b
pokeZeroCStruct p :: Ptr PhysicalDeviceVulkan12Features
p f :: IO b
f = do
Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES)
Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 28 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 36 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 44 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 52 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 60 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 64 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 68 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 72 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 76 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 80 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 84 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 88 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 92 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 96 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 100 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 104 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 108 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 112 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 116 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 120 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 124 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 128 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 132 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 136 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 140 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 144 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 148 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 152 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 156 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 160 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 164 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 168 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 172 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 176 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 180 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 184 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 188 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 192 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 196 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 200 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO b
f
instance FromCStruct PhysicalDeviceVulkan12Features where
peekCStruct :: Ptr PhysicalDeviceVulkan12Features
-> IO PhysicalDeviceVulkan12Features
peekCStruct p :: Ptr PhysicalDeviceVulkan12Features
p = do
Bool32
samplerMirrorClampToEdge <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr Bool32))
Bool32
drawIndirectCount <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr Bool32))
Bool32
storageBuffer8BitAccess <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24 :: Ptr Bool32))
Bool32
uniformAndStorageBuffer8BitAccess <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 28 :: Ptr Bool32))
Bool32
storagePushConstant8 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32 :: Ptr Bool32))
Bool32
shaderBufferInt64Atomics <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 36 :: Ptr Bool32))
Bool32
shaderSharedInt64Atomics <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40 :: Ptr Bool32))
Bool32
shaderFloat16 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 44 :: Ptr Bool32))
Bool32
shaderInt8 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48 :: Ptr Bool32))
Bool32
descriptorIndexing <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 52 :: Ptr Bool32))
Bool32
shaderInputAttachmentArrayDynamicIndexing <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56 :: Ptr Bool32))
Bool32
shaderUniformTexelBufferArrayDynamicIndexing <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 60 :: Ptr Bool32))
Bool32
shaderStorageTexelBufferArrayDynamicIndexing <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 64 :: Ptr Bool32))
Bool32
shaderUniformBufferArrayNonUniformIndexing <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 68 :: Ptr Bool32))
Bool32
shaderSampledImageArrayNonUniformIndexing <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 72 :: Ptr Bool32))
Bool32
shaderStorageBufferArrayNonUniformIndexing <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 76 :: Ptr Bool32))
Bool32
shaderStorageImageArrayNonUniformIndexing <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 80 :: Ptr Bool32))
Bool32
shaderInputAttachmentArrayNonUniformIndexing <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 84 :: Ptr Bool32))
Bool32
shaderUniformTexelBufferArrayNonUniformIndexing <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 88 :: Ptr Bool32))
Bool32
shaderStorageTexelBufferArrayNonUniformIndexing <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 92 :: Ptr Bool32))
Bool32
descriptorBindingUniformBufferUpdateAfterBind <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 96 :: Ptr Bool32))
Bool32
descriptorBindingSampledImageUpdateAfterBind <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 100 :: Ptr Bool32))
Bool32
descriptorBindingStorageImageUpdateAfterBind <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 104 :: Ptr Bool32))
Bool32
descriptorBindingStorageBufferUpdateAfterBind <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 108 :: Ptr Bool32))
Bool32
descriptorBindingUniformTexelBufferUpdateAfterBind <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 112 :: Ptr Bool32))
Bool32
descriptorBindingStorageTexelBufferUpdateAfterBind <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 116 :: Ptr Bool32))
Bool32
descriptorBindingUpdateUnusedWhilePending <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 120 :: Ptr Bool32))
Bool32
descriptorBindingPartiallyBound <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 124 :: Ptr Bool32))
Bool32
descriptorBindingVariableDescriptorCount <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 128 :: Ptr Bool32))
Bool32
runtimeDescriptorArray <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 132 :: Ptr Bool32))
Bool32
samplerFilterMinmax <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 136 :: Ptr Bool32))
Bool32
scalarBlockLayout <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 140 :: Ptr Bool32))
Bool32
imagelessFramebuffer <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 144 :: Ptr Bool32))
Bool32
uniformBufferStandardLayout <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 148 :: Ptr Bool32))
Bool32
shaderSubgroupExtendedTypes <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 152 :: Ptr Bool32))
Bool32
separateDepthStencilLayouts <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 156 :: Ptr Bool32))
Bool32
hostQueryReset <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 160 :: Ptr Bool32))
Bool32
timelineSemaphore <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 164 :: Ptr Bool32))
Bool32
bufferDeviceAddress <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 168 :: Ptr Bool32))
Bool32
bufferDeviceAddressCaptureReplay <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 172 :: Ptr Bool32))
Bool32
bufferDeviceAddressMultiDevice <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 176 :: Ptr Bool32))
Bool32
vulkanMemoryModel <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 180 :: Ptr Bool32))
Bool32
vulkanMemoryModelDeviceScope <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 184 :: Ptr Bool32))
Bool32
vulkanMemoryModelAvailabilityVisibilityChains <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 188 :: Ptr Bool32))
Bool32
shaderOutputViewportIndex <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 192 :: Ptr Bool32))
Bool32
shaderOutputLayer <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 196 :: Ptr Bool32))
Bool32
subgroupBroadcastDynamicId <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Features
p Ptr PhysicalDeviceVulkan12Features -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 200 :: Ptr Bool32))
PhysicalDeviceVulkan12Features -> IO PhysicalDeviceVulkan12Features
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceVulkan12Features
-> IO PhysicalDeviceVulkan12Features)
-> PhysicalDeviceVulkan12Features
-> IO PhysicalDeviceVulkan12Features
forall a b. (a -> b) -> a -> b
$ Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> PhysicalDeviceVulkan12Features
PhysicalDeviceVulkan12Features
(Bool32 -> Bool
bool32ToBool Bool32
samplerMirrorClampToEdge) (Bool32 -> Bool
bool32ToBool Bool32
drawIndirectCount) (Bool32 -> Bool
bool32ToBool Bool32
storageBuffer8BitAccess) (Bool32 -> Bool
bool32ToBool Bool32
uniformAndStorageBuffer8BitAccess) (Bool32 -> Bool
bool32ToBool Bool32
storagePushConstant8) (Bool32 -> Bool
bool32ToBool Bool32
shaderBufferInt64Atomics) (Bool32 -> Bool
bool32ToBool Bool32
shaderSharedInt64Atomics) (Bool32 -> Bool
bool32ToBool Bool32
shaderFloat16) (Bool32 -> Bool
bool32ToBool Bool32
shaderInt8) (Bool32 -> Bool
bool32ToBool Bool32
descriptorIndexing) (Bool32 -> Bool
bool32ToBool Bool32
shaderInputAttachmentArrayDynamicIndexing) (Bool32 -> Bool
bool32ToBool Bool32
shaderUniformTexelBufferArrayDynamicIndexing) (Bool32 -> Bool
bool32ToBool Bool32
shaderStorageTexelBufferArrayDynamicIndexing) (Bool32 -> Bool
bool32ToBool Bool32
shaderUniformBufferArrayNonUniformIndexing) (Bool32 -> Bool
bool32ToBool Bool32
shaderSampledImageArrayNonUniformIndexing) (Bool32 -> Bool
bool32ToBool Bool32
shaderStorageBufferArrayNonUniformIndexing) (Bool32 -> Bool
bool32ToBool Bool32
shaderStorageImageArrayNonUniformIndexing) (Bool32 -> Bool
bool32ToBool Bool32
shaderInputAttachmentArrayNonUniformIndexing) (Bool32 -> Bool
bool32ToBool Bool32
shaderUniformTexelBufferArrayNonUniformIndexing) (Bool32 -> Bool
bool32ToBool Bool32
shaderStorageTexelBufferArrayNonUniformIndexing) (Bool32 -> Bool
bool32ToBool Bool32
descriptorBindingUniformBufferUpdateAfterBind) (Bool32 -> Bool
bool32ToBool Bool32
descriptorBindingSampledImageUpdateAfterBind) (Bool32 -> Bool
bool32ToBool Bool32
descriptorBindingStorageImageUpdateAfterBind) (Bool32 -> Bool
bool32ToBool Bool32
descriptorBindingStorageBufferUpdateAfterBind) (Bool32 -> Bool
bool32ToBool Bool32
descriptorBindingUniformTexelBufferUpdateAfterBind) (Bool32 -> Bool
bool32ToBool Bool32
descriptorBindingStorageTexelBufferUpdateAfterBind) (Bool32 -> Bool
bool32ToBool Bool32
descriptorBindingUpdateUnusedWhilePending) (Bool32 -> Bool
bool32ToBool Bool32
descriptorBindingPartiallyBound) (Bool32 -> Bool
bool32ToBool Bool32
descriptorBindingVariableDescriptorCount) (Bool32 -> Bool
bool32ToBool Bool32
runtimeDescriptorArray) (Bool32 -> Bool
bool32ToBool Bool32
samplerFilterMinmax) (Bool32 -> Bool
bool32ToBool Bool32
scalarBlockLayout) (Bool32 -> Bool
bool32ToBool Bool32
imagelessFramebuffer) (Bool32 -> Bool
bool32ToBool Bool32
uniformBufferStandardLayout) (Bool32 -> Bool
bool32ToBool Bool32
shaderSubgroupExtendedTypes) (Bool32 -> Bool
bool32ToBool Bool32
separateDepthStencilLayouts) (Bool32 -> Bool
bool32ToBool Bool32
hostQueryReset) (Bool32 -> Bool
bool32ToBool Bool32
timelineSemaphore) (Bool32 -> Bool
bool32ToBool Bool32
bufferDeviceAddress) (Bool32 -> Bool
bool32ToBool Bool32
bufferDeviceAddressCaptureReplay) (Bool32 -> Bool
bool32ToBool Bool32
bufferDeviceAddressMultiDevice) (Bool32 -> Bool
bool32ToBool Bool32
vulkanMemoryModel) (Bool32 -> Bool
bool32ToBool Bool32
vulkanMemoryModelDeviceScope) (Bool32 -> Bool
bool32ToBool Bool32
vulkanMemoryModelAvailabilityVisibilityChains) (Bool32 -> Bool
bool32ToBool Bool32
shaderOutputViewportIndex) (Bool32 -> Bool
bool32ToBool Bool32
shaderOutputLayer) (Bool32 -> Bool
bool32ToBool Bool32
subgroupBroadcastDynamicId)
instance Storable PhysicalDeviceVulkan12Features where
sizeOf :: PhysicalDeviceVulkan12Features -> Int
sizeOf ~PhysicalDeviceVulkan12Features
_ = 208
alignment :: PhysicalDeviceVulkan12Features -> Int
alignment ~PhysicalDeviceVulkan12Features
_ = 8
peek :: Ptr PhysicalDeviceVulkan12Features
-> IO PhysicalDeviceVulkan12Features
peek = Ptr PhysicalDeviceVulkan12Features
-> IO PhysicalDeviceVulkan12Features
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct
poke :: Ptr PhysicalDeviceVulkan12Features
-> PhysicalDeviceVulkan12Features -> IO ()
poke ptr :: Ptr PhysicalDeviceVulkan12Features
ptr poked :: PhysicalDeviceVulkan12Features
poked = Ptr PhysicalDeviceVulkan12Features
-> PhysicalDeviceVulkan12Features -> IO () -> IO ()
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceVulkan12Features
ptr PhysicalDeviceVulkan12Features
poked (() -> IO ()
forall (f :: * -> *) a. Applicative f => a -> f a
pure ())
instance Zero PhysicalDeviceVulkan12Features where
zero :: PhysicalDeviceVulkan12Features
zero = Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> PhysicalDeviceVulkan12Features
PhysicalDeviceVulkan12Features
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
data PhysicalDeviceVulkan12Properties = PhysicalDeviceVulkan12Properties
{
PhysicalDeviceVulkan12Properties -> DriverId
driverID :: DriverId
,
PhysicalDeviceVulkan12Properties -> ByteString
driverName :: ByteString
,
PhysicalDeviceVulkan12Properties -> ByteString
driverInfo :: ByteString
,
PhysicalDeviceVulkan12Properties -> ConformanceVersion
conformanceVersion :: ConformanceVersion
,
PhysicalDeviceVulkan12Properties -> ShaderFloatControlsIndependence
denormBehaviorIndependence :: ShaderFloatControlsIndependence
,
PhysicalDeviceVulkan12Properties -> ShaderFloatControlsIndependence
roundingModeIndependence :: ShaderFloatControlsIndependence
,
PhysicalDeviceVulkan12Properties -> Bool
shaderSignedZeroInfNanPreserveFloat16 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderSignedZeroInfNanPreserveFloat32 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderSignedZeroInfNanPreserveFloat64 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderDenormPreserveFloat16 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderDenormPreserveFloat32 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderDenormPreserveFloat64 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderDenormFlushToZeroFloat16 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderDenormFlushToZeroFloat32 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderDenormFlushToZeroFloat64 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderRoundingModeRTEFloat16 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderRoundingModeRTEFloat32 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderRoundingModeRTEFloat64 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderRoundingModeRTZFloat16 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderRoundingModeRTZFloat32 :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderRoundingModeRTZFloat64 :: Bool
,
PhysicalDeviceVulkan12Properties -> Word32
maxUpdateAfterBindDescriptorsInAllPools :: Word32
,
PhysicalDeviceVulkan12Properties -> Bool
shaderUniformBufferArrayNonUniformIndexingNative :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderSampledImageArrayNonUniformIndexingNative :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderStorageBufferArrayNonUniformIndexingNative :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderStorageImageArrayNonUniformIndexingNative :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
shaderInputAttachmentArrayNonUniformIndexingNative :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
robustBufferAccessUpdateAfterBind :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
quadDivergentImplicitLod :: Bool
,
PhysicalDeviceVulkan12Properties -> Word32
maxPerStageDescriptorUpdateAfterBindSamplers :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxPerStageDescriptorUpdateAfterBindUniformBuffers :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxPerStageDescriptorUpdateAfterBindStorageBuffers :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxPerStageDescriptorUpdateAfterBindSampledImages :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxPerStageDescriptorUpdateAfterBindStorageImages :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxPerStageDescriptorUpdateAfterBindInputAttachments :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxPerStageUpdateAfterBindResources :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxDescriptorSetUpdateAfterBindSamplers :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxDescriptorSetUpdateAfterBindUniformBuffers :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxDescriptorSetUpdateAfterBindUniformBuffersDynamic :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxDescriptorSetUpdateAfterBindStorageBuffers :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxDescriptorSetUpdateAfterBindStorageBuffersDynamic :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxDescriptorSetUpdateAfterBindSampledImages :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxDescriptorSetUpdateAfterBindStorageImages :: Word32
,
PhysicalDeviceVulkan12Properties -> Word32
maxDescriptorSetUpdateAfterBindInputAttachments :: Word32
,
PhysicalDeviceVulkan12Properties -> ResolveModeFlags
supportedDepthResolveModes :: ResolveModeFlags
,
PhysicalDeviceVulkan12Properties -> ResolveModeFlags
supportedStencilResolveModes :: ResolveModeFlags
,
PhysicalDeviceVulkan12Properties -> Bool
independentResolveNone :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
independentResolve :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
filterMinmaxSingleComponentFormats :: Bool
,
PhysicalDeviceVulkan12Properties -> Bool
filterMinmaxImageComponentMapping :: Bool
,
PhysicalDeviceVulkan12Properties -> DeviceSize
maxTimelineSemaphoreValueDifference :: Word64
,
PhysicalDeviceVulkan12Properties -> SampleCountFlags
framebufferIntegerColorSampleCounts :: SampleCountFlags
}
deriving (Typeable)
deriving instance Show PhysicalDeviceVulkan12Properties
instance ToCStruct PhysicalDeviceVulkan12Properties where
withCStruct :: PhysicalDeviceVulkan12Properties
-> (Ptr PhysicalDeviceVulkan12Properties -> IO b) -> IO b
withCStruct x :: PhysicalDeviceVulkan12Properties
x f :: Ptr PhysicalDeviceVulkan12Properties -> IO b
f = Int
-> Int -> (Ptr PhysicalDeviceVulkan12Properties -> IO b) -> IO b
forall a b. Int -> Int -> (Ptr a -> IO b) -> IO b
allocaBytesAligned 736 8 ((Ptr PhysicalDeviceVulkan12Properties -> IO b) -> IO b)
-> (Ptr PhysicalDeviceVulkan12Properties -> IO b) -> IO b
forall a b. (a -> b) -> a -> b
$ \p :: Ptr PhysicalDeviceVulkan12Properties
p -> Ptr PhysicalDeviceVulkan12Properties
-> PhysicalDeviceVulkan12Properties -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct Ptr PhysicalDeviceVulkan12Properties
p PhysicalDeviceVulkan12Properties
x (Ptr PhysicalDeviceVulkan12Properties -> IO b
f Ptr PhysicalDeviceVulkan12Properties
p)
pokeCStruct :: Ptr PhysicalDeviceVulkan12Properties
-> PhysicalDeviceVulkan12Properties -> IO b -> IO b
pokeCStruct p :: Ptr PhysicalDeviceVulkan12Properties
p PhysicalDeviceVulkan12Properties{..} f :: IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DriverId -> DriverId -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr DriverId
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr DriverId)) (DriverId
driverID)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar) -> ByteString -> IO ()
forall (n :: Nat).
KnownNat n =>
Ptr (FixedArray n CChar) -> ByteString -> IO ()
pokeFixedLengthNullTerminatedByteString ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar))) (ByteString
driverName)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar) -> ByteString -> IO ()
forall (n :: Nat).
KnownNat n =>
Ptr (FixedArray n CChar) -> ByteString -> IO ()
pokeFixedLengthNullTerminatedByteString ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 276 :: Ptr (FixedArray MAX_DRIVER_INFO_SIZE CChar))) (ByteString
driverInfo)
((() -> IO b) -> IO b) -> ContT b IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ConformanceVersion -> ConformanceVersion -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr ConformanceVersion
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 532 :: Ptr ConformanceVersion)) (ConformanceVersion
conformanceVersion) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ShaderFloatControlsIndependence
-> ShaderFloatControlsIndependence -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr ShaderFloatControlsIndependence
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 536 :: Ptr ShaderFloatControlsIndependence)) (ShaderFloatControlsIndependence
denormBehaviorIndependence)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ShaderFloatControlsIndependence
-> ShaderFloatControlsIndependence -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr ShaderFloatControlsIndependence
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 540 :: Ptr ShaderFloatControlsIndependence)) (ShaderFloatControlsIndependence
roundingModeIndependence)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 544 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderSignedZeroInfNanPreserveFloat16))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 548 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderSignedZeroInfNanPreserveFloat32))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 552 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderSignedZeroInfNanPreserveFloat64))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 556 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderDenormPreserveFloat16))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 560 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderDenormPreserveFloat32))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 564 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderDenormPreserveFloat64))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 568 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderDenormFlushToZeroFloat16))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 572 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderDenormFlushToZeroFloat32))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 576 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderDenormFlushToZeroFloat64))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 580 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderRoundingModeRTEFloat16))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 584 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderRoundingModeRTEFloat32))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 588 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderRoundingModeRTEFloat64))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 592 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderRoundingModeRTZFloat16))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 596 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderRoundingModeRTZFloat32))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 600 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderRoundingModeRTZFloat64))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 604 :: Ptr Word32)) (Word32
maxUpdateAfterBindDescriptorsInAllPools)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 608 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderUniformBufferArrayNonUniformIndexingNative))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 612 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderSampledImageArrayNonUniformIndexingNative))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 616 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderStorageBufferArrayNonUniformIndexingNative))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 620 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderStorageImageArrayNonUniformIndexingNative))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 624 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
shaderInputAttachmentArrayNonUniformIndexingNative))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 628 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
robustBufferAccessUpdateAfterBind))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 632 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
quadDivergentImplicitLod))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 636 :: Ptr Word32)) (Word32
maxPerStageDescriptorUpdateAfterBindSamplers)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 640 :: Ptr Word32)) (Word32
maxPerStageDescriptorUpdateAfterBindUniformBuffers)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 644 :: Ptr Word32)) (Word32
maxPerStageDescriptorUpdateAfterBindStorageBuffers)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 648 :: Ptr Word32)) (Word32
maxPerStageDescriptorUpdateAfterBindSampledImages)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 652 :: Ptr Word32)) (Word32
maxPerStageDescriptorUpdateAfterBindStorageImages)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 656 :: Ptr Word32)) (Word32
maxPerStageDescriptorUpdateAfterBindInputAttachments)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 660 :: Ptr Word32)) (Word32
maxPerStageUpdateAfterBindResources)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 664 :: Ptr Word32)) (Word32
maxDescriptorSetUpdateAfterBindSamplers)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 668 :: Ptr Word32)) (Word32
maxDescriptorSetUpdateAfterBindUniformBuffers)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 672 :: Ptr Word32)) (Word32
maxDescriptorSetUpdateAfterBindUniformBuffersDynamic)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 676 :: Ptr Word32)) (Word32
maxDescriptorSetUpdateAfterBindStorageBuffers)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 680 :: Ptr Word32)) (Word32
maxDescriptorSetUpdateAfterBindStorageBuffersDynamic)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 684 :: Ptr Word32)) (Word32
maxDescriptorSetUpdateAfterBindSampledImages)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 688 :: Ptr Word32)) (Word32
maxDescriptorSetUpdateAfterBindStorageImages)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 692 :: Ptr Word32)) (Word32
maxDescriptorSetUpdateAfterBindInputAttachments)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ResolveModeFlags -> ResolveModeFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr ResolveModeFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 696 :: Ptr ResolveModeFlags)) (ResolveModeFlags
supportedDepthResolveModes)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ResolveModeFlags -> ResolveModeFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr ResolveModeFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 700 :: Ptr ResolveModeFlags)) (ResolveModeFlags
supportedStencilResolveModes)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 704 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
independentResolveNone))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 708 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
independentResolve))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 712 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
filterMinmaxSingleComponentFormats))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 716 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
filterMinmaxImageComponentMapping))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 720 :: Ptr Word64)) (DeviceSize
maxTimelineSemaphoreValueDifference)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr SampleCountFlags -> SampleCountFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr SampleCountFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 728 :: Ptr SampleCountFlags)) (SampleCountFlags
framebufferIntegerColorSampleCounts)
IO b -> ContT b IO b
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
cStructSize :: Int
cStructSize = 736
cStructAlignment :: Int
cStructAlignment = 8
pokeZeroCStruct :: Ptr PhysicalDeviceVulkan12Properties -> IO b -> IO b
pokeZeroCStruct p :: Ptr PhysicalDeviceVulkan12Properties
p f :: IO b
f = ContT b IO b -> IO b
forall (m :: * -> *) r. Monad m => ContT r m r -> m r
evalContT (ContT b IO b -> IO b) -> ContT b IO b -> IO b
forall a b. (a -> b) -> a -> b
$ do
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr StructureType -> StructureType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr StructureType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0 :: Ptr StructureType)) (StructureType
STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr ()) -> Ptr () -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr (Ptr ())
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8 :: Ptr (Ptr ()))) (Ptr ()
forall a. Ptr a
nullPtr)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DriverId -> DriverId -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr DriverId
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr DriverId)) (DriverId
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar) -> ByteString -> IO ()
forall (n :: Nat).
KnownNat n =>
Ptr (FixedArray n CChar) -> ByteString -> IO ()
pokeFixedLengthNullTerminatedByteString ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar))) (ByteString
forall a. Monoid a => a
mempty)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar) -> ByteString -> IO ()
forall (n :: Nat).
KnownNat n =>
Ptr (FixedArray n CChar) -> ByteString -> IO ()
pokeFixedLengthNullTerminatedByteString ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 276 :: Ptr (FixedArray MAX_DRIVER_INFO_SIZE CChar))) (ByteString
forall a. Monoid a => a
mempty)
((() -> IO b) -> IO b) -> ContT b IO ()
forall k (r :: k) (m :: k -> *) a.
((a -> m r) -> m r) -> ContT r m a
ContT (((() -> IO b) -> IO b) -> ContT b IO ())
-> ((() -> IO b) -> IO b) -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ConformanceVersion -> ConformanceVersion -> IO b -> IO b
forall a b. ToCStruct a => Ptr a -> a -> IO b -> IO b
pokeCStruct ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr ConformanceVersion
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 532 :: Ptr ConformanceVersion)) (ConformanceVersion
forall a. Zero a => a
zero) (IO b -> IO b) -> ((() -> IO b) -> IO b) -> (() -> IO b) -> IO b
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((() -> IO b) -> () -> IO b
forall a b. (a -> b) -> a -> b
$ ())
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ShaderFloatControlsIndependence
-> ShaderFloatControlsIndependence -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr ShaderFloatControlsIndependence
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 536 :: Ptr ShaderFloatControlsIndependence)) (ShaderFloatControlsIndependence
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ShaderFloatControlsIndependence
-> ShaderFloatControlsIndependence -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr ShaderFloatControlsIndependence
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 540 :: Ptr ShaderFloatControlsIndependence)) (ShaderFloatControlsIndependence
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 544 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 548 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 552 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 556 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 560 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 564 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 568 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 572 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 576 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 580 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 584 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 588 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 592 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 596 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 600 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 604 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 608 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 612 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 616 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 620 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 624 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 628 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 632 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 636 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 640 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 644 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 648 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 652 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 656 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 660 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 664 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 668 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 672 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 676 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 680 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 684 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 688 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 692 :: Ptr Word32)) (Word32
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ResolveModeFlags -> ResolveModeFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr ResolveModeFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 696 :: Ptr ResolveModeFlags)) (ResolveModeFlags
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr ResolveModeFlags -> ResolveModeFlags -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr ResolveModeFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 700 :: Ptr ResolveModeFlags)) (ResolveModeFlags
forall a. Zero a => a
zero)
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 704 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 708 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 712 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Bool32 -> Bool32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 716 :: Ptr Bool32)) (Bool -> Bool32
boolToBool32 (Bool
forall a. Zero a => a
zero))
IO () -> ContT b IO ()
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO () -> ContT b IO ()) -> IO () -> ContT b IO ()
forall a b. (a -> b) -> a -> b
$ Ptr DeviceSize -> DeviceSize -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 720 :: Ptr Word64)) (DeviceSize
forall a. Zero a => a
zero)
IO b -> ContT b IO b
forall (t :: (* -> *) -> * -> *) (m :: * -> *) a.
(MonadTrans t, Monad m) =>
m a -> t m a
lift (IO b -> ContT b IO b) -> IO b -> ContT b IO b
forall a b. (a -> b) -> a -> b
$ IO b
f
instance FromCStruct PhysicalDeviceVulkan12Properties where
peekCStruct :: Ptr PhysicalDeviceVulkan12Properties
-> IO PhysicalDeviceVulkan12Properties
peekCStruct p :: Ptr PhysicalDeviceVulkan12Properties
p = do
DriverId
driverID <- Ptr DriverId -> IO DriverId
forall a. Storable a => Ptr a -> IO a
peek @DriverId ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr DriverId
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16 :: Ptr DriverId))
ByteString
driverName <- CString -> IO ByteString
packCString (Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar) -> CString
forall a (n :: Nat). Ptr (FixedArray n a) -> Ptr a
lowerArrayPtr ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 20 :: Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar))))
ByteString
driverInfo <- CString -> IO ByteString
packCString (Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar) -> CString
forall a (n :: Nat). Ptr (FixedArray n a) -> Ptr a
lowerArrayPtr ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr (FixedArray MAX_DRIVER_NAME_SIZE CChar)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 276 :: Ptr (FixedArray MAX_DRIVER_INFO_SIZE CChar))))
ConformanceVersion
conformanceVersion <- Ptr ConformanceVersion -> IO ConformanceVersion
forall a. FromCStruct a => Ptr a -> IO a
peekCStruct @ConformanceVersion ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr ConformanceVersion
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 532 :: Ptr ConformanceVersion))
ShaderFloatControlsIndependence
denormBehaviorIndependence <- Ptr ShaderFloatControlsIndependence
-> IO ShaderFloatControlsIndependence
forall a. Storable a => Ptr a -> IO a
peek @ShaderFloatControlsIndependence ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr ShaderFloatControlsIndependence
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 536 :: Ptr ShaderFloatControlsIndependence))
ShaderFloatControlsIndependence
roundingModeIndependence <- Ptr ShaderFloatControlsIndependence
-> IO ShaderFloatControlsIndependence
forall a. Storable a => Ptr a -> IO a
peek @ShaderFloatControlsIndependence ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties
-> Int -> Ptr ShaderFloatControlsIndependence
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 540 :: Ptr ShaderFloatControlsIndependence))
Bool32
shaderSignedZeroInfNanPreserveFloat16 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 544 :: Ptr Bool32))
Bool32
shaderSignedZeroInfNanPreserveFloat32 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 548 :: Ptr Bool32))
Bool32
shaderSignedZeroInfNanPreserveFloat64 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 552 :: Ptr Bool32))
Bool32
shaderDenormPreserveFloat16 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 556 :: Ptr Bool32))
Bool32
shaderDenormPreserveFloat32 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 560 :: Ptr Bool32))
Bool32
shaderDenormPreserveFloat64 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 564 :: Ptr Bool32))
Bool32
shaderDenormFlushToZeroFloat16 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 568 :: Ptr Bool32))
Bool32
shaderDenormFlushToZeroFloat32 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 572 :: Ptr Bool32))
Bool32
shaderDenormFlushToZeroFloat64 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 576 :: Ptr Bool32))
Bool32
shaderRoundingModeRTEFloat16 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 580 :: Ptr Bool32))
Bool32
shaderRoundingModeRTEFloat32 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 584 :: Ptr Bool32))
Bool32
shaderRoundingModeRTEFloat64 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 588 :: Ptr Bool32))
Bool32
shaderRoundingModeRTZFloat16 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 592 :: Ptr Bool32))
Bool32
shaderRoundingModeRTZFloat32 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 596 :: Ptr Bool32))
Bool32
shaderRoundingModeRTZFloat64 <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 600 :: Ptr Bool32))
Word32
maxUpdateAfterBindDescriptorsInAllPools <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 604 :: Ptr Word32))
Bool32
shaderUniformBufferArrayNonUniformIndexingNative <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 608 :: Ptr Bool32))
Bool32
shaderSampledImageArrayNonUniformIndexingNative <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 612 :: Ptr Bool32))
Bool32
shaderStorageBufferArrayNonUniformIndexingNative <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 616 :: Ptr Bool32))
Bool32
shaderStorageImageArrayNonUniformIndexingNative <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 620 :: Ptr Bool32))
Bool32
shaderInputAttachmentArrayNonUniformIndexingNative <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 624 :: Ptr Bool32))
Bool32
robustBufferAccessUpdateAfterBind <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 628 :: Ptr Bool32))
Bool32
quadDivergentImplicitLod <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 632 :: Ptr Bool32))
Word32
maxPerStageDescriptorUpdateAfterBindSamplers <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 636 :: Ptr Word32))
Word32
maxPerStageDescriptorUpdateAfterBindUniformBuffers <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 640 :: Ptr Word32))
Word32
maxPerStageDescriptorUpdateAfterBindStorageBuffers <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 644 :: Ptr Word32))
Word32
maxPerStageDescriptorUpdateAfterBindSampledImages <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 648 :: Ptr Word32))
Word32
maxPerStageDescriptorUpdateAfterBindStorageImages <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 652 :: Ptr Word32))
Word32
maxPerStageDescriptorUpdateAfterBindInputAttachments <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 656 :: Ptr Word32))
Word32
maxPerStageUpdateAfterBindResources <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 660 :: Ptr Word32))
Word32
maxDescriptorSetUpdateAfterBindSamplers <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 664 :: Ptr Word32))
Word32
maxDescriptorSetUpdateAfterBindUniformBuffers <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 668 :: Ptr Word32))
Word32
maxDescriptorSetUpdateAfterBindUniformBuffersDynamic <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 672 :: Ptr Word32))
Word32
maxDescriptorSetUpdateAfterBindStorageBuffers <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 676 :: Ptr Word32))
Word32
maxDescriptorSetUpdateAfterBindStorageBuffersDynamic <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 680 :: Ptr Word32))
Word32
maxDescriptorSetUpdateAfterBindSampledImages <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 684 :: Ptr Word32))
Word32
maxDescriptorSetUpdateAfterBindStorageImages <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 688 :: Ptr Word32))
Word32
maxDescriptorSetUpdateAfterBindInputAttachments <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek @Word32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 692 :: Ptr Word32))
ResolveModeFlags
supportedDepthResolveModes <- Ptr ResolveModeFlags -> IO ResolveModeFlags
forall a. Storable a => Ptr a -> IO a
peek @ResolveModeFlags ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr ResolveModeFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 696 :: Ptr ResolveModeFlags))
ResolveModeFlags
supportedStencilResolveModes <- Ptr ResolveModeFlags -> IO ResolveModeFlags
forall a. Storable a => Ptr a -> IO a
peek @ResolveModeFlags ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr ResolveModeFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 700 :: Ptr ResolveModeFlags))
Bool32
independentResolveNone <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 704 :: Ptr Bool32))
Bool32
independentResolve <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 708 :: Ptr Bool32))
Bool32
filterMinmaxSingleComponentFormats <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 712 :: Ptr Bool32))
Bool32
filterMinmaxImageComponentMapping <- Ptr Bool32 -> IO Bool32
forall a. Storable a => Ptr a -> IO a
peek @Bool32 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr Bool32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 716 :: Ptr Bool32))
DeviceSize
maxTimelineSemaphoreValueDifference <- Ptr DeviceSize -> IO DeviceSize
forall a. Storable a => Ptr a -> IO a
peek @Word64 ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr DeviceSize
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 720 :: Ptr Word64))
SampleCountFlags
framebufferIntegerColorSampleCounts <- Ptr SampleCountFlags -> IO SampleCountFlags
forall a. Storable a => Ptr a -> IO a
peek @SampleCountFlags ((Ptr PhysicalDeviceVulkan12Properties
p Ptr PhysicalDeviceVulkan12Properties -> Int -> Ptr SampleCountFlags
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 728 :: Ptr SampleCountFlags))
PhysicalDeviceVulkan12Properties
-> IO PhysicalDeviceVulkan12Properties
forall (f :: * -> *) a. Applicative f => a -> f a
pure (PhysicalDeviceVulkan12Properties
-> IO PhysicalDeviceVulkan12Properties)
-> PhysicalDeviceVulkan12Properties
-> IO PhysicalDeviceVulkan12Properties
forall a b. (a -> b) -> a -> b
$ DriverId
-> ByteString
-> ByteString
-> ConformanceVersion
-> ShaderFloatControlsIndependence
-> ShaderFloatControlsIndependence
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Word32
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> ResolveModeFlags
-> ResolveModeFlags
-> Bool
-> Bool
-> Bool
-> Bool
-> DeviceSize
-> SampleCountFlags
-> PhysicalDeviceVulkan12Properties
PhysicalDeviceVulkan12Properties
DriverId
driverID ByteString
driverName ByteString
driverInfo ConformanceVersion
conformanceVersion ShaderFloatControlsIndependence
denormBehaviorIndependence ShaderFloatControlsIndependence
roundingModeIndependence (Bool32 -> Bool
bool32ToBool Bool32
shaderSignedZeroInfNanPreserveFloat16) (Bool32 -> Bool
bool32ToBool Bool32
shaderSignedZeroInfNanPreserveFloat32) (Bool32 -> Bool
bool32ToBool Bool32
shaderSignedZeroInfNanPreserveFloat64) (Bool32 -> Bool
bool32ToBool Bool32
shaderDenormPreserveFloat16) (Bool32 -> Bool
bool32ToBool Bool32
shaderDenormPreserveFloat32) (Bool32 -> Bool
bool32ToBool Bool32
shaderDenormPreserveFloat64) (Bool32 -> Bool
bool32ToBool Bool32
shaderDenormFlushToZeroFloat16) (Bool32 -> Bool
bool32ToBool Bool32
shaderDenormFlushToZeroFloat32) (Bool32 -> Bool
bool32ToBool Bool32
shaderDenormFlushToZeroFloat64) (Bool32 -> Bool
bool32ToBool Bool32
shaderRoundingModeRTEFloat16) (Bool32 -> Bool
bool32ToBool Bool32
shaderRoundingModeRTEFloat32) (Bool32 -> Bool
bool32ToBool Bool32
shaderRoundingModeRTEFloat64) (Bool32 -> Bool
bool32ToBool Bool32
shaderRoundingModeRTZFloat16) (Bool32 -> Bool
bool32ToBool Bool32
shaderRoundingModeRTZFloat32) (Bool32 -> Bool
bool32ToBool Bool32
shaderRoundingModeRTZFloat64) Word32
maxUpdateAfterBindDescriptorsInAllPools (Bool32 -> Bool
bool32ToBool Bool32
shaderUniformBufferArrayNonUniformIndexingNative) (Bool32 -> Bool
bool32ToBool Bool32
shaderSampledImageArrayNonUniformIndexingNative) (Bool32 -> Bool
bool32ToBool Bool32
shaderStorageBufferArrayNonUniformIndexingNative) (Bool32 -> Bool
bool32ToBool Bool32
shaderStorageImageArrayNonUniformIndexingNative) (Bool32 -> Bool
bool32ToBool Bool32
shaderInputAttachmentArrayNonUniformIndexingNative) (Bool32 -> Bool
bool32ToBool Bool32
robustBufferAccessUpdateAfterBind) (Bool32 -> Bool
bool32ToBool Bool32
quadDivergentImplicitLod) Word32
maxPerStageDescriptorUpdateAfterBindSamplers Word32
maxPerStageDescriptorUpdateAfterBindUniformBuffers Word32
maxPerStageDescriptorUpdateAfterBindStorageBuffers Word32
maxPerStageDescriptorUpdateAfterBindSampledImages Word32
maxPerStageDescriptorUpdateAfterBindStorageImages Word32
maxPerStageDescriptorUpdateAfterBindInputAttachments Word32
maxPerStageUpdateAfterBindResources Word32
maxDescriptorSetUpdateAfterBindSamplers Word32
maxDescriptorSetUpdateAfterBindUniformBuffers Word32
maxDescriptorSetUpdateAfterBindUniformBuffersDynamic Word32
maxDescriptorSetUpdateAfterBindStorageBuffers Word32
maxDescriptorSetUpdateAfterBindStorageBuffersDynamic Word32
maxDescriptorSetUpdateAfterBindSampledImages Word32
maxDescriptorSetUpdateAfterBindStorageImages Word32
maxDescriptorSetUpdateAfterBindInputAttachments ResolveModeFlags
supportedDepthResolveModes ResolveModeFlags
supportedStencilResolveModes (Bool32 -> Bool
bool32ToBool Bool32
independentResolveNone) (Bool32 -> Bool
bool32ToBool Bool32
independentResolve) (Bool32 -> Bool
bool32ToBool Bool32
filterMinmaxSingleComponentFormats) (Bool32 -> Bool
bool32ToBool Bool32
filterMinmaxImageComponentMapping) DeviceSize
maxTimelineSemaphoreValueDifference SampleCountFlags
framebufferIntegerColorSampleCounts
instance Zero PhysicalDeviceVulkan12Properties where
zero :: PhysicalDeviceVulkan12Properties
zero = DriverId
-> ByteString
-> ByteString
-> ConformanceVersion
-> ShaderFloatControlsIndependence
-> ShaderFloatControlsIndependence
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Word32
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Bool
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> Word32
-> ResolveModeFlags
-> ResolveModeFlags
-> Bool
-> Bool
-> Bool
-> Bool
-> DeviceSize
-> SampleCountFlags
-> PhysicalDeviceVulkan12Properties
PhysicalDeviceVulkan12Properties
DriverId
forall a. Zero a => a
zero
ByteString
forall a. Monoid a => a
mempty
ByteString
forall a. Monoid a => a
mempty
ConformanceVersion
forall a. Zero a => a
zero
ShaderFloatControlsIndependence
forall a. Zero a => a
zero
ShaderFloatControlsIndependence
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
Word32
forall a. Zero a => a
zero
ResolveModeFlags
forall a. Zero a => a
zero
ResolveModeFlags
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
Bool
forall a. Zero a => a
zero
DeviceSize
forall a. Zero a => a
zero
SampleCountFlags
forall a. Zero a => a
zero