{-# LINE 1 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.PhysicalDevice
       (VkPhysicalDevice16BitStorageFeatures,
        VkPhysicalDevice16BitStorageFeaturesKHR,
        VkPhysicalDevice4444FormatsFeaturesEXT,
        VkPhysicalDevice8BitStorageFeatures,
        VkPhysicalDevice8BitStorageFeaturesKHR,
        VkPhysicalDeviceASTCDecodeFeaturesEXT,
        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,
        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,
        VkPhysicalDeviceBufferAddressFeaturesEXT,
        VkPhysicalDeviceBufferDeviceAddressFeatures,
        VkPhysicalDeviceBufferDeviceAddressFeaturesEXT,
        VkPhysicalDeviceBufferDeviceAddressFeaturesKHR,
        VkPhysicalDeviceCoherentMemoryFeaturesAMD,
        VkPhysicalDeviceComputeShaderDerivativesFeaturesNV,
        VkPhysicalDeviceConditionalRenderingFeaturesEXT,
        VkPhysicalDeviceConservativeRasterizationPropertiesEXT,
        VkPhysicalDeviceCooperativeMatrixFeaturesNV,
        VkPhysicalDeviceCooperativeMatrixPropertiesNV,
        VkPhysicalDeviceCornerSampledImageFeaturesNV,
        VkPhysicalDeviceCoverageReductionModeFeaturesNV,
        VkPhysicalDeviceCustomBorderColorFeaturesEXT,
        VkPhysicalDeviceCustomBorderColorPropertiesEXT,
        VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV,
        VkPhysicalDeviceDepthClipEnableFeaturesEXT,
        VkPhysicalDeviceDepthStencilResolveProperties,
        VkPhysicalDeviceDepthStencilResolvePropertiesKHR,
        VkPhysicalDeviceDescriptorIndexingFeatures,
        VkPhysicalDeviceDescriptorIndexingFeaturesEXT,
        VkPhysicalDeviceDescriptorIndexingProperties,
        VkPhysicalDeviceDescriptorIndexingPropertiesEXT,
        VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV,
        VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV,
        VkPhysicalDeviceDiagnosticsConfigFeaturesNV,
        VkPhysicalDeviceDiscardRectanglePropertiesEXT,
        VkPhysicalDeviceDriverProperties,
        VkPhysicalDeviceDriverPropertiesKHR,
        VkPhysicalDeviceExclusiveScissorFeaturesNV,
        VkPhysicalDeviceExtendedDynamicStateFeaturesEXT,
        VkPhysicalDeviceExternalBufferInfo,
        VkPhysicalDeviceExternalBufferInfoKHR,
        VkPhysicalDeviceExternalFenceInfo,
        VkPhysicalDeviceExternalFenceInfoKHR,
        VkPhysicalDeviceExternalImageFormatInfo,
        VkPhysicalDeviceExternalImageFormatInfoKHR,
        VkPhysicalDeviceExternalMemoryHostPropertiesEXT,
        VkPhysicalDeviceExternalSemaphoreInfo,
        VkPhysicalDeviceExternalSemaphoreInfoKHR,
        VkPhysicalDeviceFeatures2, VkPhysicalDeviceFeatures2KHR,
        VkPhysicalDeviceFloat16Int8FeaturesKHR,
        VkPhysicalDeviceFloatControlsProperties,
        VkPhysicalDeviceFloatControlsPropertiesKHR,
        VkPhysicalDeviceFragmentDensityMap2FeaturesEXT,
        VkPhysicalDeviceFragmentDensityMap2PropertiesEXT,
        VkPhysicalDeviceFragmentDensityMapFeaturesEXT,
        VkPhysicalDeviceFragmentDensityMapPropertiesEXT,
        VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV,
        VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT,
        VkPhysicalDeviceGroupProperties,
        VkPhysicalDeviceGroupPropertiesKHR,
        VkPhysicalDeviceHostQueryResetFeatures,
        VkPhysicalDeviceHostQueryResetFeaturesEXT,
        VkPhysicalDeviceIDProperties, VkPhysicalDeviceIDPropertiesKHR,
        VkPhysicalDeviceImageDrmFormatModifierInfoEXT,
        VkPhysicalDeviceImageFormatInfo2,
        VkPhysicalDeviceImageFormatInfo2KHR,
        VkPhysicalDeviceImageRobustnessFeaturesEXT,
        VkPhysicalDeviceImageViewImageFormatInfoEXT,
        VkPhysicalDeviceImagelessFramebufferFeatures,
        VkPhysicalDeviceImagelessFramebufferFeaturesKHR,
        VkPhysicalDeviceIndexTypeUint8FeaturesEXT,
        VkPhysicalDeviceInlineUniformBlockFeaturesEXT,
        VkPhysicalDeviceInlineUniformBlockPropertiesEXT,
        VkPhysicalDeviceLimits,
        VkPhysicalDeviceLineRasterizationFeaturesEXT,
        VkPhysicalDeviceLineRasterizationPropertiesEXT,
        VkPhysicalDeviceMaintenance3Properties,
        VkPhysicalDeviceMaintenance3PropertiesKHR,
        VkPhysicalDeviceMemoryBudgetPropertiesEXT,
        VkPhysicalDeviceMemoryPriorityFeaturesEXT,
        VkPhysicalDeviceMemoryProperties,
        VkPhysicalDeviceMemoryProperties2,
        VkPhysicalDeviceMemoryProperties2KHR,
        VkPhysicalDeviceMeshShaderFeaturesNV,
        VkPhysicalDeviceMeshShaderPropertiesNV,
        VkPhysicalDeviceMultiviewFeatures,
        VkPhysicalDeviceMultiviewFeaturesKHR,
        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
        VkPhysicalDeviceMultiviewProperties,
        VkPhysicalDeviceMultiviewPropertiesKHR,
        VkPhysicalDevicePCIBusInfoPropertiesEXT,
        VkPhysicalDevicePerformanceQueryFeaturesKHR,
        VkPhysicalDevicePerformanceQueryPropertiesKHR,
        VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT,
        VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR,
        VkPhysicalDevicePointClippingProperties,
        VkPhysicalDevicePointClippingPropertiesKHR,
        VkPhysicalDevicePrivateDataFeaturesEXT, VkPhysicalDeviceProperties,
        VkPhysicalDeviceProperties2, VkPhysicalDeviceProperties2KHR,
        VkPhysicalDeviceProtectedMemoryFeatures,
        VkPhysicalDeviceProtectedMemoryProperties,
        VkPhysicalDevicePushDescriptorPropertiesKHR,
        VkPhysicalDeviceRayTracingPropertiesNV,
        VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV,
        VkPhysicalDeviceRobustness2FeaturesEXT,
        VkPhysicalDeviceRobustness2PropertiesEXT,
        VkPhysicalDeviceSampleLocationsPropertiesEXT,
        VkPhysicalDeviceSamplerFilterMinmaxProperties,
        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,
        VkPhysicalDeviceSamplerYcbcrConversionFeatures,
        VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,
        VkPhysicalDeviceScalarBlockLayoutFeatures,
        VkPhysicalDeviceScalarBlockLayoutFeaturesEXT,
        VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures,
        VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR,
        VkPhysicalDeviceShaderAtomicFloatFeaturesEXT,
        VkPhysicalDeviceShaderAtomicInt64Features,
        VkPhysicalDeviceShaderAtomicInt64FeaturesKHR,
        VkPhysicalDeviceShaderClockFeaturesKHR,
        VkPhysicalDeviceShaderCoreProperties2AMD,
        VkPhysicalDeviceShaderCorePropertiesAMD,
        VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT,
        VkPhysicalDeviceShaderDrawParameterFeatures,
        VkPhysicalDeviceShaderDrawParametersFeatures,
        VkPhysicalDeviceShaderFloat16Int8Features,
        VkPhysicalDeviceShaderFloat16Int8FeaturesKHR,
        VkPhysicalDeviceShaderImageFootprintFeaturesNV,
        VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL,
        VkPhysicalDeviceShaderSMBuiltinsFeaturesNV,
        VkPhysicalDeviceShaderSMBuiltinsPropertiesNV,
        VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures,
        VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR,
        VkPhysicalDeviceShadingRateImageFeaturesNV,
        VkPhysicalDeviceShadingRateImagePropertiesNV,
        VkPhysicalDeviceSparseImageFormatInfo2,
        VkPhysicalDeviceSparseImageFormatInfo2KHR,
        VkPhysicalDeviceSparseProperties,
        VkPhysicalDeviceSubgroupProperties,
        VkPhysicalDeviceSubgroupSizeControlFeaturesEXT,
        VkPhysicalDeviceSubgroupSizeControlPropertiesEXT,
        VkPhysicalDeviceSurfaceInfo2KHR,
        VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT,
        VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT,
        VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT,
        VkPhysicalDeviceTimelineSemaphoreFeatures,
        VkPhysicalDeviceTimelineSemaphoreFeaturesKHR,
        VkPhysicalDeviceTimelineSemaphoreProperties,
        VkPhysicalDeviceTimelineSemaphorePropertiesKHR,
        VkPhysicalDeviceToolPropertiesEXT,
        VkPhysicalDeviceTransformFeedbackFeaturesEXT,
        VkPhysicalDeviceTransformFeedbackPropertiesEXT,
        VkPhysicalDeviceUniformBufferStandardLayoutFeatures,
        VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR,
        VkPhysicalDeviceVariablePointerFeatures,
        VkPhysicalDeviceVariablePointerFeaturesKHR,
        VkPhysicalDeviceVariablePointersFeatures,
        VkPhysicalDeviceVariablePointersFeaturesKHR,
        VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT,
        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT,
        VkPhysicalDeviceVulkan11Features,
        VkPhysicalDeviceVulkan11Properties,
        VkPhysicalDeviceVulkan12Features,
        VkPhysicalDeviceVulkan12Properties,
        VkPhysicalDeviceVulkanMemoryModelFeatures,
        VkPhysicalDeviceVulkanMemoryModelFeaturesKHR,
        VkPhysicalDeviceYcbcrImageArraysFeaturesEXT)
       where
import Graphics.Vulkan.Constants                           (VK_LUID_SIZE, VK_MAX_DESCRIPTION_SIZE,
                                                            VK_MAX_DEVICE_GROUP_SIZE,
                                                            VK_MAX_DRIVER_INFO_SIZE,
                                                            VK_MAX_DRIVER_NAME_SIZE,
                                                            VK_MAX_EXTENSION_NAME_SIZE,
                                                            VK_MAX_MEMORY_HEAPS,
                                                            VK_MAX_MEMORY_TYPES,
                                                            VK_MAX_PHYSICAL_DEVICE_NAME_SIZE,
                                                            VK_UUID_SIZE)
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.BaseTypes                     (VkBool32,
                                                            VkDeviceSize)
import Graphics.Vulkan.Types.Enum.Buffer                   (VkBufferCreateFlags,
                                                            VkBufferUsageFlags)
import Graphics.Vulkan.Types.Enum.DriverId                 (VkDriverId)
import Graphics.Vulkan.Types.Enum.External                 (VkExternalFenceHandleTypeFlagBits,
                                                            VkExternalMemoryHandleTypeFlagBits,
                                                            VkExternalSemaphoreHandleTypeFlagBits)
import Graphics.Vulkan.Types.Enum.Format                   (VkFormat)
import Graphics.Vulkan.Types.Enum.Image                    (VkImageCreateFlags,
                                                            VkImageTiling,
                                                            VkImageType,
                                                            VkImageUsageFlags,
                                                            VkImageViewType)
import Graphics.Vulkan.Types.Enum.PhysicalDeviceType       (VkPhysicalDeviceType)
import Graphics.Vulkan.Types.Enum.PointClippingBehavior    (VkPointClippingBehavior)
import Graphics.Vulkan.Types.Enum.ResolveModeFlag          (VkResolveModeFlags)
import Graphics.Vulkan.Types.Enum.SampleCountFlags         (VkSampleCountFlagBits,
                                                            VkSampleCountFlags)
import Graphics.Vulkan.Types.Enum.Shader                   (VkShaderCorePropertiesFlagsAMD,
                                                            VkShaderFloatControlsIndependence,
                                                            VkShaderStageFlags)
import Graphics.Vulkan.Types.Enum.SharingMode              (VkSharingMode)
import Graphics.Vulkan.Types.Enum.StructureType            (VkStructureType)
import Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags     (VkSubgroupFeatureFlags)
import Graphics.Vulkan.Types.Enum.ToolPurposeFlagsEXT      (VkToolPurposeFlagsEXT)
import Graphics.Vulkan.Types.Handles                       (VkPhysicalDevice,
                                                            VkSurfaceKHR)
import Graphics.Vulkan.Types.Struct.ConformanceVersion     (VkConformanceVersion)
import Graphics.Vulkan.Types.Struct.Device                 (VkDeviceCreateInfo)
import Graphics.Vulkan.Types.Struct.Extent                 (VkExtent2D)
import Graphics.Vulkan.Types.Struct.Memory                 (VkMemoryHeap,
                                                            VkMemoryType)
import Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures (VkPhysicalDeviceFeatures)

-- | > typedef struct VkPhysicalDevice16BitStorageFeatures {
--   >     VkStructureType sType;
--   >     void*      pNext;
--   >     VkBool32                         storageBuffer16BitAccess;
--   >     VkBool32                         uniformAndStorageBuffer16BitAccess;
--   >     VkBool32                         storagePushConstant16;
--   >     VkBool32                         storageInputOutput16;
--   > } VkPhysicalDevice16BitStorageFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDevice16BitStorageFeatures VkPhysicalDevice16BitStorageFeatures registry at www.khronos.org>
type VkPhysicalDevice16BitStorageFeatures =
     VkStruct VkPhysicalDevice16BitStorageFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDevice16BitStorageFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDevice16BitStorageFeatures where
    type StructRep VkPhysicalDevice16BitStorageFeatures =
         'StructMeta "VkPhysicalDevice16BitStorageFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDevice16BitStorageFeatures
           (32)
{-# LINE 241 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 242 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 244 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 249 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "storageBuffer16BitAccess" VkBool32 'False 
                                                                    (16)
{-# LINE 254 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "uniformAndStorageBuffer16BitAccess" VkBool32 'False
                (20)
{-# LINE 259 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "storagePushConstant16" VkBool32 'False 
                                                                 (24)
{-# LINE 264 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "storageInputOutput16" VkBool32 'False 
                                                                (28)
{-# LINE 269 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDevice16BitStorageFeatures`
type VkPhysicalDevice16BitStorageFeaturesKHR =
     VkPhysicalDevice16BitStorageFeatures

-- | > typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           formatA4R4G4B4;
--   >     VkBool32                           formatA4B4G4R4;
--   > } VkPhysicalDevice4444FormatsFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDevice4444FormatsFeaturesEXT VkPhysicalDevice4444FormatsFeaturesEXT registry at www.khronos.org>
type VkPhysicalDevice4444FormatsFeaturesEXT =
     VkStruct VkPhysicalDevice4444FormatsFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDevice4444FormatsFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDevice4444FormatsFeaturesEXT where
    type StructRep VkPhysicalDevice4444FormatsFeaturesEXT =
         'StructMeta "VkPhysicalDevice4444FormatsFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDevice4444FormatsFeaturesEXT
           (24)
{-# LINE 298 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 299 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 301 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 306 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "formatA4R4G4B4" VkBool32 'False 
                                                          (16)
{-# LINE 311 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "formatA4B4G4R4" VkBool32 'False 
                                                          (20)
{-# LINE 316 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDevice8BitStorageFeatures {
--   >     VkStructureType sType;
--   >     void*      pNext;
--   >     VkBool32                         storageBuffer8BitAccess;
--   >     VkBool32                         uniformAndStorageBuffer8BitAccess;
--   >     VkBool32                         storagePushConstant8;
--   > } VkPhysicalDevice8BitStorageFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDevice8BitStorageFeatures VkPhysicalDevice8BitStorageFeatures registry at www.khronos.org>
type VkPhysicalDevice8BitStorageFeatures =
     VkStruct VkPhysicalDevice8BitStorageFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDevice8BitStorageFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDevice8BitStorageFeatures where
    type StructRep VkPhysicalDevice8BitStorageFeatures =
         'StructMeta "VkPhysicalDevice8BitStorageFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDevice8BitStorageFeatures
           (32)
{-# LINE 342 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 343 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 345 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 350 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "storageBuffer8BitAccess" VkBool32 'False 
                                                                   (16)
{-# LINE 355 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "uniformAndStorageBuffer8BitAccess" VkBool32 'False
                (20)
{-# LINE 360 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "storagePushConstant8" VkBool32 'False 
                                                                (24)
{-# LINE 365 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDevice8BitStorageFeatures`
type VkPhysicalDevice8BitStorageFeaturesKHR =
     VkPhysicalDevice8BitStorageFeatures

-- | > typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*      pNext;
--   >     VkBool32                         decodeModeSharedExponent;
--   > } VkPhysicalDeviceASTCDecodeFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceASTCDecodeFeaturesEXT VkPhysicalDeviceASTCDecodeFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceASTCDecodeFeaturesEXT =
     VkStruct VkPhysicalDeviceASTCDecodeFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceASTCDecodeFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceASTCDecodeFeaturesEXT where
    type StructRep VkPhysicalDeviceASTCDecodeFeaturesEXT =
         'StructMeta "VkPhysicalDeviceASTCDecodeFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceASTCDecodeFeaturesEXT
           (24)
{-# LINE 393 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 394 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 396 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 401 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "decodeModeSharedExponent" VkBool32 'False 
                                                                    (16)
{-# LINE 406 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         advancedBlendCoherentOperations;
--   > } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT =
     VkStruct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
         where
    type StructRep VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT =
         'StructMeta "VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
           (24)
{-# LINE 432 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 433 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 435 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 440 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "advancedBlendCoherentOperations" VkBool32 'False
                (16)
{-# LINE 445 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     uint32_t                         advancedBlendMaxColorAttachments;
--   >     VkBool32                         advancedBlendIndependentBlend;
--   >     VkBool32                         advancedBlendNonPremultipliedSrcColor;
--   >     VkBool32                         advancedBlendNonPremultipliedDstColor;
--   >     VkBool32                         advancedBlendCorrelatedOverlap;
--   >     VkBool32                         advancedBlendAllOperations;
--   > } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT =
     VkStruct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
         where
    type StructRep VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
         =
         'StructMeta "VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
           (40)
{-# LINE 477 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 478 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 480 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 485 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "advancedBlendMaxColorAttachments" Word32 'False
                (16)
{-# LINE 490 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "advancedBlendIndependentBlend" VkBool32 'False
                (20)
{-# LINE 495 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "advancedBlendNonPremultipliedSrcColor" VkBool32 'False
                (24)
{-# LINE 500 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "advancedBlendNonPremultipliedDstColor" VkBool32 'False
                (28)
{-# LINE 505 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "advancedBlendCorrelatedOverlap" VkBool32 'False
                (32)
{-# LINE 510 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "advancedBlendAllOperations" VkBool32 'False 
                                                                      (36)
{-# LINE 515 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceBufferDeviceAddressFeaturesEXT`
type VkPhysicalDeviceBufferAddressFeaturesEXT =
     VkPhysicalDeviceBufferDeviceAddressFeaturesEXT

-- | > typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           bufferDeviceAddress;
--   >     VkBool32                           bufferDeviceAddressCaptureReplay;
--   >     VkBool32                           bufferDeviceAddressMultiDevice;
--   > } VkPhysicalDeviceBufferDeviceAddressFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeatures registry at www.khronos.org>
type VkPhysicalDeviceBufferDeviceAddressFeatures =
     VkStruct VkPhysicalDeviceBufferDeviceAddressFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceBufferDeviceAddressFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceBufferDeviceAddressFeatures
         where
    type StructRep VkPhysicalDeviceBufferDeviceAddressFeatures =
         'StructMeta "VkPhysicalDeviceBufferDeviceAddressFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceBufferDeviceAddressFeatures
           (32)
{-# LINE 546 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 547 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 549 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 554 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "bufferDeviceAddress" VkBool32 'False 
                                                               (16)
{-# LINE 559 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "bufferDeviceAddressCaptureReplay" VkBool32 'False
                (20)
{-# LINE 564 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "bufferDeviceAddressMultiDevice" VkBool32 'False
                (24)
{-# LINE 569 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           bufferDeviceAddress;
--   >     VkBool32                           bufferDeviceAddressCaptureReplay;
--   >     VkBool32                           bufferDeviceAddressMultiDevice;
--   > } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferDeviceAddressFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceBufferDeviceAddressFeaturesEXT =
     VkStruct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceBufferDeviceAddressFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
         where
    type StructRep VkPhysicalDeviceBufferDeviceAddressFeaturesEXT =
         'StructMeta "VkPhysicalDeviceBufferDeviceAddressFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
           (32)
{-# LINE 597 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 598 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 600 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 605 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "bufferDeviceAddress" VkBool32 'False 
                                                               (16)
{-# LINE 610 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "bufferDeviceAddressCaptureReplay" VkBool32 'False
                (20)
{-# LINE 615 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "bufferDeviceAddressMultiDevice" VkBool32 'False
                (24)
{-# LINE 620 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceBufferDeviceAddressFeatures`
type VkPhysicalDeviceBufferDeviceAddressFeaturesKHR =
     VkPhysicalDeviceBufferDeviceAddressFeatures

-- | > typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           deviceCoherentMemory;
--   > } VkPhysicalDeviceCoherentMemoryFeaturesAMD;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceCoherentMemoryFeaturesAMD VkPhysicalDeviceCoherentMemoryFeaturesAMD registry at www.khronos.org>
type VkPhysicalDeviceCoherentMemoryFeaturesAMD =
     VkStruct VkPhysicalDeviceCoherentMemoryFeaturesAMD' -- ' closing tick for hsc2hs

data VkPhysicalDeviceCoherentMemoryFeaturesAMD' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceCoherentMemoryFeaturesAMD
         where
    type StructRep VkPhysicalDeviceCoherentMemoryFeaturesAMD =
         'StructMeta "VkPhysicalDeviceCoherentMemoryFeaturesAMD" -- ' closing tick for hsc2hs
           VkPhysicalDeviceCoherentMemoryFeaturesAMD
           (24)
{-# LINE 649 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 650 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 652 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 657 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceCoherentMemory" VkBool32 'False 
                                                                (16)
{-# LINE 662 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         computeDerivativeGroupQuads;
--   >     VkBool32                         computeDerivativeGroupLinear;
--   > } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV VkPhysicalDeviceComputeShaderDerivativesFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceComputeShaderDerivativesFeaturesNV =
     VkStruct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceComputeShaderDerivativesFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
         where
    type StructRep VkPhysicalDeviceComputeShaderDerivativesFeaturesNV =
         'StructMeta "VkPhysicalDeviceComputeShaderDerivativesFeaturesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
           (24)
{-# LINE 689 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 690 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 692 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 697 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "computeDerivativeGroupQuads" VkBool32 'False 
                                                                       (16)
{-# LINE 702 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "computeDerivativeGroupLinear" VkBool32 'False
                (20)
{-# LINE 707 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           conditionalRendering;
--   >     VkBool32                           inheritedConditionalRendering;
--   > } VkPhysicalDeviceConditionalRenderingFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceConditionalRenderingFeaturesEXT VkPhysicalDeviceConditionalRenderingFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceConditionalRenderingFeaturesEXT =
     VkStruct VkPhysicalDeviceConditionalRenderingFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceConditionalRenderingFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceConditionalRenderingFeaturesEXT
         where
    type StructRep VkPhysicalDeviceConditionalRenderingFeaturesEXT =
         'StructMeta "VkPhysicalDeviceConditionalRenderingFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceConditionalRenderingFeaturesEXT
           (24)
{-# LINE 734 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 735 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 737 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 742 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "conditionalRendering" VkBool32 'False 
                                                                (16)
{-# LINE 747 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "inheritedConditionalRendering" VkBool32 'False
                (20)
{-# LINE 752 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     float                  primitiveOverestimationSize;
--   >     float                  maxExtraPrimitiveOverestimationSize;
--   >     float                  extraPrimitiveOverestimationSizeGranularity;
--   >     VkBool32               primitiveUnderestimation;
--   >     VkBool32               conservativePointAndLineRasterization;
--   >     VkBool32               degenerateTrianglesRasterized;
--   >     VkBool32               degenerateLinesRasterized;
--   >     VkBool32               fullyCoveredFragmentShaderInputVariable;
--   >     VkBool32               conservativeRasterizationPostDepthCoverage;
--   > } VkPhysicalDeviceConservativeRasterizationPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceConservativeRasterizationPropertiesEXT VkPhysicalDeviceConservativeRasterizationPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceConservativeRasterizationPropertiesEXT =
     VkStruct VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceConservativeRasterizationPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceConservativeRasterizationPropertiesEXT
         where
    type StructRep
           VkPhysicalDeviceConservativeRasterizationPropertiesEXT
         =
         'StructMeta -- ' closing tick for hsc2hs
           "VkPhysicalDeviceConservativeRasterizationPropertiesEXT"
           VkPhysicalDeviceConservativeRasterizationPropertiesEXT
           (56)
{-# LINE 789 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 790 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 792 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 797 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "primitiveOverestimationSize" -- ' closing tick for hsc2hs
                (Float)
{-# LINE 802 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 804 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxExtraPrimitiveOverestimationSize" -- ' closing tick for hsc2hs
                (Float)
{-# LINE 809 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (20)
{-# LINE 811 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "extraPrimitiveOverestimationSizeGranularity" -- ' closing tick for hsc2hs
                (Float)
{-# LINE 816 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 818 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "primitiveUnderestimation" VkBool32 'False 
                                                                    (28)
{-# LINE 823 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "conservativePointAndLineRasterization" VkBool32 'False
                (32)
{-# LINE 828 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "degenerateTrianglesRasterized" VkBool32 'False
                (36)
{-# LINE 833 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "degenerateLinesRasterized" VkBool32 'False 
                                                                     (40)
{-# LINE 838 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "fullyCoveredFragmentShaderInputVariable" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (44)
{-# LINE 844 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "conservativeRasterizationPostDepthCoverage" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (48)
{-# LINE 850 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     VkBool32                            cooperativeMatrix;
--   >     VkBool32                            cooperativeMatrixRobustBufferAccess;
--   > } VkPhysicalDeviceCooperativeMatrixFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceCooperativeMatrixFeaturesNV VkPhysicalDeviceCooperativeMatrixFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceCooperativeMatrixFeaturesNV =
     VkStruct VkPhysicalDeviceCooperativeMatrixFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceCooperativeMatrixFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceCooperativeMatrixFeaturesNV
         where
    type StructRep VkPhysicalDeviceCooperativeMatrixFeaturesNV =
         'StructMeta "VkPhysicalDeviceCooperativeMatrixFeaturesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceCooperativeMatrixFeaturesNV
           (24)
{-# LINE 876 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 877 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 879 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 884 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "cooperativeMatrix" VkBool32 'False 
                                                             (16)
{-# LINE 889 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "cooperativeMatrixRobustBufferAccess" VkBool32 'False
                (20)
{-# LINE 894 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     VkShaderStageFlags                  cooperativeMatrixSupportedStages;
--   > } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceCooperativeMatrixPropertiesNV VkPhysicalDeviceCooperativeMatrixPropertiesNV registry at www.khronos.org>
type VkPhysicalDeviceCooperativeMatrixPropertiesNV =
     VkStruct VkPhysicalDeviceCooperativeMatrixPropertiesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceCooperativeMatrixPropertiesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceCooperativeMatrixPropertiesNV
         where
    type StructRep VkPhysicalDeviceCooperativeMatrixPropertiesNV =
         'StructMeta "VkPhysicalDeviceCooperativeMatrixPropertiesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceCooperativeMatrixPropertiesNV
           (24)
{-# LINE 920 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 921 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 923 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 928 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "cooperativeMatrixSupportedStages" VkShaderStageFlags -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 934 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV {
--   >     VkStructureType sType;
--   >     void*                              pNext;
--   >     VkBool32                           cornerSampledImage;
--   > } VkPhysicalDeviceCornerSampledImageFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceCornerSampledImageFeaturesNV VkPhysicalDeviceCornerSampledImageFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceCornerSampledImageFeaturesNV =
     VkStruct VkPhysicalDeviceCornerSampledImageFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceCornerSampledImageFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceCornerSampledImageFeaturesNV
         where
    type StructRep VkPhysicalDeviceCornerSampledImageFeaturesNV =
         'StructMeta "VkPhysicalDeviceCornerSampledImageFeaturesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceCornerSampledImageFeaturesNV
           (24)
{-# LINE 959 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 960 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 962 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 967 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "cornerSampledImage" VkBool32 'False 
                                                              (16)
{-# LINE 972 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV {
--   >     VkStructureTypesType;
--   >     void*    pNext;
--   >     VkBool32                       coverageReductionMode;
--   > } VkPhysicalDeviceCoverageReductionModeFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceCoverageReductionModeFeaturesNV VkPhysicalDeviceCoverageReductionModeFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceCoverageReductionModeFeaturesNV =
     VkStruct VkPhysicalDeviceCoverageReductionModeFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceCoverageReductionModeFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceCoverageReductionModeFeaturesNV
         where
    type StructRep VkPhysicalDeviceCoverageReductionModeFeaturesNV =
         'StructMeta "VkPhysicalDeviceCoverageReductionModeFeaturesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceCoverageReductionModeFeaturesNV
           (24)
{-# LINE 998 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 999 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1001 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1006 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "coverageReductionMode" VkBool32 'False 
                                                                 (16)
{-# LINE 1011 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           customBorderColors;
--   >     VkBool32                           customBorderColorWithoutFormat;
--   > } VkPhysicalDeviceCustomBorderColorFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceCustomBorderColorFeaturesEXT VkPhysicalDeviceCustomBorderColorFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceCustomBorderColorFeaturesEXT =
     VkStruct VkPhysicalDeviceCustomBorderColorFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceCustomBorderColorFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceCustomBorderColorFeaturesEXT
         where
    type StructRep VkPhysicalDeviceCustomBorderColorFeaturesEXT =
         'StructMeta "VkPhysicalDeviceCustomBorderColorFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceCustomBorderColorFeaturesEXT
           (24)
{-# LINE 1037 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1038 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1040 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1045 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "customBorderColors" VkBool32 'False 
                                                              (16)
{-# LINE 1050 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "customBorderColorWithoutFormat" VkBool32 'False
                (20)
{-# LINE 1055 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                                                                   pNext;
--   >     uint32_t                                                                                      maxCustomBorderColorSamplers;
--   > } VkPhysicalDeviceCustomBorderColorPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceCustomBorderColorPropertiesEXT VkPhysicalDeviceCustomBorderColorPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceCustomBorderColorPropertiesEXT =
     VkStruct VkPhysicalDeviceCustomBorderColorPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceCustomBorderColorPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceCustomBorderColorPropertiesEXT
         where
    type StructRep VkPhysicalDeviceCustomBorderColorPropertiesEXT =
         'StructMeta "VkPhysicalDeviceCustomBorderColorPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceCustomBorderColorPropertiesEXT
           (24)
{-# LINE 1081 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1082 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1084 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1089 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxCustomBorderColorSamplers" Word32 'False 
                                                                      (16)
{-# LINE 1094 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         dedicatedAllocationImageAliasing;
--   > } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV =
     VkStruct
       VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
         where
    type StructRep
           VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
         =
         'StructMeta -- ' closing tick for hsc2hs
           "VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV"
           VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
           (24)
{-# LINE 1124 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1125 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1127 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1132 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dedicatedAllocationImageAliasing" VkBool32 'False
                (16)
{-# LINE 1137 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     VkBool32               depthClipEnable;
--   > } VkPhysicalDeviceDepthClipEnableFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceDepthClipEnableFeaturesEXT VkPhysicalDeviceDepthClipEnableFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceDepthClipEnableFeaturesEXT =
     VkStruct VkPhysicalDeviceDepthClipEnableFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceDepthClipEnableFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceDepthClipEnableFeaturesEXT
         where
    type StructRep VkPhysicalDeviceDepthClipEnableFeaturesEXT =
         'StructMeta "VkPhysicalDeviceDepthClipEnableFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceDepthClipEnableFeaturesEXT
           (24)
{-# LINE 1162 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1163 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1165 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1170 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "depthClipEnable" VkBool32 'False 
                                                           (16)
{-# LINE 1175 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceDepthStencilResolveProperties {
--   >     VkStructureType sType;
--   >     void*                                pNext;
--   >     VkResolveModeFlags                   supportedDepthResolveModes;
--   >     VkResolveModeFlags                   supportedStencilResolveModes;
--   >     VkBool32                             independentResolveNone;
--   >     VkBool32                             independentResolve;
--   > } VkPhysicalDeviceDepthStencilResolveProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceDepthStencilResolveProperties VkPhysicalDeviceDepthStencilResolveProperties registry at www.khronos.org>
type VkPhysicalDeviceDepthStencilResolveProperties =
     VkStruct VkPhysicalDeviceDepthStencilResolveProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceDepthStencilResolveProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceDepthStencilResolveProperties
         where
    type StructRep VkPhysicalDeviceDepthStencilResolveProperties =
         'StructMeta "VkPhysicalDeviceDepthStencilResolveProperties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceDepthStencilResolveProperties
           (32)
{-# LINE 1204 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1205 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1207 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1212 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "supportedDepthResolveModes" VkResolveModeFlags 'False
                (16)
{-# LINE 1217 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "supportedStencilResolveModes" VkResolveModeFlags -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (20)
{-# LINE 1223 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "independentResolveNone" VkBool32 'False 
                                                                  (24)
{-# LINE 1228 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "independentResolve" VkBool32 'False 
                                                              (28)
{-# LINE 1233 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceDepthStencilResolveProperties`
type VkPhysicalDeviceDepthStencilResolvePropertiesKHR =
     VkPhysicalDeviceDepthStencilResolveProperties

-- | > typedef struct VkPhysicalDeviceDescriptorIndexingFeatures {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32               shaderInputAttachmentArrayDynamicIndexing;
--   >     VkBool32               shaderUniformTexelBufferArrayDynamicIndexing;
--   >     VkBool32               shaderStorageTexelBufferArrayDynamicIndexing;
--   >     VkBool32               shaderUniformBufferArrayNonUniformIndexing;
--   >     VkBool32               shaderSampledImageArrayNonUniformIndexing;
--   >     VkBool32               shaderStorageBufferArrayNonUniformIndexing;
--   >     VkBool32               shaderStorageImageArrayNonUniformIndexing;
--   >     VkBool32               shaderInputAttachmentArrayNonUniformIndexing;
--   >     VkBool32               shaderUniformTexelBufferArrayNonUniformIndexing;
--   >     VkBool32               shaderStorageTexelBufferArrayNonUniformIndexing;
--   >     VkBool32               descriptorBindingUniformBufferUpdateAfterBind;
--   >     VkBool32               descriptorBindingSampledImageUpdateAfterBind;
--   >     VkBool32               descriptorBindingStorageImageUpdateAfterBind;
--   >     VkBool32               descriptorBindingStorageBufferUpdateAfterBind;
--   >     VkBool32               descriptorBindingUniformTexelBufferUpdateAfterBind;
--   >     VkBool32               descriptorBindingStorageTexelBufferUpdateAfterBind;
--   >     VkBool32               descriptorBindingUpdateUnusedWhilePending;
--   >     VkBool32               descriptorBindingPartiallyBound;
--   >     VkBool32               descriptorBindingVariableDescriptorCount;
--   >     VkBool32               runtimeDescriptorArray;
--   > } VkPhysicalDeviceDescriptorIndexingFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceDescriptorIndexingFeatures VkPhysicalDeviceDescriptorIndexingFeatures registry at www.khronos.org>
type VkPhysicalDeviceDescriptorIndexingFeatures =
     VkStruct VkPhysicalDeviceDescriptorIndexingFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceDescriptorIndexingFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceDescriptorIndexingFeatures
         where
    type StructRep VkPhysicalDeviceDescriptorIndexingFeatures =
         'StructMeta "VkPhysicalDeviceDescriptorIndexingFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceDescriptorIndexingFeatures
           (96)
{-# LINE 1281 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1282 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1284 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1289 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderInputAttachmentArrayDynamicIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 1295 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderUniformTexelBufferArrayDynamicIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (20)
{-# LINE 1301 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderStorageTexelBufferArrayDynamicIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 1307 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderUniformBufferArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (28)
{-# LINE 1313 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSampledImageArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (32)
{-# LINE 1319 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderStorageBufferArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (36)
{-# LINE 1325 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderStorageImageArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (40)
{-# LINE 1331 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderInputAttachmentArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (44)
{-# LINE 1337 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderUniformTexelBufferArrayNonUniformIndexing" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (48)
{-# LINE 1344 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderStorageTexelBufferArrayNonUniformIndexing" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (52)
{-# LINE 1351 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingUniformBufferUpdateAfterBind" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (56)
{-# LINE 1358 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingSampledImageUpdateAfterBind" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (60)
{-# LINE 1364 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingStorageImageUpdateAfterBind" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (64)
{-# LINE 1370 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingStorageBufferUpdateAfterBind" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (68)
{-# LINE 1377 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingUniformTexelBufferUpdateAfterBind" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (72)
{-# LINE 1384 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingStorageTexelBufferUpdateAfterBind" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (76)
{-# LINE 1391 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingUpdateUnusedWhilePending" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (80)
{-# LINE 1397 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingPartiallyBound" VkBool32 'False
                (84)
{-# LINE 1402 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingVariableDescriptorCount" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (88)
{-# LINE 1408 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "runtimeDescriptorArray" VkBool32 'False 
                                                                  (92)
{-# LINE 1413 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceDescriptorIndexingFeatures`
type VkPhysicalDeviceDescriptorIndexingFeaturesEXT =
     VkPhysicalDeviceDescriptorIndexingFeatures

-- | > typedef struct VkPhysicalDeviceDescriptorIndexingProperties {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     uint32_t               maxUpdateAfterBindDescriptorsInAllPools;
--   >     VkBool32               shaderUniformBufferArrayNonUniformIndexingNative;
--   >     VkBool32               shaderSampledImageArrayNonUniformIndexingNative;
--   >     VkBool32               shaderStorageBufferArrayNonUniformIndexingNative;
--   >     VkBool32               shaderStorageImageArrayNonUniformIndexingNative;
--   >     VkBool32               shaderInputAttachmentArrayNonUniformIndexingNative;
--   >     VkBool32               robustBufferAccessUpdateAfterBind;
--   >     VkBool32               quadDivergentImplicitLod;
--   >     uint32_t               maxPerStageDescriptorUpdateAfterBindSamplers;
--   >     uint32_t               maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--   >     uint32_t               maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--   >     uint32_t               maxPerStageDescriptorUpdateAfterBindSampledImages;
--   >     uint32_t               maxPerStageDescriptorUpdateAfterBindStorageImages;
--   >     uint32_t               maxPerStageDescriptorUpdateAfterBindInputAttachments;
--   >     uint32_t               maxPerStageUpdateAfterBindResources;
--   >     uint32_t               maxDescriptorSetUpdateAfterBindSamplers;
--   >     uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffers;
--   >     uint32_t               maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--   >     uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffers;
--   >     uint32_t               maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--   >     uint32_t               maxDescriptorSetUpdateAfterBindSampledImages;
--   >     uint32_t               maxDescriptorSetUpdateAfterBindStorageImages;
--   >     uint32_t               maxDescriptorSetUpdateAfterBindInputAttachments;
--   > } VkPhysicalDeviceDescriptorIndexingProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceDescriptorIndexingProperties VkPhysicalDeviceDescriptorIndexingProperties registry at www.khronos.org>
type VkPhysicalDeviceDescriptorIndexingProperties =
     VkStruct VkPhysicalDeviceDescriptorIndexingProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceDescriptorIndexingProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceDescriptorIndexingProperties
         where
    type StructRep VkPhysicalDeviceDescriptorIndexingProperties =
         'StructMeta "VkPhysicalDeviceDescriptorIndexingProperties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceDescriptorIndexingProperties
           (112)
{-# LINE 1464 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1465 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1467 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1472 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxUpdateAfterBindDescriptorsInAllPools" Word32 'False
                (16)
{-# LINE 1477 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderUniformBufferArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (20)
{-# LINE 1484 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSampledImageArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 1491 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderStorageBufferArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (28)
{-# LINE 1498 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderStorageImageArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (32)
{-# LINE 1505 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderInputAttachmentArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (36)
{-# LINE 1512 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "robustBufferAccessUpdateAfterBind" VkBool32 'False
                (40)
{-# LINE 1517 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "quadDivergentImplicitLod" VkBool32 'False 
                                                                    (44)
{-# LINE 1522 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindSamplers" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (48)
{-# LINE 1528 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindUniformBuffers" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (52)
{-# LINE 1535 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindStorageBuffers" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (56)
{-# LINE 1542 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindSampledImages" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (60)
{-# LINE 1549 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindStorageImages" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (64)
{-# LINE 1556 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindInputAttachments" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (68)
{-# LINE 1563 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageUpdateAfterBindResources" Word32 'False
                (72)
{-# LINE 1568 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindSamplers" Word32 'False
                (76)
{-# LINE 1573 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindUniformBuffers" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (80)
{-# LINE 1579 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (84)
{-# LINE 1586 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindStorageBuffers" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (88)
{-# LINE 1592 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (92)
{-# LINE 1599 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindSampledImages" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (96)
{-# LINE 1605 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindStorageImages" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (100)
{-# LINE 1611 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindInputAttachments" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (104)
{-# LINE 1618 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceDescriptorIndexingProperties`
type VkPhysicalDeviceDescriptorIndexingPropertiesEXT =
     VkPhysicalDeviceDescriptorIndexingProperties

-- | > typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV {
--   >     VkStructureTypesType;
--   >     void*    pNext;
--   >     VkBool32                       deviceGeneratedCommands;
--   > } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV =
     VkStruct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
         where
    type StructRep VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV =
         'StructMeta "VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
           (24)
{-# LINE 1648 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1649 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1651 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1656 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceGeneratedCommands" VkBool32 'False 
                                                                   (16)
{-# LINE 1661 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV {
--   >     VkStructureType sType;
--   >     void*    pNext;
--   >     uint32_t         maxGraphicsShaderGroupCount;
--   >     uint32_t         maxIndirectSequenceCount;
--   >     uint32_t         maxIndirectCommandsTokenCount;
--   >     uint32_t         maxIndirectCommandsStreamCount;
--   >     uint32_t         maxIndirectCommandsTokenOffset;
--   >     uint32_t         maxIndirectCommandsStreamStride;
--   >     uint32_t         minSequencesCountBufferOffsetAlignment;
--   >     uint32_t         minSequencesIndexBufferOffsetAlignment;
--   >     uint32_t         minIndirectCommandsBufferOffsetAlignment;
--   > } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV registry at www.khronos.org>
type VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV =
     VkStruct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV
         where
    type StructRep VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV
         =
         'StructMeta "VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV
           (56)
{-# LINE 1696 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1697 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1699 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1704 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxGraphicsShaderGroupCount" Word32 'False 
                                                                     (16)
{-# LINE 1709 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxIndirectSequenceCount" Word32 'False 
                                                                  (20)
{-# LINE 1714 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxIndirectCommandsTokenCount" Word32 'False 
                                                                       (24)
{-# LINE 1719 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxIndirectCommandsStreamCount" Word32 'False
                (28)
{-# LINE 1724 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxIndirectCommandsTokenOffset" Word32 'False
                (32)
{-# LINE 1729 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxIndirectCommandsStreamStride" Word32 'False
                (36)
{-# LINE 1734 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minSequencesCountBufferOffsetAlignment" Word32 'False
                (40)
{-# LINE 1739 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minSequencesIndexBufferOffsetAlignment" Word32 'False
                (44)
{-# LINE 1744 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minIndirectCommandsBufferOffsetAlignment" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (48)
{-# LINE 1750 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV {
--   >     VkStructureTypesType;
--   >     void*    pNext;
--   >     VkBool32                       diagnosticsConfig;
--   > } VkPhysicalDeviceDiagnosticsConfigFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceDiagnosticsConfigFeaturesNV VkPhysicalDeviceDiagnosticsConfigFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceDiagnosticsConfigFeaturesNV =
     VkStruct VkPhysicalDeviceDiagnosticsConfigFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceDiagnosticsConfigFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceDiagnosticsConfigFeaturesNV
         where
    type StructRep VkPhysicalDeviceDiagnosticsConfigFeaturesNV =
         'StructMeta "VkPhysicalDeviceDiagnosticsConfigFeaturesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceDiagnosticsConfigFeaturesNV
           (24)
{-# LINE 1775 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1776 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1778 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1783 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "diagnosticsConfig" VkBool32 'False 
                                                             (16)
{-# LINE 1788 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     uint32_t               maxDiscardRectangles;
--   > } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceDiscardRectanglePropertiesEXT VkPhysicalDeviceDiscardRectanglePropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceDiscardRectanglePropertiesEXT =
     VkStruct VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceDiscardRectanglePropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceDiscardRectanglePropertiesEXT
         where
    type StructRep VkPhysicalDeviceDiscardRectanglePropertiesEXT =
         'StructMeta "VkPhysicalDeviceDiscardRectanglePropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceDiscardRectanglePropertiesEXT
           (24)
{-# LINE 1814 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1815 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1817 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1822 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDiscardRectangles" Word32 'False 
                                                              (16)
{-# LINE 1827 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceDriverProperties {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkDriverId                       driverID;
--   >     char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--   >     char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--   >     VkConformanceVersion             conformanceVersion;
--   > } VkPhysicalDeviceDriverProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceDriverProperties VkPhysicalDeviceDriverProperties registry at www.khronos.org>
type VkPhysicalDeviceDriverProperties =
     VkStruct VkPhysicalDeviceDriverProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceDriverProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceDriverProperties where
    type StructRep VkPhysicalDeviceDriverProperties =
         'StructMeta "VkPhysicalDeviceDriverProperties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceDriverProperties
           (536)
{-# LINE 1854 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1855 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1857 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1862 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "driverID" VkDriverId 'False 
                                                      (16)
{-# LINE 1867 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "driverName" CChar 'False 
                                                   (20)
{-# LINE 1872 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_DRIVER_NAME_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "driverInfo" CChar 'False 
                                                   (276)
{-# LINE 1877 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_DRIVER_INFO_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "conformanceVersion" VkConformanceVersion 'False
                (532)
{-# LINE 1882 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceDriverProperties`
type VkPhysicalDeviceDriverPropertiesKHR =
     VkPhysicalDeviceDriverProperties

-- | > typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         exclusiveScissor;
--   > } VkPhysicalDeviceExclusiveScissorFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceExclusiveScissorFeaturesNV VkPhysicalDeviceExclusiveScissorFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceExclusiveScissorFeaturesNV =
     VkStruct VkPhysicalDeviceExclusiveScissorFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceExclusiveScissorFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceExclusiveScissorFeaturesNV
         where
    type StructRep VkPhysicalDeviceExclusiveScissorFeaturesNV =
         'StructMeta "VkPhysicalDeviceExclusiveScissorFeaturesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceExclusiveScissorFeaturesNV
           (24)
{-# LINE 1911 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1912 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1914 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1919 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "exclusiveScissor" VkBool32 'False 
                                                            (16)
{-# LINE 1924 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           extendedDynamicState;
--   > } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT VkPhysicalDeviceExtendedDynamicStateFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceExtendedDynamicStateFeaturesEXT =
     VkStruct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceExtendedDynamicStateFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
         where
    type StructRep VkPhysicalDeviceExtendedDynamicStateFeaturesEXT =
         'StructMeta "VkPhysicalDeviceExtendedDynamicStateFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
           (24)
{-# LINE 1950 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1951 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1953 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1958 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "extendedDynamicState" VkBool32 'False 
                                                                (16)
{-# LINE 1963 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceExternalBufferInfo {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkBufferCreateFlags flags;
--   >     VkBufferUsageFlags               usage;
--   >     VkExternalMemoryHandleTypeFlagBits handleType;
--   > } VkPhysicalDeviceExternalBufferInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfo registry at www.khronos.org>
type VkPhysicalDeviceExternalBufferInfo =
     VkStruct VkPhysicalDeviceExternalBufferInfo' -- ' closing tick for hsc2hs

data VkPhysicalDeviceExternalBufferInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceExternalBufferInfo where
    type StructRep VkPhysicalDeviceExternalBufferInfo =
         'StructMeta "VkPhysicalDeviceExternalBufferInfo" -- ' closing tick for hsc2hs
           VkPhysicalDeviceExternalBufferInfo
           (32)
{-# LINE 1989 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1990 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1992 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 1997 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkBufferCreateFlags 'True 
                                                           (16)
{-# LINE 2002 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "usage" VkBufferUsageFlags 'False 
                                                           (20)
{-# LINE 2007 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "handleType" VkExternalMemoryHandleTypeFlagBits 'False
                (24)
{-# LINE 2012 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceExternalBufferInfo`
type VkPhysicalDeviceExternalBufferInfoKHR =
     VkPhysicalDeviceExternalBufferInfo

-- | > typedef struct VkPhysicalDeviceExternalFenceInfo {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkExternalFenceHandleTypeFlagBits handleType;
--   > } VkPhysicalDeviceExternalFenceInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceExternalFenceInfo VkPhysicalDeviceExternalFenceInfo registry at www.khronos.org>
type VkPhysicalDeviceExternalFenceInfo =
     VkStruct VkPhysicalDeviceExternalFenceInfo' -- ' closing tick for hsc2hs

data VkPhysicalDeviceExternalFenceInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceExternalFenceInfo where
    type StructRep VkPhysicalDeviceExternalFenceInfo =
         'StructMeta "VkPhysicalDeviceExternalFenceInfo" -- ' closing tick for hsc2hs
           VkPhysicalDeviceExternalFenceInfo
           (24)
{-# LINE 2040 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2041 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2043 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2048 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "handleType" VkExternalFenceHandleTypeFlagBits 'False
                (16)
{-# LINE 2053 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceExternalFenceInfo`
type VkPhysicalDeviceExternalFenceInfoKHR =
     VkPhysicalDeviceExternalFenceInfo

-- | > typedef struct VkPhysicalDeviceExternalImageFormatInfo {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkExternalMemoryHandleTypeFlagBits handleType;
--   > } VkPhysicalDeviceExternalImageFormatInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceExternalImageFormatInfo VkPhysicalDeviceExternalImageFormatInfo registry at www.khronos.org>
type VkPhysicalDeviceExternalImageFormatInfo =
     VkStruct VkPhysicalDeviceExternalImageFormatInfo' -- ' closing tick for hsc2hs

data VkPhysicalDeviceExternalImageFormatInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceExternalImageFormatInfo
         where
    type StructRep VkPhysicalDeviceExternalImageFormatInfo =
         'StructMeta "VkPhysicalDeviceExternalImageFormatInfo" -- ' closing tick for hsc2hs
           VkPhysicalDeviceExternalImageFormatInfo
           (24)
{-# LINE 2082 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2083 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2085 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2090 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "handleType" VkExternalMemoryHandleTypeFlagBits 'True
                (16)
{-# LINE 2095 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceImageFormatInfo2] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceExternalImageFormatInfo`
type VkPhysicalDeviceExternalImageFormatInfoKHR =
     VkPhysicalDeviceExternalImageFormatInfo

-- | > typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT {
--   >     VkStructureType sType;
--   >     void* pNext;
--   >     VkDeviceSize minImportedHostPointerAlignment;
--   > } VkPhysicalDeviceExternalMemoryHostPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceExternalMemoryHostPropertiesEXT VkPhysicalDeviceExternalMemoryHostPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceExternalMemoryHostPropertiesEXT =
     VkStruct VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceExternalMemoryHostPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceExternalMemoryHostPropertiesEXT
         where
    type StructRep VkPhysicalDeviceExternalMemoryHostPropertiesEXT =
         'StructMeta "VkPhysicalDeviceExternalMemoryHostPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceExternalMemoryHostPropertiesEXT
           (24)
{-# LINE 2125 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2126 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2128 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2133 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minImportedHostPointerAlignment" VkDeviceSize 'False
                (16)
{-# LINE 2138 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkExternalSemaphoreHandleTypeFlagBits handleType;
--   > } VkPhysicalDeviceExternalSemaphoreInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceExternalSemaphoreInfo VkPhysicalDeviceExternalSemaphoreInfo registry at www.khronos.org>
type VkPhysicalDeviceExternalSemaphoreInfo =
     VkStruct VkPhysicalDeviceExternalSemaphoreInfo' -- ' closing tick for hsc2hs

data VkPhysicalDeviceExternalSemaphoreInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceExternalSemaphoreInfo where
    type StructRep VkPhysicalDeviceExternalSemaphoreInfo =
         'StructMeta "VkPhysicalDeviceExternalSemaphoreInfo" -- ' closing tick for hsc2hs
           VkPhysicalDeviceExternalSemaphoreInfo
           (24)
{-# LINE 2162 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2163 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2165 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2170 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "handleType" VkExternalSemaphoreHandleTypeFlagBits -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 2176 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceExternalSemaphoreInfo`
type VkPhysicalDeviceExternalSemaphoreInfoKHR =
     VkPhysicalDeviceExternalSemaphoreInfo

-- | > typedef struct VkPhysicalDeviceFeatures2 {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkPhysicalDeviceFeatures         features;
--   > } VkPhysicalDeviceFeatures2;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceFeatures2 VkPhysicalDeviceFeatures2 registry at www.khronos.org>
type VkPhysicalDeviceFeatures2 =
     VkStruct VkPhysicalDeviceFeatures2' -- ' closing tick for hsc2hs

data VkPhysicalDeviceFeatures2' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceFeatures2 where
    type StructRep VkPhysicalDeviceFeatures2 =
         'StructMeta "VkPhysicalDeviceFeatures2" VkPhysicalDeviceFeatures2 -- ' closing tick for hsc2hs
           (240)
{-# LINE 2203 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2204 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2206 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2211 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "features" VkPhysicalDeviceFeatures 'False 
                                                                    (16)
{-# LINE 2216 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceFeatures2`
type VkPhysicalDeviceFeatures2KHR = VkPhysicalDeviceFeatures2

-- | Alias for `VkPhysicalDeviceShaderFloat16Int8Features`
type VkPhysicalDeviceFloat16Int8FeaturesKHR =
     VkPhysicalDeviceShaderFloat16Int8Features

-- | > typedef struct VkPhysicalDeviceFloatControlsProperties {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkShaderFloatControlsIndependence denormBehaviorIndependence;
--   >     VkShaderFloatControlsIndependence roundingModeIndependence;
--   >     VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--   >     VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--   >     VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--   >     VkBool32                         shaderDenormPreserveFloat16;
--   >     VkBool32                         shaderDenormPreserveFloat32;
--   >     VkBool32                         shaderDenormPreserveFloat64;
--   >     VkBool32                         shaderDenormFlushToZeroFloat16;
--   >     VkBool32                         shaderDenormFlushToZeroFloat32;
--   >     VkBool32                         shaderDenormFlushToZeroFloat64;
--   >     VkBool32                         shaderRoundingModeRTEFloat16;
--   >     VkBool32                         shaderRoundingModeRTEFloat32;
--   >     VkBool32                         shaderRoundingModeRTEFloat64;
--   >     VkBool32                         shaderRoundingModeRTZFloat16;
--   >     VkBool32                         shaderRoundingModeRTZFloat32;
--   >     VkBool32                         shaderRoundingModeRTZFloat64;
--   > } VkPhysicalDeviceFloatControlsProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceFloatControlsProperties VkPhysicalDeviceFloatControlsProperties registry at www.khronos.org>
type VkPhysicalDeviceFloatControlsProperties =
     VkStruct VkPhysicalDeviceFloatControlsProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceFloatControlsProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceFloatControlsProperties
         where
    type StructRep VkPhysicalDeviceFloatControlsProperties =
         'StructMeta "VkPhysicalDeviceFloatControlsProperties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceFloatControlsProperties
           (88)
{-# LINE 2264 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2265 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2267 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2272 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "denormBehaviorIndependence" -- ' closing tick for hsc2hs
                VkShaderFloatControlsIndependence
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 2279 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "roundingModeIndependence" -- ' closing tick for hsc2hs
                VkShaderFloatControlsIndependence
                'False -- ' closing tick for hsc2hs
                (20)
{-# LINE 2286 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSignedZeroInfNanPreserveFloat16" VkBool32 'False
                (24)
{-# LINE 2291 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSignedZeroInfNanPreserveFloat32" VkBool32 'False
                (28)
{-# LINE 2296 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSignedZeroInfNanPreserveFloat64" VkBool32 'False
                (32)
{-# LINE 2301 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDenormPreserveFloat16" VkBool32 'False 
                                                                       (36)
{-# LINE 2306 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDenormPreserveFloat32" VkBool32 'False 
                                                                       (40)
{-# LINE 2311 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDenormPreserveFloat64" VkBool32 'False 
                                                                       (44)
{-# LINE 2316 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDenormFlushToZeroFloat16" VkBool32 'False
                (48)
{-# LINE 2321 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDenormFlushToZeroFloat32" VkBool32 'False
                (52)
{-# LINE 2326 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDenormFlushToZeroFloat64" VkBool32 'False
                (56)
{-# LINE 2331 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderRoundingModeRTEFloat16" VkBool32 'False
                (60)
{-# LINE 2336 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderRoundingModeRTEFloat32" VkBool32 'False
                (64)
{-# LINE 2341 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderRoundingModeRTEFloat64" VkBool32 'False
                (68)
{-# LINE 2346 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderRoundingModeRTZFloat16" VkBool32 'False
                (72)
{-# LINE 2351 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderRoundingModeRTZFloat32" VkBool32 'False
                (76)
{-# LINE 2356 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderRoundingModeRTZFloat64" VkBool32 'False
                (80)
{-# LINE 2361 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceFloatControlsProperties`
type VkPhysicalDeviceFloatControlsPropertiesKHR =
     VkPhysicalDeviceFloatControlsProperties

-- | > typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         fragmentDensityMapDeferred;
--   > } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT VkPhysicalDeviceFragmentDensityMap2FeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceFragmentDensityMap2FeaturesEXT =
     VkStruct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceFragmentDensityMap2FeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
         where
    type StructRep VkPhysicalDeviceFragmentDensityMap2FeaturesEXT =
         'StructMeta "VkPhysicalDeviceFragmentDensityMap2FeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
           (24)
{-# LINE 2391 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2392 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2394 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2399 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "fragmentDensityMapDeferred" VkBool32 'False 
                                                                      (16)
{-# LINE 2404 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                          pNext;
--   >     VkBool32                       subsampledLoads;
--   >     VkBool32                       subsampledCoarseReconstructionEarlyAccess;
--   >     uint32_t                       maxSubsampledArrayLayers;
--   >     uint32_t                       maxDescriptorSetSubsampledSamplers;
--   > } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceFragmentDensityMap2PropertiesEXT VkPhysicalDeviceFragmentDensityMap2PropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceFragmentDensityMap2PropertiesEXT =
     VkStruct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceFragmentDensityMap2PropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
         where
    type StructRep VkPhysicalDeviceFragmentDensityMap2PropertiesEXT =
         'StructMeta "VkPhysicalDeviceFragmentDensityMap2PropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
           (32)
{-# LINE 2433 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2434 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2436 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2441 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subsampledLoads" VkBool32 'False 
                                                           (16)
{-# LINE 2446 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subsampledCoarseReconstructionEarlyAccess" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (20)
{-# LINE 2452 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxSubsampledArrayLayers" Word32 'False 
                                                                  (24)
{-# LINE 2457 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetSubsampledSamplers" Word32 'False
                (28)
{-# LINE 2462 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         fragmentDensityMap;
--   >     VkBool32                         fragmentDensityMapDynamic;
--   >     VkBool32                         fragmentDensityMapNonSubsampledImages;
--   > } VkPhysicalDeviceFragmentDensityMapFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceFragmentDensityMapFeaturesEXT VkPhysicalDeviceFragmentDensityMapFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceFragmentDensityMapFeaturesEXT =
     VkStruct VkPhysicalDeviceFragmentDensityMapFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceFragmentDensityMapFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceFragmentDensityMapFeaturesEXT
         where
    type StructRep VkPhysicalDeviceFragmentDensityMapFeaturesEXT =
         'StructMeta "VkPhysicalDeviceFragmentDensityMapFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceFragmentDensityMapFeaturesEXT
           (32)
{-# LINE 2490 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2491 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2493 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2498 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "fragmentDensityMap" VkBool32 'False 
                                                              (16)
{-# LINE 2503 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "fragmentDensityMapDynamic" VkBool32 'False 
                                                                     (20)
{-# LINE 2508 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "fragmentDensityMapNonSubsampledImages" VkBool32 'False
                (24)
{-# LINE 2513 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkExtent2D                       minFragmentDensityTexelSize;
--   >     VkExtent2D                       maxFragmentDensityTexelSize;
--   >     VkBool32                         fragmentDensityInvocations;
--   > } VkPhysicalDeviceFragmentDensityMapPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceFragmentDensityMapPropertiesEXT VkPhysicalDeviceFragmentDensityMapPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceFragmentDensityMapPropertiesEXT =
     VkStruct VkPhysicalDeviceFragmentDensityMapPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceFragmentDensityMapPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceFragmentDensityMapPropertiesEXT
         where
    type StructRep VkPhysicalDeviceFragmentDensityMapPropertiesEXT =
         'StructMeta "VkPhysicalDeviceFragmentDensityMapPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceFragmentDensityMapPropertiesEXT
           (40)
{-# LINE 2541 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2542 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2544 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2549 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minFragmentDensityTexelSize" VkExtent2D 'False
                (16)
{-# LINE 2554 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxFragmentDensityTexelSize" VkExtent2D 'False
                (24)
{-# LINE 2559 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "fragmentDensityInvocations" VkBool32 'False 
                                                                      (32)
{-# LINE 2564 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         fragmentShaderBarycentric;
--   > } VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV =
     VkStruct VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
         where
    type StructRep VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
         =
         'StructMeta "VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
           (24)
{-# LINE 2591 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2592 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2594 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2599 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "fragmentShaderBarycentric" VkBool32 'False 
                                                                     (16)
{-# LINE 2604 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     VkBool32               fragmentShaderSampleInterlock;
--   >     VkBool32               fragmentShaderPixelInterlock;
--   >     VkBool32               fragmentShaderShadingRateInterlock;
--   > } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT =
     VkStruct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
         where
    type StructRep VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT =
         'StructMeta "VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
           (32)
{-# LINE 2632 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2633 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2635 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2640 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "fragmentShaderSampleInterlock" VkBool32 'False
                (16)
{-# LINE 2645 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "fragmentShaderPixelInterlock" VkBool32 'False
                (20)
{-# LINE 2650 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "fragmentShaderShadingRateInterlock" VkBool32 'False
                (24)
{-# LINE 2655 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceGroupProperties {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     uint32_t                         physicalDeviceCount;
--   >     VkPhysicalDevice                 physicalDevices[VK_MAX_DEVICE_GROUP_SIZE];
--   >     VkBool32                         subsetAllocation;
--   > } VkPhysicalDeviceGroupProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceGroupProperties VkPhysicalDeviceGroupProperties registry at www.khronos.org>
type VkPhysicalDeviceGroupProperties =
     VkStruct VkPhysicalDeviceGroupProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceGroupProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceGroupProperties where
    type StructRep VkPhysicalDeviceGroupProperties =
         'StructMeta "VkPhysicalDeviceGroupProperties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceGroupProperties
           (288)
{-# LINE 2681 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2682 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2684 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2689 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "physicalDeviceCount" Word32 'False 
                                                             (16)
{-# LINE 2694 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "physicalDevices" VkPhysicalDevice 'False 
                                                                   (24)
{-# LINE 2699 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_DEVICE_GROUP_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subsetAllocation" VkBool32 'False 
                                                            (280)
{-# LINE 2704 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceGroupProperties`
type VkPhysicalDeviceGroupPropertiesKHR =
     VkPhysicalDeviceGroupProperties

-- | > typedef struct VkPhysicalDeviceHostQueryResetFeatures {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           hostQueryReset;
--   > } VkPhysicalDeviceHostQueryResetFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceHostQueryResetFeatures VkPhysicalDeviceHostQueryResetFeatures registry at www.khronos.org>
type VkPhysicalDeviceHostQueryResetFeatures =
     VkStruct VkPhysicalDeviceHostQueryResetFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceHostQueryResetFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceHostQueryResetFeatures where
    type StructRep VkPhysicalDeviceHostQueryResetFeatures =
         'StructMeta "VkPhysicalDeviceHostQueryResetFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceHostQueryResetFeatures
           (24)
{-# LINE 2732 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2733 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2735 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2740 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "hostQueryReset" VkBool32 'False 
                                                          (16)
{-# LINE 2745 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceHostQueryResetFeatures`
type VkPhysicalDeviceHostQueryResetFeaturesEXT =
     VkPhysicalDeviceHostQueryResetFeatures

-- | > typedef struct VkPhysicalDeviceIDProperties {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     uint8_t                          deviceUUID[VK_UUID_SIZE];
--   >     uint8_t                          driverUUID[VK_UUID_SIZE];
--   >     uint8_t                          deviceLUID[VK_LUID_SIZE];
--   >     uint32_t                         deviceNodeMask;
--   >     VkBool32                         deviceLUIDValid;
--   > } VkPhysicalDeviceIDProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceIDProperties VkPhysicalDeviceIDProperties registry at www.khronos.org>
type VkPhysicalDeviceIDProperties =
     VkStruct VkPhysicalDeviceIDProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceIDProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceIDProperties where
    type StructRep VkPhysicalDeviceIDProperties =
         'StructMeta "VkPhysicalDeviceIDProperties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceIDProperties
           (64)
{-# LINE 2777 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2778 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2780 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2785 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceUUID" Word8 'False 
                                                   (16)
{-# LINE 2790 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_UUID_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "driverUUID" Word8 'False 
                                                   (32)
{-# LINE 2795 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_UUID_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceLUID" Word8 'False 
                                                   (48)
{-# LINE 2800 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_LUID_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceNodeMask" Word32 'False 
                                                        (56)
{-# LINE 2805 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceLUIDValid" VkBool32 'False 
                                                           (60)
{-# LINE 2810 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceIDProperties`
type VkPhysicalDeviceIDPropertiesKHR = VkPhysicalDeviceIDProperties

-- | > typedef struct VkPhysicalDeviceImageDrmFormatModifierInfoEXT {
--   >     VkStructureType sType;
--   >     const void* pNext;
--   >     uint64_t drmFormatModifier;
--   >     VkSharingMode sharingMode;
--   >     uint32_t queueFamilyIndexCount;
--   >     const uint32_t* pQueueFamilyIndices;
--   > } VkPhysicalDeviceImageDrmFormatModifierInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceImageDrmFormatModifierInfoEXT VkPhysicalDeviceImageDrmFormatModifierInfoEXT registry at www.khronos.org>
type VkPhysicalDeviceImageDrmFormatModifierInfoEXT =
     VkStruct VkPhysicalDeviceImageDrmFormatModifierInfoEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceImageDrmFormatModifierInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceImageDrmFormatModifierInfoEXT
         where
    type StructRep VkPhysicalDeviceImageDrmFormatModifierInfoEXT =
         'StructMeta "VkPhysicalDeviceImageDrmFormatModifierInfoEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceImageDrmFormatModifierInfoEXT
           (40)
{-# LINE 2842 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2843 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2845 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2850 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "drmFormatModifier" Word64 'False 
                                                           (16)
{-# LINE 2855 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sharingMode" VkSharingMode 'False 
                                                            (24)
{-# LINE 2860 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "queueFamilyIndexCount" Word32 'True 
                                                              (28)
{-# LINE 2865 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pQueueFamilyIndices" (Ptr Word32) 'False 
                                                                   (32)
{-# LINE 2870 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceImageFormatInfo2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceImageFormatInfo2 {
--   >     VkStructureType sType;
--   >     const void* pNext;
--   >     VkFormat                         format;
--   >     VkImageType                      type;
--   >     VkImageTiling                    tiling;
--   >     VkImageUsageFlags                usage;
--   >     VkImageCreateFlags flags;
--   > } VkPhysicalDeviceImageFormatInfo2;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceImageFormatInfo2 VkPhysicalDeviceImageFormatInfo2 registry at www.khronos.org>
type VkPhysicalDeviceImageFormatInfo2 =
     VkStruct VkPhysicalDeviceImageFormatInfo2' -- ' closing tick for hsc2hs

data VkPhysicalDeviceImageFormatInfo2' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceImageFormatInfo2 where
    type StructRep VkPhysicalDeviceImageFormatInfo2 =
         'StructMeta "VkPhysicalDeviceImageFormatInfo2" -- ' closing tick for hsc2hs
           VkPhysicalDeviceImageFormatInfo2
           (40)
{-# LINE 2898 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2899 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2901 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2906 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "format" VkFormat 'False 
                                                  (16)
{-# LINE 2911 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "type" VkImageType 'False 
                                                   (20)
{-# LINE 2916 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "tiling" VkImageTiling 'False 
                                                       (24)
{-# LINE 2921 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "usage" VkImageUsageFlags 'False 
                                                          (28)
{-# LINE 2926 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkImageCreateFlags 'True 
                                                          (32)
{-# LINE 2931 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceImageFormatInfo2`
type VkPhysicalDeviceImageFormatInfo2KHR =
     VkPhysicalDeviceImageFormatInfo2

-- | > typedef struct VkPhysicalDeviceImageRobustnessFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           robustImageAccess;
--   > } VkPhysicalDeviceImageRobustnessFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceImageRobustnessFeaturesEXT VkPhysicalDeviceImageRobustnessFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceImageRobustnessFeaturesEXT =
     VkStruct VkPhysicalDeviceImageRobustnessFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceImageRobustnessFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceImageRobustnessFeaturesEXT
         where
    type StructRep VkPhysicalDeviceImageRobustnessFeaturesEXT =
         'StructMeta "VkPhysicalDeviceImageRobustnessFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceImageRobustnessFeaturesEXT
           (24)
{-# LINE 2960 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2961 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2963 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 2968 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "robustImageAccess" VkBool32 'False 
                                                             (16)
{-# LINE 2973 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkImageViewType                  imageViewType;
--   > } VkPhysicalDeviceImageViewImageFormatInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceImageViewImageFormatInfoEXT VkPhysicalDeviceImageViewImageFormatInfoEXT registry at www.khronos.org>
type VkPhysicalDeviceImageViewImageFormatInfoEXT =
     VkStruct VkPhysicalDeviceImageViewImageFormatInfoEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceImageViewImageFormatInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceImageViewImageFormatInfoEXT
         where
    type StructRep VkPhysicalDeviceImageViewImageFormatInfoEXT =
         'StructMeta "VkPhysicalDeviceImageViewImageFormatInfoEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceImageViewImageFormatInfoEXT
           (24)
{-# LINE 2998 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2999 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 3001 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 3006 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "imageViewType" VkImageViewType 'False 
                                                                (16)
{-# LINE 3011 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceImageFormatInfo2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceImagelessFramebufferFeatures {
--   >     VkStructureType sType;
--   >     void*                                    pNext;
--   >     VkBool32                                 imagelessFramebuffer;
--   > } VkPhysicalDeviceImagelessFramebufferFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceImagelessFramebufferFeatures VkPhysicalDeviceImagelessFramebufferFeatures registry at www.khronos.org>
type VkPhysicalDeviceImagelessFramebufferFeatures =
     VkStruct VkPhysicalDeviceImagelessFramebufferFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceImagelessFramebufferFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceImagelessFramebufferFeatures
         where
    type StructRep VkPhysicalDeviceImagelessFramebufferFeatures =
         'StructMeta "VkPhysicalDeviceImagelessFramebufferFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceImagelessFramebufferFeatures
           (24)
{-# LINE 3036 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 3037 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 3039 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 3044 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "imagelessFramebuffer" VkBool32 'False 
                                                                (16)
{-# LINE 3049 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceImagelessFramebufferFeatures`
type VkPhysicalDeviceImagelessFramebufferFeaturesKHR =
     VkPhysicalDeviceImagelessFramebufferFeatures

-- | > typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           indexTypeUint8;
--   > } VkPhysicalDeviceIndexTypeUint8FeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceIndexTypeUint8FeaturesEXT VkPhysicalDeviceIndexTypeUint8FeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceIndexTypeUint8FeaturesEXT =
     VkStruct VkPhysicalDeviceIndexTypeUint8FeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceIndexTypeUint8FeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceIndexTypeUint8FeaturesEXT
         where
    type StructRep VkPhysicalDeviceIndexTypeUint8FeaturesEXT =
         'StructMeta "VkPhysicalDeviceIndexTypeUint8FeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceIndexTypeUint8FeaturesEXT
           (24)
{-# LINE 3078 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 3079 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 3081 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 3086 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "indexTypeUint8" VkBool32 'False 
                                                          (16)
{-# LINE 3091 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceInlineUniformBlockFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     VkBool32               inlineUniformBlock;
--   >     VkBool32               descriptorBindingInlineUniformBlockUpdateAfterBind;
--   > } VkPhysicalDeviceInlineUniformBlockFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceInlineUniformBlockFeaturesEXT VkPhysicalDeviceInlineUniformBlockFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceInlineUniformBlockFeaturesEXT =
     VkStruct VkPhysicalDeviceInlineUniformBlockFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceInlineUniformBlockFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceInlineUniformBlockFeaturesEXT
         where
    type StructRep VkPhysicalDeviceInlineUniformBlockFeaturesEXT =
         'StructMeta "VkPhysicalDeviceInlineUniformBlockFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceInlineUniformBlockFeaturesEXT
           (24)
{-# LINE 3118 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 3119 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 3121 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 3126 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "inlineUniformBlock" VkBool32 'False 
                                                              (16)
{-# LINE 3131 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingInlineUniformBlockUpdateAfterBind" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (20)
{-# LINE 3138 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceInlineUniformBlockPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     uint32_t               maxInlineUniformBlockSize;
--   >     uint32_t               maxPerStageDescriptorInlineUniformBlocks;
--   >     uint32_t               maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks;
--   >     uint32_t               maxDescriptorSetInlineUniformBlocks;
--   >     uint32_t               maxDescriptorSetUpdateAfterBindInlineUniformBlocks;
--   > } VkPhysicalDeviceInlineUniformBlockPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceInlineUniformBlockPropertiesEXT VkPhysicalDeviceInlineUniformBlockPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceInlineUniformBlockPropertiesEXT =
     VkStruct VkPhysicalDeviceInlineUniformBlockPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceInlineUniformBlockPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceInlineUniformBlockPropertiesEXT
         where
    type StructRep VkPhysicalDeviceInlineUniformBlockPropertiesEXT =
         'StructMeta "VkPhysicalDeviceInlineUniformBlockPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceInlineUniformBlockPropertiesEXT
           (40)
{-# LINE 3168 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 3169 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 3171 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 3176 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxInlineUniformBlockSize" Word32 'False 
                                                                   (16)
{-# LINE 3181 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorInlineUniformBlocks" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (20)
{-# LINE 3187 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta -- ' closing tick for hsc2hs
                "maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks"
                Word32
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 3195 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetInlineUniformBlocks" Word32 'False
                (28)
{-# LINE 3200 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindInlineUniformBlocks" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (32)
{-# LINE 3207 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceLimits {
--   >     uint32_t               maxImageDimension1D;
--   >     uint32_t               maxImageDimension2D;
--   >     uint32_t               maxImageDimension3D;
--   >     uint32_t               maxImageDimensionCube;
--   >     uint32_t               maxImageArrayLayers;
--   >     uint32_t               maxTexelBufferElements;
--   >     uint32_t               maxUniformBufferRange;
--   >     uint32_t               maxStorageBufferRange;
--   >     uint32_t               maxPushConstantsSize;
--   >     uint32_t               maxMemoryAllocationCount;
--   >     uint32_t               maxSamplerAllocationCount;
--   >     VkDeviceSize           bufferImageGranularity;
--   >     VkDeviceSize           sparseAddressSpaceSize;
--   >     uint32_t               maxBoundDescriptorSets;
--   >     uint32_t               maxPerStageDescriptorSamplers;
--   >     uint32_t               maxPerStageDescriptorUniformBuffers;
--   >     uint32_t               maxPerStageDescriptorStorageBuffers;
--   >     uint32_t               maxPerStageDescriptorSampledImages;
--   >     uint32_t               maxPerStageDescriptorStorageImages;
--   >     uint32_t               maxPerStageDescriptorInputAttachments;
--   >     uint32_t               maxPerStageResources;
--   >     uint32_t               maxDescriptorSetSamplers;
--   >     uint32_t               maxDescriptorSetUniformBuffers;
--   >     uint32_t               maxDescriptorSetUniformBuffersDynamic;
--   >     uint32_t               maxDescriptorSetStorageBuffers;
--   >     uint32_t               maxDescriptorSetStorageBuffersDynamic;
--   >     uint32_t               maxDescriptorSetSampledImages;
--   >     uint32_t               maxDescriptorSetStorageImages;
--   >     uint32_t               maxDescriptorSetInputAttachments;
--   >     uint32_t               maxVertexInputAttributes;
--   >     uint32_t               maxVertexInputBindings;
--   >     uint32_t               maxVertexInputAttributeOffset;
--   >     uint32_t               maxVertexInputBindingStride;
--   >     uint32_t               maxVertexOutputComponents;
--   >     uint32_t               maxTessellationGenerationLevel;
--   >     uint32_t               maxTessellationPatchSize;
--   >     uint32_t               maxTessellationControlPerVertexInputComponents;
--   >     uint32_t               maxTessellationControlPerVertexOutputComponents;
--   >     uint32_t               maxTessellationControlPerPatchOutputComponents;
--   >     uint32_t               maxTessellationControlTotalOutputComponents;
--   >     uint32_t               maxTessellationEvaluationInputComponents;
--   >     uint32_t               maxTessellationEvaluationOutputComponents;
--   >     uint32_t               maxGeometryShaderInvocations;
--   >     uint32_t               maxGeometryInputComponents;
--   >     uint32_t               maxGeometryOutputComponents;
--   >     uint32_t               maxGeometryOutputVertices;
--   >     uint32_t               maxGeometryTotalOutputComponents;
--   >     uint32_t               maxFragmentInputComponents;
--   >     uint32_t               maxFragmentOutputAttachments;
--   >     uint32_t               maxFragmentDualSrcAttachments;
--   >     uint32_t               maxFragmentCombinedOutputResources;
--   >     uint32_t               maxComputeSharedMemorySize;
--   >     uint32_t               maxComputeWorkGroupCount[3];
--   >     uint32_t               maxComputeWorkGroupInvocations;
--   >     uint32_t               maxComputeWorkGroupSize[3];
--   >     uint32_t               subPixelPrecisionBits;
--   >     uint32_t               subTexelPrecisionBits;
--   >     uint32_t               mipmapPrecisionBits;
--   >     uint32_t               maxDrawIndexedIndexValue;
--   >     uint32_t               maxDrawIndirectCount;
--   >     float                  maxSamplerLodBias;
--   >     float                  maxSamplerAnisotropy;
--   >     uint32_t               maxViewports;
--   >     uint32_t               maxViewportDimensions[2];
--   >     float                  viewportBoundsRange[2];
--   >     uint32_t               viewportSubPixelBits;
--   >     size_t                 minMemoryMapAlignment;
--   >     VkDeviceSize           minTexelBufferOffsetAlignment;
--   >     VkDeviceSize           minUniformBufferOffsetAlignment;
--   >     VkDeviceSize           minStorageBufferOffsetAlignment;
--   >     int32_t                minTexelOffset;
--   >     uint32_t               maxTexelOffset;
--   >     int32_t                minTexelGatherOffset;
--   >     uint32_t               maxTexelGatherOffset;
--   >     float                  minInterpolationOffset;
--   >     float                  maxInterpolationOffset;
--   >     uint32_t               subPixelInterpolationOffsetBits;
--   >     uint32_t               maxFramebufferWidth;
--   >     uint32_t               maxFramebufferHeight;
--   >     uint32_t               maxFramebufferLayers;
--   >     VkSampleCountFlags     framebufferColorSampleCounts;
--   >     VkSampleCountFlags     framebufferDepthSampleCounts;
--   >     VkSampleCountFlags     framebufferStencilSampleCounts;
--   >     VkSampleCountFlags     framebufferNoAttachmentsSampleCounts;
--   >     uint32_t               maxColorAttachments;
--   >     VkSampleCountFlags     sampledImageColorSampleCounts;
--   >     VkSampleCountFlags     sampledImageIntegerSampleCounts;
--   >     VkSampleCountFlags     sampledImageDepthSampleCounts;
--   >     VkSampleCountFlags     sampledImageStencilSampleCounts;
--   >     VkSampleCountFlags     storageImageSampleCounts;
--   >     uint32_t               maxSampleMaskWords;
--   >     VkBool32               timestampComputeAndGraphics;
--   >     float                  timestampPeriod;
--   >     uint32_t               maxClipDistances;
--   >     uint32_t               maxCullDistances;
--   >     uint32_t               maxCombinedClipAndCullDistances;
--   >     uint32_t               discreteQueuePriorities;
--   >     float                  pointSizeRange[2];
--   >     float                  lineWidthRange[2];
--   >     float                  pointSizeGranularity;
--   >     float                  lineWidthGranularity;
--   >     VkBool32               strictLines;
--   >     VkBool32               standardSampleLocations;
--   >     VkDeviceSize           optimalBufferCopyOffsetAlignment;
--   >     VkDeviceSize           optimalBufferCopyRowPitchAlignment;
--   >     VkDeviceSize           nonCoherentAtomSize;
--   > } VkPhysicalDeviceLimits;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceLimits VkPhysicalDeviceLimits registry at www.khronos.org>
type VkPhysicalDeviceLimits = VkStruct VkPhysicalDeviceLimits' -- ' closing tick for hsc2hs

data VkPhysicalDeviceLimits' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceLimits where
    type StructRep VkPhysicalDeviceLimits =
         'StructMeta "VkPhysicalDeviceLimits" VkPhysicalDeviceLimits -- ' closing tick for hsc2hs
           (504)
{-# LINE 3332 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 3333 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "maxImageDimension1D" Word32 'False  -- ' closing tick for hsc2hs
                                                             (0)
{-# LINE 3335 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxImageDimension2D" Word32 'False 
                                                             (4)
{-# LINE 3340 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxImageDimension3D" Word32 'False 
                                                             (8)
{-# LINE 3345 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxImageDimensionCube" Word32 'False 
                                                               (12)
{-# LINE 3350 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxImageArrayLayers" Word32 'False 
                                                             (16)
{-# LINE 3355 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTexelBufferElements" Word32 'False 
                                                                (20)
{-# LINE 3360 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxUniformBufferRange" Word32 'False 
                                                               (24)
{-# LINE 3365 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxStorageBufferRange" Word32 'False 
                                                               (28)
{-# LINE 3370 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPushConstantsSize" Word32 'False 
                                                              (32)
{-# LINE 3375 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxMemoryAllocationCount" Word32 'False 
                                                                  (36)
{-# LINE 3380 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxSamplerAllocationCount" Word32 'False 
                                                                   (40)
{-# LINE 3385 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "bufferImageGranularity" VkDeviceSize 'False 
                                                                      (48)
{-# LINE 3390 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sparseAddressSpaceSize" VkDeviceSize 'False 
                                                                      (56)
{-# LINE 3395 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxBoundDescriptorSets" Word32 'False 
                                                                (64)
{-# LINE 3400 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorSamplers" Word32 'False 
                                                                       (68)
{-# LINE 3405 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorUniformBuffers" Word32 'False
                (72)
{-# LINE 3410 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorStorageBuffers" Word32 'False
                (76)
{-# LINE 3415 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorSampledImages" Word32 'False
                (80)
{-# LINE 3420 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorStorageImages" Word32 'False
                (84)
{-# LINE 3425 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorInputAttachments" Word32 'False
                (88)
{-# LINE 3430 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageResources" Word32 'False 
                                                              (92)
{-# LINE 3435 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetSamplers" Word32 'False 
                                                                  (96)
{-# LINE 3440 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUniformBuffers" Word32 'False
                (100)
{-# LINE 3445 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUniformBuffersDynamic" Word32 'False
                (104)
{-# LINE 3450 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetStorageBuffers" Word32 'False
                (108)
{-# LINE 3455 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetStorageBuffersDynamic" Word32 'False
                (112)
{-# LINE 3460 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetSampledImages" Word32 'False 
                                                                       (116)
{-# LINE 3465 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetStorageImages" Word32 'False 
                                                                       (120)
{-# LINE 3470 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetInputAttachments" Word32 'False
                (124)
{-# LINE 3475 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxVertexInputAttributes" Word32 'False 
                                                                  (128)
{-# LINE 3480 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxVertexInputBindings" Word32 'False 
                                                                (132)
{-# LINE 3485 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxVertexInputAttributeOffset" Word32 'False 
                                                                       (136)
{-# LINE 3490 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxVertexInputBindingStride" Word32 'False 
                                                                     (140)
{-# LINE 3495 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxVertexOutputComponents" Word32 'False 
                                                                   (144)
{-# LINE 3500 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTessellationGenerationLevel" Word32 'False
                (148)
{-# LINE 3505 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTessellationPatchSize" Word32 'False 
                                                                  (152)
{-# LINE 3510 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTessellationControlPerVertexInputComponents" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (156)
{-# LINE 3516 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTessellationControlPerVertexOutputComponents" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (160)
{-# LINE 3523 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTessellationControlPerPatchOutputComponents" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (164)
{-# LINE 3529 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTessellationControlTotalOutputComponents" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (168)
{-# LINE 3535 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTessellationEvaluationInputComponents" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (172)
{-# LINE 3541 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTessellationEvaluationOutputComponents" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (176)
{-# LINE 3547 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxGeometryShaderInvocations" Word32 'False 
                                                                      (180)
{-# LINE 3552 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxGeometryInputComponents" Word32 'False 
                                                                    (184)
{-# LINE 3557 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxGeometryOutputComponents" Word32 'False 
                                                                     (188)
{-# LINE 3562 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxGeometryOutputVertices" Word32 'False 
                                                                   (192)
{-# LINE 3567 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxGeometryTotalOutputComponents" Word32 'False
                (196)
{-# LINE 3572 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxFragmentInputComponents" Word32 'False 
                                                                    (200)
{-# LINE 3577 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxFragmentOutputAttachments" Word32 'False 
                                                                      (204)
{-# LINE 3582 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxFragmentDualSrcAttachments" Word32 'False 
                                                                       (208)
{-# LINE 3587 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxFragmentCombinedOutputResources" Word32 'False
                (212)
{-# LINE 3592 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxComputeSharedMemorySize" Word32 'False 
                                                                    (216)
{-# LINE 3597 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxComputeWorkGroupCount" Word32 'False 
                                                                  (220)
{-# LINE 3602 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                3
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxComputeWorkGroupInvocations" Word32 'False
                (232)
{-# LINE 3607 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxComputeWorkGroupSize" Word32 'False 
                                                                 (236)
{-# LINE 3612 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                3
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subPixelPrecisionBits" Word32 'False 
                                                               (248)
{-# LINE 3617 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subTexelPrecisionBits" Word32 'False 
                                                               (252)
{-# LINE 3622 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "mipmapPrecisionBits" Word32 'False 
                                                             (256)
{-# LINE 3627 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDrawIndexedIndexValue" Word32 'False 
                                                                  (260)
{-# LINE 3632 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDrawIndirectCount" Word32 'False 
                                                              (264)
{-# LINE 3637 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxSamplerLodBias" ( -- ' closing tick for hsc2hs
                                              Float
{-# LINE 3642 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                                              ) 'False -- ' closing tick for hsc2hs
                (268)
{-# LINE 3644 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxSamplerAnisotropy" ( -- ' closing tick for hsc2hs
                                                 Float)
{-# LINE 3649 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (272)
{-# LINE 3651 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxViewports" Word32 'False 
                                                      (276)
{-# LINE 3656 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxViewportDimensions" Word32 'False 
                                                               (280)
{-# LINE 3661 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                2
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "viewportBoundsRange" ( -- ' closing tick for hsc2hs
                                                Float)
{-# LINE 3666 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (288)
{-# LINE 3668 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                2
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "viewportSubPixelBits" Word32 'False 
                                                              (296)
{-# LINE 3673 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minMemoryMapAlignment" CSize 'False 
                                                              (304)
{-# LINE 3678 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minTexelBufferOffsetAlignment" VkDeviceSize 'False
                (312)
{-# LINE 3683 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minUniformBufferOffsetAlignment" VkDeviceSize 'False
                (320)
{-# LINE 3688 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minStorageBufferOffsetAlignment" VkDeviceSize 'False
                (328)
{-# LINE 3693 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minTexelOffset" Int32 'False 
                                                       (336)
{-# LINE 3698 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTexelOffset" Word32 'False 
                                                        (340)
{-# LINE 3703 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minTexelGatherOffset" Int32 'False 
                                                             (344)
{-# LINE 3708 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTexelGatherOffset" Word32 'False 
                                                              (348)
{-# LINE 3713 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minInterpolationOffset" ( -- ' closing tick for hsc2hs
                                                   Float)
{-# LINE 3718 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (352)
{-# LINE 3720 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxInterpolationOffset" ( -- ' closing tick for hsc2hs
                                                   Float)
{-# LINE 3725 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (356)
{-# LINE 3727 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subPixelInterpolationOffsetBits" Word32 'False
                (360)
{-# LINE 3732 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxFramebufferWidth" Word32 'False 
                                                             (364)
{-# LINE 3737 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxFramebufferHeight" Word32 'False 
                                                              (368)
{-# LINE 3742 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxFramebufferLayers" Word32 'False 
                                                              (372)
{-# LINE 3747 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "framebufferColorSampleCounts" VkSampleCountFlags 'True
                (376)
{-# LINE 3752 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "framebufferDepthSampleCounts" VkSampleCountFlags 'True
                (380)
{-# LINE 3757 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "framebufferStencilSampleCounts" VkSampleCountFlags -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (384)
{-# LINE 3763 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "framebufferNoAttachmentsSampleCounts" -- ' closing tick for hsc2hs
                VkSampleCountFlags
                'True -- ' closing tick for hsc2hs
                (388)
{-# LINE 3770 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxColorAttachments" Word32 'False 
                                                             (392)
{-# LINE 3775 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampledImageColorSampleCounts" VkSampleCountFlags -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (396)
{-# LINE 3781 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampledImageIntegerSampleCounts" VkSampleCountFlags -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (400)
{-# LINE 3787 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampledImageDepthSampleCounts" VkSampleCountFlags -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (404)
{-# LINE 3793 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampledImageStencilSampleCounts" VkSampleCountFlags -- ' closing tick for hsc2hs
                'True -- ' closing tick for hsc2hs
                (408)
{-# LINE 3799 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "storageImageSampleCounts" VkSampleCountFlags 'True
                (412)
{-# LINE 3804 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxSampleMaskWords" Word32 'False 
                                                            (416)
{-# LINE 3809 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "timestampComputeAndGraphics" VkBool32 'False 
                                                                       (420)
{-# LINE 3814 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "timestampPeriod" ( -- ' closing tick for hsc2hs
                                            Float
{-# LINE 3819 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                                            ) 'False -- ' closing tick for hsc2hs
                (424)
{-# LINE 3821 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxClipDistances" Word32 'False 
                                                          (428)
{-# LINE 3826 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxCullDistances" Word32 'False 
                                                          (432)
{-# LINE 3831 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxCombinedClipAndCullDistances" Word32 'False
                (436)
{-# LINE 3836 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "discreteQueuePriorities" Word32 'False 
                                                                 (440)
{-# LINE 3841 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pointSizeRange" ( -- ' closing tick for hsc2hs
                                           Float
{-# LINE 3846 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                                           ) 'False -- ' closing tick for hsc2hs
                (444)
{-# LINE 3848 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                2
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "lineWidthRange" ( -- ' closing tick for hsc2hs
                                           Float
{-# LINE 3853 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                                           ) 'False -- ' closing tick for hsc2hs
                (452)
{-# LINE 3855 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                2
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pointSizeGranularity" ( -- ' closing tick for hsc2hs
                                                 Float)
{-# LINE 3860 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (460)
{-# LINE 3862 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "lineWidthGranularity" ( -- ' closing tick for hsc2hs
                                                 Float)
{-# LINE 3867 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (464)
{-# LINE 3869 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "strictLines" VkBool32 'False 
                                                       (468)
{-# LINE 3874 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "standardSampleLocations" VkBool32 'False 
                                                                   (472)
{-# LINE 3879 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "optimalBufferCopyOffsetAlignment" VkDeviceSize 'False
                (480)
{-# LINE 3884 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "optimalBufferCopyRowPitchAlignment" VkDeviceSize -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (488)
{-# LINE 3890 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "nonCoherentAtomSize" VkDeviceSize 'False 
                                                                   (496)
{-# LINE 3895 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           rectangularLines;
--   >     VkBool32                           bresenhamLines;
--   >     VkBool32                           smoothLines;
--   >     VkBool32                           stippledRectangularLines;
--   >     VkBool32                           stippledBresenhamLines;
--   >     VkBool32                           stippledSmoothLines;
--   > } VkPhysicalDeviceLineRasterizationFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceLineRasterizationFeaturesEXT VkPhysicalDeviceLineRasterizationFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceLineRasterizationFeaturesEXT =
     VkStruct VkPhysicalDeviceLineRasterizationFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceLineRasterizationFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceLineRasterizationFeaturesEXT
         where
    type StructRep VkPhysicalDeviceLineRasterizationFeaturesEXT =
         'StructMeta "VkPhysicalDeviceLineRasterizationFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceLineRasterizationFeaturesEXT
           (40)
{-# LINE 3925 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 3926 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 3928 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 3933 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "rectangularLines" VkBool32 'False 
                                                            (16)
{-# LINE 3938 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "bresenhamLines" VkBool32 'False 
                                                          (20)
{-# LINE 3943 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "smoothLines" VkBool32 'False 
                                                       (24)
{-# LINE 3948 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "stippledRectangularLines" VkBool32 'False 
                                                                    (28)
{-# LINE 3953 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "stippledBresenhamLines" VkBool32 'False 
                                                                  (32)
{-# LINE 3958 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "stippledSmoothLines" VkBool32 'False 
                                                               (36)
{-# LINE 3963 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     uint32_t                            lineSubPixelPrecisionBits;
--   > } VkPhysicalDeviceLineRasterizationPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceLineRasterizationPropertiesEXT VkPhysicalDeviceLineRasterizationPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceLineRasterizationPropertiesEXT =
     VkStruct VkPhysicalDeviceLineRasterizationPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceLineRasterizationPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceLineRasterizationPropertiesEXT
         where
    type StructRep VkPhysicalDeviceLineRasterizationPropertiesEXT =
         'StructMeta "VkPhysicalDeviceLineRasterizationPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceLineRasterizationPropertiesEXT
           (24)
{-# LINE 3989 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 3990 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 3992 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 3997 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "lineSubPixelPrecisionBits" Word32 'False 
                                                                   (16)
{-# LINE 4002 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceMaintenance3Properties {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     uint32_t                         maxPerSetDescriptors;
--   >     VkDeviceSize                     maxMemoryAllocationSize;
--   > } VkPhysicalDeviceMaintenance3Properties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3Properties registry at www.khronos.org>
type VkPhysicalDeviceMaintenance3Properties =
     VkStruct VkPhysicalDeviceMaintenance3Properties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceMaintenance3Properties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceMaintenance3Properties where
    type StructRep VkPhysicalDeviceMaintenance3Properties =
         'StructMeta "VkPhysicalDeviceMaintenance3Properties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceMaintenance3Properties
           (32)
{-# LINE 4027 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4028 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4030 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4035 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerSetDescriptors" Word32 'False 
                                                              (16)
{-# LINE 4040 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxMemoryAllocationSize" VkDeviceSize 'False 
                                                                       (24)
{-# LINE 4045 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceMaintenance3Properties`
type VkPhysicalDeviceMaintenance3PropertiesKHR =
     VkPhysicalDeviceMaintenance3Properties

-- | > typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkDeviceSize                       heapBudget[VK_MAX_MEMORY_HEAPS];
--   >     VkDeviceSize                       heapUsage[VK_MAX_MEMORY_HEAPS];
--   > } VkPhysicalDeviceMemoryBudgetPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceMemoryBudgetPropertiesEXT VkPhysicalDeviceMemoryBudgetPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceMemoryBudgetPropertiesEXT =
     VkStruct VkPhysicalDeviceMemoryBudgetPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceMemoryBudgetPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceMemoryBudgetPropertiesEXT
         where
    type StructRep VkPhysicalDeviceMemoryBudgetPropertiesEXT =
         'StructMeta "VkPhysicalDeviceMemoryBudgetPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceMemoryBudgetPropertiesEXT
           (272)
{-# LINE 4075 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4076 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4078 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4083 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "heapBudget" VkDeviceSize 'False 
                                                          (16)
{-# LINE 4088 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_MEMORY_HEAPS
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "heapUsage" VkDeviceSize 'False 
                                                         (144)
{-# LINE 4093 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_MEMORY_HEAPS
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceMemoryProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           memoryPriority;
--   > } VkPhysicalDeviceMemoryPriorityFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceMemoryPriorityFeaturesEXT VkPhysicalDeviceMemoryPriorityFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceMemoryPriorityFeaturesEXT =
     VkStruct VkPhysicalDeviceMemoryPriorityFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceMemoryPriorityFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceMemoryPriorityFeaturesEXT
         where
    type StructRep VkPhysicalDeviceMemoryPriorityFeaturesEXT =
         'StructMeta "VkPhysicalDeviceMemoryPriorityFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceMemoryPriorityFeaturesEXT
           (24)
{-# LINE 4118 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4119 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4121 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4126 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "memoryPriority" VkBool32 'False 
                                                          (16)
{-# LINE 4131 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceMemoryProperties {
--   >     uint32_t               memoryTypeCount;
--   >     VkMemoryType           memoryTypes[VK_MAX_MEMORY_TYPES];
--   >     uint32_t               memoryHeapCount;
--   >     VkMemoryHeap           memoryHeaps[VK_MAX_MEMORY_HEAPS];
--   > } VkPhysicalDeviceMemoryProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceMemoryProperties VkPhysicalDeviceMemoryProperties registry at www.khronos.org>
type VkPhysicalDeviceMemoryProperties =
     VkStruct VkPhysicalDeviceMemoryProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceMemoryProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceMemoryProperties where
    type StructRep VkPhysicalDeviceMemoryProperties =
         'StructMeta "VkPhysicalDeviceMemoryProperties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceMemoryProperties
           (520)
{-# LINE 4156 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4157 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "memoryTypeCount" Word32 'False  -- ' closing tick for hsc2hs
                                                         (0)
{-# LINE 4159 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "memoryTypes" VkMemoryType 'False 
                                                           (4)
{-# LINE 4164 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_MEMORY_TYPES
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "memoryHeapCount" Word32 'False 
                                                         (260)
{-# LINE 4169 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "memoryHeaps" VkMemoryHeap 'False 
                                                           (264)
{-# LINE 4174 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_MEMORY_HEAPS
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceMemoryProperties2 {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkPhysicalDeviceMemoryProperties memoryProperties;
--   > } VkPhysicalDeviceMemoryProperties2;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceMemoryProperties2 VkPhysicalDeviceMemoryProperties2 registry at www.khronos.org>
type VkPhysicalDeviceMemoryProperties2 =
     VkStruct VkPhysicalDeviceMemoryProperties2' -- ' closing tick for hsc2hs

data VkPhysicalDeviceMemoryProperties2' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceMemoryProperties2 where
    type StructRep VkPhysicalDeviceMemoryProperties2 =
         'StructMeta "VkPhysicalDeviceMemoryProperties2" -- ' closing tick for hsc2hs
           VkPhysicalDeviceMemoryProperties2
           (536)
{-# LINE 4198 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4199 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4201 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4206 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "memoryProperties" VkPhysicalDeviceMemoryProperties -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 4212 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceMemoryProperties2`
type VkPhysicalDeviceMemoryProperties2KHR =
     VkPhysicalDeviceMemoryProperties2

-- | > typedef struct VkPhysicalDeviceMeshShaderFeaturesNV {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     VkBool32                            taskShader;
--   >     VkBool32                            meshShader;
--   > } VkPhysicalDeviceMeshShaderFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceMeshShaderFeaturesNV VkPhysicalDeviceMeshShaderFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceMeshShaderFeaturesNV =
     VkStruct VkPhysicalDeviceMeshShaderFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceMeshShaderFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceMeshShaderFeaturesNV where
    type StructRep VkPhysicalDeviceMeshShaderFeaturesNV =
         'StructMeta "VkPhysicalDeviceMeshShaderFeaturesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceMeshShaderFeaturesNV
           (24)
{-# LINE 4241 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4242 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4244 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4249 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "taskShader" VkBool32 'False 
                                                      (16)
{-# LINE 4254 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "meshShader" VkBool32 'False 
                                                      (20)
{-# LINE 4259 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceMeshShaderPropertiesNV {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     uint32_t                            maxDrawMeshTasksCount;
--   >     uint32_t                            maxTaskWorkGroupInvocations;
--   >     uint32_t                            maxTaskWorkGroupSize[3];
--   >     uint32_t                            maxTaskTotalMemorySize;
--   >     uint32_t                            maxTaskOutputCount;
--   >     uint32_t                            maxMeshWorkGroupInvocations;
--   >     uint32_t                            maxMeshWorkGroupSize[3];
--   >     uint32_t                            maxMeshTotalMemorySize;
--   >     uint32_t                            maxMeshOutputVertices;
--   >     uint32_t                            maxMeshOutputPrimitives;
--   >     uint32_t                            maxMeshMultiviewViewCount;
--   >     uint32_t                            meshOutputPerVertexGranularity;
--   >     uint32_t                            meshOutputPerPrimitiveGranularity;
--   > } VkPhysicalDeviceMeshShaderPropertiesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceMeshShaderPropertiesNV VkPhysicalDeviceMeshShaderPropertiesNV registry at www.khronos.org>
type VkPhysicalDeviceMeshShaderPropertiesNV =
     VkStruct VkPhysicalDeviceMeshShaderPropertiesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceMeshShaderPropertiesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceMeshShaderPropertiesNV where
    type StructRep VkPhysicalDeviceMeshShaderPropertiesNV =
         'StructMeta "VkPhysicalDeviceMeshShaderPropertiesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceMeshShaderPropertiesNV
           (88)
{-# LINE 4295 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4296 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4298 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4303 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDrawMeshTasksCount" Word32 'False 
                                                               (16)
{-# LINE 4308 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTaskWorkGroupInvocations" Word32 'False 
                                                                     (20)
{-# LINE 4313 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTaskWorkGroupSize" Word32 'False 
                                                              (24)
{-# LINE 4318 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                3
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTaskTotalMemorySize" Word32 'False 
                                                                (36)
{-# LINE 4323 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTaskOutputCount" Word32 'False 
                                                            (40)
{-# LINE 4328 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxMeshWorkGroupInvocations" Word32 'False 
                                                                     (44)
{-# LINE 4333 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxMeshWorkGroupSize" Word32 'False 
                                                              (48)
{-# LINE 4338 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                3
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxMeshTotalMemorySize" Word32 'False 
                                                                (60)
{-# LINE 4343 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxMeshOutputVertices" Word32 'False 
                                                               (64)
{-# LINE 4348 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxMeshOutputPrimitives" Word32 'False 
                                                                 (68)
{-# LINE 4353 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxMeshMultiviewViewCount" Word32 'False 
                                                                   (72)
{-# LINE 4358 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "meshOutputPerVertexGranularity" Word32 'False
                (76)
{-# LINE 4363 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "meshOutputPerPrimitiveGranularity" Word32 'False
                (80)
{-# LINE 4368 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceMultiviewFeatures {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         multiview;
--   >     VkBool32                         multiviewGeometryShader;
--   >     VkBool32                         multiviewTessellationShader;
--   > } VkPhysicalDeviceMultiviewFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceMultiviewFeatures VkPhysicalDeviceMultiviewFeatures registry at www.khronos.org>
type VkPhysicalDeviceMultiviewFeatures =
     VkStruct VkPhysicalDeviceMultiviewFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceMultiviewFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceMultiviewFeatures where
    type StructRep VkPhysicalDeviceMultiviewFeatures =
         'StructMeta "VkPhysicalDeviceMultiviewFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceMultiviewFeatures
           (32)
{-# LINE 4394 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4395 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4397 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4402 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "multiview" VkBool32 'False 
                                                     (16)
{-# LINE 4407 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "multiviewGeometryShader" VkBool32 'False 
                                                                   (20)
{-# LINE 4412 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "multiviewTessellationShader" VkBool32 'False 
                                                                       (24)
{-# LINE 4417 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceMultiviewFeatures`
type VkPhysicalDeviceMultiviewFeaturesKHR =
     VkPhysicalDeviceMultiviewFeatures

-- | > typedef struct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         perViewPositionAllComponents;
--   > } VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX registry at www.khronos.org>
type VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX =
     VkStruct VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- ' closing tick for hsc2hs

data VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
         where
    type StructRep
           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
         =
         'StructMeta -- ' closing tick for hsc2hs
           "VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX"
           VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
           (24)
{-# LINE 4450 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4451 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4453 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4458 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "perViewPositionAllComponents" VkBool32 'False
                (16)
{-# LINE 4463 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceMultiviewProperties {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     uint32_t                         maxMultiviewViewCount;
--   >     uint32_t                         maxMultiviewInstanceIndex;
--   > } VkPhysicalDeviceMultiviewProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceMultiviewProperties VkPhysicalDeviceMultiviewProperties registry at www.khronos.org>
type VkPhysicalDeviceMultiviewProperties =
     VkStruct VkPhysicalDeviceMultiviewProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceMultiviewProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceMultiviewProperties where
    type StructRep VkPhysicalDeviceMultiviewProperties =
         'StructMeta "VkPhysicalDeviceMultiviewProperties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceMultiviewProperties
           (24)
{-# LINE 4488 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4489 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4491 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4496 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxMultiviewViewCount" Word32 'False 
                                                               (16)
{-# LINE 4501 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxMultiviewInstanceIndex" Word32 'False 
                                                                   (20)
{-# LINE 4506 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceMultiviewProperties`
type VkPhysicalDeviceMultiviewPropertiesKHR =
     VkPhysicalDeviceMultiviewProperties

-- | > typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     uint32_t               pciDomain;
--   >     uint32_t               pciBus;
--   >     uint32_t               pciDevice;
--   >     uint32_t               pciFunction;
--   > } VkPhysicalDevicePCIBusInfoPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDevicePCIBusInfoPropertiesEXT VkPhysicalDevicePCIBusInfoPropertiesEXT registry at www.khronos.org>
type VkPhysicalDevicePCIBusInfoPropertiesEXT =
     VkStruct VkPhysicalDevicePCIBusInfoPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDevicePCIBusInfoPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDevicePCIBusInfoPropertiesEXT
         where
    type StructRep VkPhysicalDevicePCIBusInfoPropertiesEXT =
         'StructMeta "VkPhysicalDevicePCIBusInfoPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDevicePCIBusInfoPropertiesEXT
           (32)
{-# LINE 4538 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4539 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4541 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4546 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pciDomain" Word32 'False 
                                                   (16)
{-# LINE 4551 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pciBus" Word32 'False 
                                                (20)
{-# LINE 4556 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pciDevice" Word32 'False 
                                                   (24)
{-# LINE 4561 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pciFunction" Word32 'False 
                                                     (28)
{-# LINE 4566 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR {
--   >     VkStructureType sType;
--   >     void*      pNext;
--   >     VkBool32                         performanceCounterQueryPools;
--   >     VkBool32                         performanceCounterMultipleQueryPools;
--   > } VkPhysicalDevicePerformanceQueryFeaturesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDevicePerformanceQueryFeaturesKHR VkPhysicalDevicePerformanceQueryFeaturesKHR registry at www.khronos.org>
type VkPhysicalDevicePerformanceQueryFeaturesKHR =
     VkStruct VkPhysicalDevicePerformanceQueryFeaturesKHR' -- ' closing tick for hsc2hs

data VkPhysicalDevicePerformanceQueryFeaturesKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDevicePerformanceQueryFeaturesKHR
         where
    type StructRep VkPhysicalDevicePerformanceQueryFeaturesKHR =
         'StructMeta "VkPhysicalDevicePerformanceQueryFeaturesKHR" -- ' closing tick for hsc2hs
           VkPhysicalDevicePerformanceQueryFeaturesKHR
           (24)
{-# LINE 4592 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4593 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4595 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4600 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "performanceCounterQueryPools" VkBool32 'False
                (16)
{-# LINE 4605 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "performanceCounterMultipleQueryPools" VkBool32 'False
                (20)
{-# LINE 4610 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR {
--   >     VkStructureType sType;
--   >     void* pNext;
--   >     VkBool32 allowCommandBufferQueryCopies;
--   > } VkPhysicalDevicePerformanceQueryPropertiesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDevicePerformanceQueryPropertiesKHR VkPhysicalDevicePerformanceQueryPropertiesKHR registry at www.khronos.org>
type VkPhysicalDevicePerformanceQueryPropertiesKHR =
     VkStruct VkPhysicalDevicePerformanceQueryPropertiesKHR' -- ' closing tick for hsc2hs

data VkPhysicalDevicePerformanceQueryPropertiesKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDevicePerformanceQueryPropertiesKHR
         where
    type StructRep VkPhysicalDevicePerformanceQueryPropertiesKHR =
         'StructMeta "VkPhysicalDevicePerformanceQueryPropertiesKHR" -- ' closing tick for hsc2hs
           VkPhysicalDevicePerformanceQueryPropertiesKHR
           (24)
{-# LINE 4636 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4637 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4639 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4644 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "allowCommandBufferQueryCopies" VkBool32 'False
                (16)
{-# LINE 4649 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT {
--   >     VkStructureType sType;
--   >     void* pNext;
--   >     VkBool32                                                         pipelineCreationCacheControl;
--   > } VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT registry at www.khronos.org>
type VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT =
     VkStruct VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
         where
    type StructRep
           VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
         =
         'StructMeta -- ' closing tick for hsc2hs
           "VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT"
           VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
           (24)
{-# LINE 4678 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4679 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4681 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4686 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pipelineCreationCacheControl" VkBool32 'False
                (16)
{-# LINE 4691 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR {
--   >     VkStructureType sType;
--   >     void*              pNext;
--   >     VkBool32           pipelineExecutableInfo;
--   > } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR registry at www.khronos.org>
type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR =
     VkStruct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR' -- ' closing tick for hsc2hs

data VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
         where
    type StructRep
           VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
         =
         'StructMeta -- ' closing tick for hsc2hs
           "VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR"
           VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
           (24)
{-# LINE 4720 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4721 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4723 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4728 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pipelineExecutableInfo" VkBool32 'False 
                                                                  (16)
{-# LINE 4733 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDevicePointClippingProperties {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkPointClippingBehavior      pointClippingBehavior;
--   > } VkPhysicalDevicePointClippingProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDevicePointClippingProperties VkPhysicalDevicePointClippingProperties registry at www.khronos.org>
type VkPhysicalDevicePointClippingProperties =
     VkStruct VkPhysicalDevicePointClippingProperties' -- ' closing tick for hsc2hs

data VkPhysicalDevicePointClippingProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDevicePointClippingProperties
         where
    type StructRep VkPhysicalDevicePointClippingProperties =
         'StructMeta "VkPhysicalDevicePointClippingProperties" -- ' closing tick for hsc2hs
           VkPhysicalDevicePointClippingProperties
           (24)
{-# LINE 4758 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4759 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4761 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4766 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pointClippingBehavior" VkPointClippingBehavior 'False
                (16)
{-# LINE 4771 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDevicePointClippingProperties`
type VkPhysicalDevicePointClippingPropertiesKHR =
     VkPhysicalDevicePointClippingProperties

-- | > typedef struct VkPhysicalDevicePrivateDataFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*                                  pNext;
--   >     VkBool32                               privateData;
--   > } VkPhysicalDevicePrivateDataFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDevicePrivateDataFeaturesEXT VkPhysicalDevicePrivateDataFeaturesEXT registry at www.khronos.org>
type VkPhysicalDevicePrivateDataFeaturesEXT =
     VkStruct VkPhysicalDevicePrivateDataFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDevicePrivateDataFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDevicePrivateDataFeaturesEXT where
    type StructRep VkPhysicalDevicePrivateDataFeaturesEXT =
         'StructMeta "VkPhysicalDevicePrivateDataFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDevicePrivateDataFeaturesEXT
           (24)
{-# LINE 4799 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4800 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4802 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4807 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "privateData" VkBool32 'False 
                                                       (16)
{-# LINE 4812 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceProperties {
--   >     uint32_t       apiVersion;
--   >     uint32_t       driverVersion;
--   >     uint32_t       vendorID;
--   >     uint32_t       deviceID;
--   >     VkPhysicalDeviceType deviceType;
--   >     char           deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
--   >     uint8_t        pipelineCacheUUID[VK_UUID_SIZE];
--   >     VkPhysicalDeviceLimits limits;
--   >     VkPhysicalDeviceSparseProperties sparseProperties;
--   > } VkPhysicalDeviceProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceProperties VkPhysicalDeviceProperties registry at www.khronos.org>
type VkPhysicalDeviceProperties =
     VkStruct VkPhysicalDeviceProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceProperties where
    type StructRep VkPhysicalDeviceProperties =
         'StructMeta "VkPhysicalDeviceProperties" VkPhysicalDeviceProperties -- ' closing tick for hsc2hs
           (824)
{-# LINE 4841 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4842 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "apiVersion" Word32 'False  -- ' closing tick for hsc2hs
                                                    (0)
{-# LINE 4844 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "driverVersion" Word32 'False 
                                                       (4)
{-# LINE 4849 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vendorID" Word32 'False 
                                                  (8)
{-# LINE 4854 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceID" Word32 'False 
                                                  (12)
{-# LINE 4859 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceType" VkPhysicalDeviceType 'False 
                                                                  (16)
{-# LINE 4864 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceName" CChar 'False 
                                                   (20)
{-# LINE 4869 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_PHYSICAL_DEVICE_NAME_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pipelineCacheUUID" Word8 'False 
                                                          (276)
{-# LINE 4874 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_UUID_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "limits" VkPhysicalDeviceLimits 'False 
                                                                (296)
{-# LINE 4879 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sparseProperties" VkPhysicalDeviceSparseProperties -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (800)
{-# LINE 4885 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceProperties2 {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkPhysicalDeviceProperties       properties;
--   > } VkPhysicalDeviceProperties2;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceProperties2 VkPhysicalDeviceProperties2 registry at www.khronos.org>
type VkPhysicalDeviceProperties2 =
     VkStruct VkPhysicalDeviceProperties2' -- ' closing tick for hsc2hs

data VkPhysicalDeviceProperties2' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceProperties2 where
    type StructRep VkPhysicalDeviceProperties2 =
         'StructMeta "VkPhysicalDeviceProperties2" -- ' closing tick for hsc2hs
           VkPhysicalDeviceProperties2
           (840)
{-# LINE 4909 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4910 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4912 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4917 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "properties" VkPhysicalDeviceProperties 'False
                (16)
{-# LINE 4922 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceProperties2`
type VkPhysicalDeviceProperties2KHR = VkPhysicalDeviceProperties2

-- | > typedef struct VkPhysicalDeviceProtectedMemoryFeatures {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     VkBool32                            protectedMemory;
--   > } VkPhysicalDeviceProtectedMemoryFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceProtectedMemoryFeatures VkPhysicalDeviceProtectedMemoryFeatures registry at www.khronos.org>
type VkPhysicalDeviceProtectedMemoryFeatures =
     VkStruct VkPhysicalDeviceProtectedMemoryFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceProtectedMemoryFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceProtectedMemoryFeatures
         where
    type StructRep VkPhysicalDeviceProtectedMemoryFeatures =
         'StructMeta "VkPhysicalDeviceProtectedMemoryFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceProtectedMemoryFeatures
           (24)
{-# LINE 4950 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4951 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4953 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4958 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "protectedMemory" VkBool32 'False 
                                                           (16)
{-# LINE 4963 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceProtectedMemoryProperties {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     VkBool32                            protectedNoFault;
--   > } VkPhysicalDeviceProtectedMemoryProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceProtectedMemoryProperties VkPhysicalDeviceProtectedMemoryProperties registry at www.khronos.org>
type VkPhysicalDeviceProtectedMemoryProperties =
     VkStruct VkPhysicalDeviceProtectedMemoryProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceProtectedMemoryProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceProtectedMemoryProperties
         where
    type StructRep VkPhysicalDeviceProtectedMemoryProperties =
         'StructMeta "VkPhysicalDeviceProtectedMemoryProperties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceProtectedMemoryProperties
           (24)
{-# LINE 4988 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 4989 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 4991 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 4996 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "protectedNoFault" VkBool32 'False 
                                                            (16)
{-# LINE 5001 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     uint32_t                         maxPushDescriptors;
--   > } VkPhysicalDevicePushDescriptorPropertiesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDevicePushDescriptorPropertiesKHR VkPhysicalDevicePushDescriptorPropertiesKHR registry at www.khronos.org>
type VkPhysicalDevicePushDescriptorPropertiesKHR =
     VkStruct VkPhysicalDevicePushDescriptorPropertiesKHR' -- ' closing tick for hsc2hs

data VkPhysicalDevicePushDescriptorPropertiesKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDevicePushDescriptorPropertiesKHR
         where
    type StructRep VkPhysicalDevicePushDescriptorPropertiesKHR =
         'StructMeta "VkPhysicalDevicePushDescriptorPropertiesKHR" -- ' closing tick for hsc2hs
           VkPhysicalDevicePushDescriptorPropertiesKHR
           (24)
{-# LINE 5026 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5027 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5029 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5034 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPushDescriptors" Word32 'False 
                                                            (16)
{-# LINE 5039 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceRayTracingPropertiesNV {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     uint32_t                         shaderGroupHandleSize;
--   >     uint32_t                         maxRecursionDepth;
--   >     uint32_t                         maxShaderGroupStride;
--   >     uint32_t                         shaderGroupBaseAlignment;
--   >     uint64_t                         maxGeometryCount;
--   >     uint64_t                         maxInstanceCount;
--   >     uint64_t                         maxTriangleCount;
--   >     uint32_t                         maxDescriptorSetAccelerationStructures;
--   > } VkPhysicalDeviceRayTracingPropertiesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceRayTracingPropertiesNV VkPhysicalDeviceRayTracingPropertiesNV registry at www.khronos.org>
type VkPhysicalDeviceRayTracingPropertiesNV =
     VkStruct VkPhysicalDeviceRayTracingPropertiesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceRayTracingPropertiesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceRayTracingPropertiesNV where
    type StructRep VkPhysicalDeviceRayTracingPropertiesNV =
         'StructMeta "VkPhysicalDeviceRayTracingPropertiesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceRayTracingPropertiesNV
           (64)
{-# LINE 5070 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5071 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5073 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5078 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderGroupHandleSize" Word32 'False 
                                                               (16)
{-# LINE 5083 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxRecursionDepth" Word32 'False 
                                                           (20)
{-# LINE 5088 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxShaderGroupStride" Word32 'False 
                                                              (24)
{-# LINE 5093 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderGroupBaseAlignment" Word32 'False 
                                                                  (28)
{-# LINE 5098 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxGeometryCount" Word64 'False 
                                                          (32)
{-# LINE 5103 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxInstanceCount" Word64 'False 
                                                          (40)
{-# LINE 5108 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTriangleCount" Word64 'False 
                                                          (48)
{-# LINE 5113 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetAccelerationStructures" Word32 'False
                (56)
{-# LINE 5118 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV {
--   >     VkStructureTypesType;
--   >     void*    pNext;
--   >     VkBool32                       representativeFragmentTest;
--   > } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV =
     VkStruct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
         where
    type StructRep VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
         =
         'StructMeta "VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
           (24)
{-# LINE 5145 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5146 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5148 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5153 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "representativeFragmentTest" VkBool32 'False 
                                                                      (16)
{-# LINE 5158 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceRobustness2FeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           robustBufferAccess2;
--   >     VkBool32                           robustImageAccess2;
--   >     VkBool32                           nullDescriptor;
--   > } VkPhysicalDeviceRobustness2FeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceRobustness2FeaturesEXT VkPhysicalDeviceRobustness2FeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceRobustness2FeaturesEXT =
     VkStruct VkPhysicalDeviceRobustness2FeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceRobustness2FeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceRobustness2FeaturesEXT where
    type StructRep VkPhysicalDeviceRobustness2FeaturesEXT =
         'StructMeta "VkPhysicalDeviceRobustness2FeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceRobustness2FeaturesEXT
           (32)
{-# LINE 5184 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5185 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5187 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5192 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "robustBufferAccess2" VkBool32 'False 
                                                               (16)
{-# LINE 5197 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "robustImageAccess2" VkBool32 'False 
                                                              (20)
{-# LINE 5202 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "nullDescriptor" VkBool32 'False 
                                                          (24)
{-# LINE 5207 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceRobustness2PropertiesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkDeviceSize                       robustStorageBufferAccessSizeAlignment;
--   >     VkDeviceSize                       robustUniformBufferAccessSizeAlignment;
--   > } VkPhysicalDeviceRobustness2PropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceRobustness2PropertiesEXT VkPhysicalDeviceRobustness2PropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceRobustness2PropertiesEXT =
     VkStruct VkPhysicalDeviceRobustness2PropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceRobustness2PropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceRobustness2PropertiesEXT
         where
    type StructRep VkPhysicalDeviceRobustness2PropertiesEXT =
         'StructMeta "VkPhysicalDeviceRobustness2PropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceRobustness2PropertiesEXT
           (32)
{-# LINE 5233 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5234 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5236 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5241 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "robustStorageBufferAccessSizeAlignment" VkDeviceSize -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 5247 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "robustUniformBufferAccessSizeAlignment" VkDeviceSize -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 5253 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkSampleCountFlags               sampleLocationSampleCounts;
--   >     VkExtent2D                       maxSampleLocationGridSize;
--   >     float                            sampleLocationCoordinateRange[2];
--   >     uint32_t                         sampleLocationSubPixelBits;
--   >     VkBool32                         variableSampleLocations;
--   > } VkPhysicalDeviceSampleLocationsPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSampleLocationsPropertiesEXT VkPhysicalDeviceSampleLocationsPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceSampleLocationsPropertiesEXT =
     VkStruct VkPhysicalDeviceSampleLocationsPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceSampleLocationsPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceSampleLocationsPropertiesEXT
         where
    type StructRep VkPhysicalDeviceSampleLocationsPropertiesEXT =
         'StructMeta "VkPhysicalDeviceSampleLocationsPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceSampleLocationsPropertiesEXT
           (48)
{-# LINE 5282 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5283 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5285 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5290 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampleLocationSampleCounts" VkSampleCountFlags 'False
                (16)
{-# LINE 5295 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxSampleLocationGridSize" VkExtent2D 'False 
                                                                       (20)
{-# LINE 5300 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampleLocationCoordinateRange" -- ' closing tick for hsc2hs
                (Float)
{-# LINE 5305 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (28)
{-# LINE 5307 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                2
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampleLocationSubPixelBits" Word32 'False 
                                                                    (36)
{-# LINE 5312 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "variableSampleLocations" VkBool32 'False 
                                                                   (40)
{-# LINE 5317 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     VkBool32               filterMinmaxSingleComponentFormats;
--   >     VkBool32               filterMinmaxImageComponentMapping;
--   > } VkPhysicalDeviceSamplerFilterMinmaxProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSamplerFilterMinmaxProperties VkPhysicalDeviceSamplerFilterMinmaxProperties registry at www.khronos.org>
type VkPhysicalDeviceSamplerFilterMinmaxProperties =
     VkStruct VkPhysicalDeviceSamplerFilterMinmaxProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceSamplerFilterMinmaxProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceSamplerFilterMinmaxProperties
         where
    type StructRep VkPhysicalDeviceSamplerFilterMinmaxProperties =
         'StructMeta "VkPhysicalDeviceSamplerFilterMinmaxProperties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceSamplerFilterMinmaxProperties
           (24)
{-# LINE 5344 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5345 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5347 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5352 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "filterMinmaxSingleComponentFormats" VkBool32 'False
                (16)
{-# LINE 5357 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "filterMinmaxImageComponentMapping" VkBool32 'False
                (20)
{-# LINE 5362 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceSamplerFilterMinmaxProperties`
type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
     VkPhysicalDeviceSamplerFilterMinmaxProperties

-- | > typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--   >     VkStructureType sType;
--   >     void*      pNext;
--   >     VkBool32                         samplerYcbcrConversion;
--   > } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSamplerYcbcrConversionFeatures VkPhysicalDeviceSamplerYcbcrConversionFeatures registry at www.khronos.org>
type VkPhysicalDeviceSamplerYcbcrConversionFeatures =
     VkStruct VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceSamplerYcbcrConversionFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceSamplerYcbcrConversionFeatures
         where
    type StructRep VkPhysicalDeviceSamplerYcbcrConversionFeatures =
         'StructMeta "VkPhysicalDeviceSamplerYcbcrConversionFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceSamplerYcbcrConversionFeatures
           (24)
{-# LINE 5392 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5393 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5395 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5400 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "samplerYcbcrConversion" VkBool32 'False 
                                                                  (16)
{-# LINE 5405 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceSamplerYcbcrConversionFeatures`
type VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR =
     VkPhysicalDeviceSamplerYcbcrConversionFeatures

-- | > typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     VkBool32                            scalarBlockLayout;
--   > } VkPhysicalDeviceScalarBlockLayoutFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLayoutFeatures registry at www.khronos.org>
type VkPhysicalDeviceScalarBlockLayoutFeatures =
     VkStruct VkPhysicalDeviceScalarBlockLayoutFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceScalarBlockLayoutFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceScalarBlockLayoutFeatures
         where
    type StructRep VkPhysicalDeviceScalarBlockLayoutFeatures =
         'StructMeta "VkPhysicalDeviceScalarBlockLayoutFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceScalarBlockLayoutFeatures
           (24)
{-# LINE 5434 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5435 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5437 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5442 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "scalarBlockLayout" VkBool32 'False 
                                                             (16)
{-# LINE 5447 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceScalarBlockLayoutFeatures`
type VkPhysicalDeviceScalarBlockLayoutFeaturesEXT =
     VkPhysicalDeviceScalarBlockLayoutFeatures

-- | > typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures {
--   >     VkStructureTypesType;
--   >     void*    pNext;
--   >     VkBool32                       separateDepthStencilLayouts;
--   > } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures registry at www.khronos.org>
type VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures =
     VkStruct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
         where
    type StructRep VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
         =
         'StructMeta "VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
           (24)
{-# LINE 5478 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5479 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5481 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5486 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "separateDepthStencilLayouts" VkBool32 'False 
                                                                       (16)
{-# LINE 5491 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures`
type VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR =
     VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures

-- | > typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     VkBool32                            shaderBufferFloat32Atomics;
--   >     VkBool32                            shaderBufferFloat32AtomicAdd;
--   >     VkBool32                            shaderBufferFloat64Atomics;
--   >     VkBool32                            shaderBufferFloat64AtomicAdd;
--   >     VkBool32                            shaderSharedFloat32Atomics;
--   >     VkBool32                            shaderSharedFloat32AtomicAdd;
--   >     VkBool32                            shaderSharedFloat64Atomics;
--   >     VkBool32                            shaderSharedFloat64AtomicAdd;
--   >     VkBool32                            shaderImageFloat32Atomics;
--   >     VkBool32                            shaderImageFloat32AtomicAdd;
--   >     VkBool32                            sparseImageFloat32Atomics;
--   >     VkBool32                            sparseImageFloat32AtomicAdd;
--   > } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT VkPhysicalDeviceShaderAtomicFloatFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceShaderAtomicFloatFeaturesEXT =
     VkStruct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderAtomicFloatFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
         where
    type StructRep VkPhysicalDeviceShaderAtomicFloatFeaturesEXT =
         'StructMeta "VkPhysicalDeviceShaderAtomicFloatFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
           (64)
{-# LINE 5531 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5532 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5534 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5539 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderBufferFloat32Atomics" VkBool32 'False 
                                                                      (16)
{-# LINE 5544 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderBufferFloat32AtomicAdd" VkBool32 'False
                (20)
{-# LINE 5549 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderBufferFloat64Atomics" VkBool32 'False 
                                                                      (24)
{-# LINE 5554 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderBufferFloat64AtomicAdd" VkBool32 'False
                (28)
{-# LINE 5559 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSharedFloat32Atomics" VkBool32 'False 
                                                                      (32)
{-# LINE 5564 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSharedFloat32AtomicAdd" VkBool32 'False
                (36)
{-# LINE 5569 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSharedFloat64Atomics" VkBool32 'False 
                                                                      (40)
{-# LINE 5574 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSharedFloat64AtomicAdd" VkBool32 'False
                (44)
{-# LINE 5579 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderImageFloat32Atomics" VkBool32 'False 
                                                                     (48)
{-# LINE 5584 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderImageFloat32AtomicAdd" VkBool32 'False 
                                                                       (52)
{-# LINE 5589 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sparseImageFloat32Atomics" VkBool32 'False 
                                                                     (56)
{-# LINE 5594 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sparseImageFloat32AtomicAdd" VkBool32 'False 
                                                                       (60)
{-# LINE 5599 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceShaderAtomicInt64Features {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     VkBool32                            shaderBufferInt64Atomics;
--   >     VkBool32                            shaderSharedInt64Atomics;
--   > } VkPhysicalDeviceShaderAtomicInt64Features;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShaderAtomicInt64Features VkPhysicalDeviceShaderAtomicInt64Features registry at www.khronos.org>
type VkPhysicalDeviceShaderAtomicInt64Features =
     VkStruct VkPhysicalDeviceShaderAtomicInt64Features' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderAtomicInt64Features' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceShaderAtomicInt64Features
         where
    type StructRep VkPhysicalDeviceShaderAtomicInt64Features =
         'StructMeta "VkPhysicalDeviceShaderAtomicInt64Features" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShaderAtomicInt64Features
           (24)
{-# LINE 5625 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5626 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5628 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5633 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderBufferInt64Atomics" VkBool32 'False 
                                                                    (16)
{-# LINE 5638 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSharedInt64Atomics" VkBool32 'False 
                                                                    (20)
{-# LINE 5643 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceShaderAtomicInt64Features`
type VkPhysicalDeviceShaderAtomicInt64FeaturesKHR =
     VkPhysicalDeviceShaderAtomicInt64Features

-- | > typedef struct VkPhysicalDeviceShaderClockFeaturesKHR {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     VkBool32                            shaderSubgroupClock;
--   >     VkBool32                            shaderDeviceClock;
--   > } VkPhysicalDeviceShaderClockFeaturesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShaderClockFeaturesKHR VkPhysicalDeviceShaderClockFeaturesKHR registry at www.khronos.org>
type VkPhysicalDeviceShaderClockFeaturesKHR =
     VkStruct VkPhysicalDeviceShaderClockFeaturesKHR' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderClockFeaturesKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceShaderClockFeaturesKHR where
    type StructRep VkPhysicalDeviceShaderClockFeaturesKHR =
         'StructMeta "VkPhysicalDeviceShaderClockFeaturesKHR" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShaderClockFeaturesKHR
           (24)
{-# LINE 5672 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5673 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5675 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5680 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSubgroupClock" VkBool32 'False 
                                                               (16)
{-# LINE 5685 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDeviceClock" VkBool32 'False 
                                                             (20)
{-# LINE 5690 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceShaderCoreProperties2AMD {
--   >     VkStructureType sType;
--   >     void*    pNext;
--   >     VkShaderCorePropertiesFlagsAMD shaderCoreFeatures;
--   >     uint32_t activeComputeUnitCount;
--   > } VkPhysicalDeviceShaderCoreProperties2AMD;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShaderCoreProperties2AMD VkPhysicalDeviceShaderCoreProperties2AMD registry at www.khronos.org>
type VkPhysicalDeviceShaderCoreProperties2AMD =
     VkStruct VkPhysicalDeviceShaderCoreProperties2AMD' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderCoreProperties2AMD' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceShaderCoreProperties2AMD
         where
    type StructRep VkPhysicalDeviceShaderCoreProperties2AMD =
         'StructMeta "VkPhysicalDeviceShaderCoreProperties2AMD" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShaderCoreProperties2AMD
           (24)
{-# LINE 5716 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5717 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5719 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5724 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderCoreFeatures" VkShaderCorePropertiesFlagsAMD -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 5730 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "activeComputeUnitCount" Word32 'False 
                                                                (20)
{-# LINE 5735 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceShaderCorePropertiesAMD {
--   >     VkStructureType sType;
--   >     void*    pNext;
--   >     uint32_t shaderEngineCount;
--   >     uint32_t shaderArraysPerEngineCount;
--   >     uint32_t computeUnitsPerShaderArray;
--   >     uint32_t simdPerComputeUnit;
--   >     uint32_t wavefrontsPerSimd;
--   >     uint32_t wavefrontSize;
--   >     uint32_t sgprsPerSimd;
--   >     uint32_t minSgprAllocation;
--   >     uint32_t maxSgprAllocation;
--   >     uint32_t sgprAllocationGranularity;
--   >     uint32_t vgprsPerSimd;
--   >     uint32_t minVgprAllocation;
--   >     uint32_t maxVgprAllocation;
--   >     uint32_t vgprAllocationGranularity;
--   > } VkPhysicalDeviceShaderCorePropertiesAMD;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShaderCorePropertiesAMD VkPhysicalDeviceShaderCorePropertiesAMD registry at www.khronos.org>
type VkPhysicalDeviceShaderCorePropertiesAMD =
     VkStruct VkPhysicalDeviceShaderCorePropertiesAMD' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderCorePropertiesAMD' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceShaderCorePropertiesAMD
         where
    type StructRep VkPhysicalDeviceShaderCorePropertiesAMD =
         'StructMeta "VkPhysicalDeviceShaderCorePropertiesAMD" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShaderCorePropertiesAMD
           (72)
{-# LINE 5773 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5774 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5776 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5781 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderEngineCount" Word32 'False 
                                                           (16)
{-# LINE 5786 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderArraysPerEngineCount" Word32 'False 
                                                                    (20)
{-# LINE 5791 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "computeUnitsPerShaderArray" Word32 'False 
                                                                    (24)
{-# LINE 5796 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "simdPerComputeUnit" Word32 'False 
                                                            (28)
{-# LINE 5801 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "wavefrontsPerSimd" Word32 'False 
                                                           (32)
{-# LINE 5806 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "wavefrontSize" Word32 'False 
                                                       (36)
{-# LINE 5811 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sgprsPerSimd" Word32 'False 
                                                      (40)
{-# LINE 5816 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minSgprAllocation" Word32 'False 
                                                           (44)
{-# LINE 5821 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxSgprAllocation" Word32 'False 
                                                           (48)
{-# LINE 5826 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sgprAllocationGranularity" Word32 'False 
                                                                   (52)
{-# LINE 5831 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vgprsPerSimd" Word32 'False 
                                                      (56)
{-# LINE 5836 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minVgprAllocation" Word32 'False 
                                                           (60)
{-# LINE 5841 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxVgprAllocation" Word32 'False 
                                                           (64)
{-# LINE 5846 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vgprAllocationGranularity" Word32 'False 
                                                                   (68)
{-# LINE 5851 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           shaderDemoteToHelperInvocation;
--   > } VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT =
     VkStruct VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
         where
    type StructRep
           VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
         =
         'StructMeta -- ' closing tick for hsc2hs
           "VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT"
           VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
           (24)
{-# LINE 5880 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5881 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5883 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5888 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDemoteToHelperInvocation" VkBool32 'False
                (16)
{-# LINE 5893 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceShaderDrawParametersFeatures`
type VkPhysicalDeviceShaderDrawParameterFeatures =
     VkPhysicalDeviceShaderDrawParametersFeatures

-- | > typedef struct VkPhysicalDeviceShaderDrawParametersFeatures {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         shaderDrawParameters;
--   > } VkPhysicalDeviceShaderDrawParametersFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShaderDrawParametersFeatures VkPhysicalDeviceShaderDrawParametersFeatures registry at www.khronos.org>
type VkPhysicalDeviceShaderDrawParametersFeatures =
     VkStruct VkPhysicalDeviceShaderDrawParametersFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderDrawParametersFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceShaderDrawParametersFeatures
         where
    type StructRep VkPhysicalDeviceShaderDrawParametersFeatures =
         'StructMeta "VkPhysicalDeviceShaderDrawParametersFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShaderDrawParametersFeatures
           (24)
{-# LINE 5922 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5923 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5925 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5930 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDrawParameters" VkBool32 'False 
                                                                (16)
{-# LINE 5935 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceShaderFloat16Int8Features {
--   >     VkStructureType sType;
--   >     void*      pNext;
--   >     VkBool32                         shaderFloat16;
--   >     VkBool32                         shaderInt8;
--   > } VkPhysicalDeviceShaderFloat16Int8Features;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShaderFloat16Int8Features VkPhysicalDeviceShaderFloat16Int8Features registry at www.khronos.org>
type VkPhysicalDeviceShaderFloat16Int8Features =
     VkStruct VkPhysicalDeviceShaderFloat16Int8Features' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderFloat16Int8Features' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceShaderFloat16Int8Features
         where
    type StructRep VkPhysicalDeviceShaderFloat16Int8Features =
         'StructMeta "VkPhysicalDeviceShaderFloat16Int8Features" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShaderFloat16Int8Features
           (24)
{-# LINE 5961 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 5962 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 5964 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 5969 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderFloat16" VkBool32 'False 
                                                         (16)
{-# LINE 5974 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderInt8" VkBool32 'False 
                                                      (20)
{-# LINE 5979 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceShaderFloat16Int8Features`
type VkPhysicalDeviceShaderFloat16Int8FeaturesKHR =
     VkPhysicalDeviceShaderFloat16Int8Features

-- | > typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV {
--   >     VkStructureType sType;
--   >     void*                              pNext;
--   >     VkBool32                           imageFootprint;
--   > } VkPhysicalDeviceShaderImageFootprintFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShaderImageFootprintFeaturesNV VkPhysicalDeviceShaderImageFootprintFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceShaderImageFootprintFeaturesNV =
     VkStruct VkPhysicalDeviceShaderImageFootprintFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderImageFootprintFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceShaderImageFootprintFeaturesNV
         where
    type StructRep VkPhysicalDeviceShaderImageFootprintFeaturesNV =
         'StructMeta "VkPhysicalDeviceShaderImageFootprintFeaturesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShaderImageFootprintFeaturesNV
           (24)
{-# LINE 6009 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6010 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6012 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6017 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "imageFootprint" VkBool32 'False 
                                                          (16)
{-# LINE 6022 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         shaderIntegerFunctions2;
--   > } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL registry at www.khronos.org>
type VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL =
     VkStruct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
         where
    type StructRep VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
         =
         'StructMeta "VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
           (24)
{-# LINE 6049 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6050 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6052 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6057 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderIntegerFunctions2" VkBool32 'False 
                                                                   (16)
{-# LINE 6062 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV {
--   >     VkStructureTypesType;
--   >     void*    pNext;
--   >     VkBool32                       shaderSMBuiltins;
--   > } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV VkPhysicalDeviceShaderSMBuiltinsFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceShaderSMBuiltinsFeaturesNV =
     VkStruct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderSMBuiltinsFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
         where
    type StructRep VkPhysicalDeviceShaderSMBuiltinsFeaturesNV =
         'StructMeta "VkPhysicalDeviceShaderSMBuiltinsFeaturesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
           (24)
{-# LINE 6087 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6088 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6090 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6095 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSMBuiltins" VkBool32 'False 
                                                            (16)
{-# LINE 6100 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV {
--   >     VkStructureType sType;
--   >     void*                          pNext;
--   >     uint32_t                       shaderSMCount;
--   >     uint32_t                       shaderWarpsPerSM;
--   > } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShaderSMBuiltinsPropertiesNV VkPhysicalDeviceShaderSMBuiltinsPropertiesNV registry at www.khronos.org>
type VkPhysicalDeviceShaderSMBuiltinsPropertiesNV =
     VkStruct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderSMBuiltinsPropertiesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceShaderSMBuiltinsPropertiesNV
         where
    type StructRep VkPhysicalDeviceShaderSMBuiltinsPropertiesNV =
         'StructMeta "VkPhysicalDeviceShaderSMBuiltinsPropertiesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShaderSMBuiltinsPropertiesNV
           (24)
{-# LINE 6126 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6127 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6129 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6134 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSMCount" Word32 'False 
                                                       (16)
{-# LINE 6139 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderWarpsPerSM" Word32 'False 
                                                          (20)
{-# LINE 6144 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures {
--   >     VkStructureType sType;
--   >     void*                          pNext;
--   >     VkBool32 shaderSubgroupExtendedTypes;
--   > } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures registry at www.khronos.org>
type VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures =
     VkStruct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
         where
    type StructRep VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
         =
         'StructMeta "VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
           (24)
{-# LINE 6171 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6172 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6174 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6179 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSubgroupExtendedTypes" VkBool32 'False 
                                                                       (16)
{-# LINE 6184 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures`
type VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR =
     VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures

-- | > typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     VkBool32                            shadingRateImage;
--   >     VkBool32                            shadingRateCoarseSampleOrder;
--   > } VkPhysicalDeviceShadingRateImageFeaturesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShadingRateImageFeaturesNV VkPhysicalDeviceShadingRateImageFeaturesNV registry at www.khronos.org>
type VkPhysicalDeviceShadingRateImageFeaturesNV =
     VkStruct VkPhysicalDeviceShadingRateImageFeaturesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShadingRateImageFeaturesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceShadingRateImageFeaturesNV
         where
    type StructRep VkPhysicalDeviceShadingRateImageFeaturesNV =
         'StructMeta "VkPhysicalDeviceShadingRateImageFeaturesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShadingRateImageFeaturesNV
           (24)
{-# LINE 6214 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6215 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6217 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6222 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shadingRateImage" VkBool32 'False 
                                                            (16)
{-# LINE 6227 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shadingRateCoarseSampleOrder" VkBool32 'False
                (20)
{-# LINE 6232 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     VkExtent2D                          shadingRateTexelSize;
--   >     uint32_t                            shadingRatePaletteSize;
--   >     uint32_t                            shadingRateMaxCoarseSamples;
--   > } VkPhysicalDeviceShadingRateImagePropertiesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceShadingRateImagePropertiesNV VkPhysicalDeviceShadingRateImagePropertiesNV registry at www.khronos.org>
type VkPhysicalDeviceShadingRateImagePropertiesNV =
     VkStruct VkPhysicalDeviceShadingRateImagePropertiesNV' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShadingRateImagePropertiesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceShadingRateImagePropertiesNV
         where
    type StructRep VkPhysicalDeviceShadingRateImagePropertiesNV =
         'StructMeta "VkPhysicalDeviceShadingRateImagePropertiesNV" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShadingRateImagePropertiesNV
           (32)
{-# LINE 6259 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6260 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6262 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6267 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shadingRateTexelSize" VkExtent2D 'False 
                                                                  (16)
{-# LINE 6272 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shadingRatePaletteSize" Word32 'False 
                                                                (24)
{-# LINE 6277 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shadingRateMaxCoarseSamples" Word32 'False 
                                                                     (28)
{-# LINE 6282 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceSparseImageFormatInfo2 {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkFormat                         format;
--   >     VkImageType                      type;
--   >     VkSampleCountFlagBits            samples;
--   >     VkImageUsageFlags                usage;
--   >     VkImageTiling                    tiling;
--   > } VkPhysicalDeviceSparseImageFormatInfo2;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSparseImageFormatInfo2 VkPhysicalDeviceSparseImageFormatInfo2 registry at www.khronos.org>
type VkPhysicalDeviceSparseImageFormatInfo2 =
     VkStruct VkPhysicalDeviceSparseImageFormatInfo2' -- ' closing tick for hsc2hs

data VkPhysicalDeviceSparseImageFormatInfo2' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceSparseImageFormatInfo2 where
    type StructRep VkPhysicalDeviceSparseImageFormatInfo2 =
         'StructMeta "VkPhysicalDeviceSparseImageFormatInfo2" -- ' closing tick for hsc2hs
           VkPhysicalDeviceSparseImageFormatInfo2
           (40)
{-# LINE 6310 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6311 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6313 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6318 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "format" VkFormat 'False 
                                                  (16)
{-# LINE 6323 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "type" VkImageType 'False 
                                                   (20)
{-# LINE 6328 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "samples" VkSampleCountFlagBits 'False 
                                                                (24)
{-# LINE 6333 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "usage" VkImageUsageFlags 'False 
                                                          (28)
{-# LINE 6338 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "tiling" VkImageTiling 'False 
                                                       (32)
{-# LINE 6343 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceSparseImageFormatInfo2`
type VkPhysicalDeviceSparseImageFormatInfo2KHR =
     VkPhysicalDeviceSparseImageFormatInfo2

-- | > typedef struct VkPhysicalDeviceSparseProperties {
--   >     VkBool32               residencyStandard2DBlockShape;
--   >     VkBool32               residencyStandard2DMultisampleBlockShape;
--   >     VkBool32               residencyStandard3DBlockShape;
--   >     VkBool32               residencyAlignedMipSize;
--   >     VkBool32               residencyNonResidentStrict;
--   > } VkPhysicalDeviceSparseProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSparseProperties VkPhysicalDeviceSparseProperties registry at www.khronos.org>
type VkPhysicalDeviceSparseProperties =
     VkStruct VkPhysicalDeviceSparseProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceSparseProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceSparseProperties where
    type StructRep VkPhysicalDeviceSparseProperties =
         'StructMeta "VkPhysicalDeviceSparseProperties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceSparseProperties
           (20)
{-# LINE 6373 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           4
{-# LINE 6374 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "residencyStandard2DBlockShape" VkBool32 'False -- ' closing tick for hsc2hs
                (0)
{-# LINE 6376 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "residencyStandard2DMultisampleBlockShape" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (4)
{-# LINE 6382 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "residencyStandard3DBlockShape" VkBool32 'False
                (8)
{-# LINE 6387 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "residencyAlignedMipSize" VkBool32 'False 
                                                                   (12)
{-# LINE 6392 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "residencyNonResidentStrict" VkBool32 'False 
                                                                      (16)
{-# LINE 6397 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceSubgroupProperties {
--   >     VkStructureType sType;
--   >     void*                   pNext;
--   >     uint32_t                      subgroupSize;
--   >     VkShaderStageFlags            supportedStages;
--   >     VkSubgroupFeatureFlags        supportedOperations;
--   >     VkBool32 quadOperationsInAllStages;
--   > } VkPhysicalDeviceSubgroupProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSubgroupProperties VkPhysicalDeviceSubgroupProperties registry at www.khronos.org>
type VkPhysicalDeviceSubgroupProperties =
     VkStruct VkPhysicalDeviceSubgroupProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceSubgroupProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceSubgroupProperties where
    type StructRep VkPhysicalDeviceSubgroupProperties =
         'StructMeta "VkPhysicalDeviceSubgroupProperties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceSubgroupProperties
           (32)
{-# LINE 6424 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6425 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6427 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6432 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subgroupSize" Word32 'False 
                                                      (16)
{-# LINE 6437 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "supportedStages" VkShaderStageFlags 'False 
                                                                     (20)
{-# LINE 6442 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "supportedOperations" VkSubgroupFeatureFlags 'False
                (24)
{-# LINE 6447 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "quadOperationsInAllStages" VkBool32 'False 
                                                                     (28)
{-# LINE 6452 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*                          pNext;
--   >     VkBool32 subgroupSizeControl;
--   >     VkBool32 computeFullSubgroups;
--   > } VkPhysicalDeviceSubgroupSizeControlFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSubgroupSizeControlFeaturesEXT VkPhysicalDeviceSubgroupSizeControlFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceSubgroupSizeControlFeaturesEXT =
     VkStruct VkPhysicalDeviceSubgroupSizeControlFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceSubgroupSizeControlFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
         where
    type StructRep VkPhysicalDeviceSubgroupSizeControlFeaturesEXT =
         'StructMeta "VkPhysicalDeviceSubgroupSizeControlFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
           (24)
{-# LINE 6479 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6480 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6482 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6487 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subgroupSizeControl" VkBool32 'False 
                                                               (16)
{-# LINE 6492 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "computeFullSubgroups" VkBool32 'False 
                                                                (20)
{-# LINE 6497 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                          pNext;
--   >     uint32_t minSubgroupSize;
--   >     uint32_t maxSubgroupSize;
--   >     uint32_t maxComputeWorkgroupSubgroups;
--   >     VkShaderStageFlags             requiredSubgroupSizeStages;
--   > } VkPhysicalDeviceSubgroupSizeControlPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSubgroupSizeControlPropertiesEXT VkPhysicalDeviceSubgroupSizeControlPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceSubgroupSizeControlPropertiesEXT =
     VkStruct VkPhysicalDeviceSubgroupSizeControlPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceSubgroupSizeControlPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceSubgroupSizeControlPropertiesEXT
         where
    type StructRep VkPhysicalDeviceSubgroupSizeControlPropertiesEXT =
         'StructMeta "VkPhysicalDeviceSubgroupSizeControlPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceSubgroupSizeControlPropertiesEXT
           (32)
{-# LINE 6526 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6527 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6529 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6534 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minSubgroupSize" Word32 'False 
                                                         (16)
{-# LINE 6539 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxSubgroupSize" Word32 'False 
                                                         (20)
{-# LINE 6544 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxComputeWorkgroupSubgroups" Word32 'False 
                                                                      (24)
{-# LINE 6549 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "requiredSubgroupSizeStages" VkShaderStageFlags 'False
                (28)
{-# LINE 6554 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceSurfaceInfo2KHR {
--   >     VkStructureType sType;
--   >     const void* pNext;
--   >     VkSurfaceKHR surface;
--   > } VkPhysicalDeviceSurfaceInfo2KHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSurfaceInfo2KHR VkPhysicalDeviceSurfaceInfo2KHR registry at www.khronos.org>
type VkPhysicalDeviceSurfaceInfo2KHR =
     VkStruct VkPhysicalDeviceSurfaceInfo2KHR' -- ' closing tick for hsc2hs

data VkPhysicalDeviceSurfaceInfo2KHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceSurfaceInfo2KHR where
    type StructRep VkPhysicalDeviceSurfaceInfo2KHR =
         'StructMeta "VkPhysicalDeviceSurfaceInfo2KHR" -- ' closing tick for hsc2hs
           VkPhysicalDeviceSurfaceInfo2KHR
           (24)
{-# LINE 6578 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6579 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6581 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6586 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "surface" VkSurfaceKHR 'False 
                                                       (16)
{-# LINE 6591 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           texelBufferAlignment;
--   > } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT =
     VkStruct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
         where
    type StructRep VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT =
         'StructMeta "VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
           (24)
{-# LINE 6617 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6618 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6620 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6625 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "texelBufferAlignment" VkBool32 'False 
                                                                (16)
{-# LINE 6630 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkDeviceSize                       storageTexelBufferOffsetAlignmentBytes;
--   >     VkBool32                           storageTexelBufferOffsetSingleTexelAlignment;
--   >     VkDeviceSize                       uniformTexelBufferOffsetAlignmentBytes;
--   >     VkBool32                           uniformTexelBufferOffsetSingleTexelAlignment;
--   > } VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT =
     VkStruct VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT
         where
    type StructRep VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT =
         'StructMeta "VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT
           (48)
{-# LINE 6659 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6660 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6662 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6667 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "storageTexelBufferOffsetAlignmentBytes" VkDeviceSize -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 6673 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "storageTexelBufferOffsetSingleTexelAlignment" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 6679 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "uniformTexelBufferOffsetAlignmentBytes" VkDeviceSize -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (32)
{-# LINE 6685 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "uniformTexelBufferOffsetSingleTexelAlignment" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (40)
{-# LINE 6691 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     VkBool32               textureCompressionASTC_HDR;
--   > } VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT =
     VkStruct VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
         where
    type StructRep VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
         =
         'StructMeta "VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
           (24)
{-# LINE 6718 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6719 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6721 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6726 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "textureCompressionASTC_HDR" VkBool32 'False 
                                                                      (16)
{-# LINE 6731 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     VkBool32               timelineSemaphore;
--   > } VkPhysicalDeviceTimelineSemaphoreFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceTimelineSemaphoreFeatures VkPhysicalDeviceTimelineSemaphoreFeatures registry at www.khronos.org>
type VkPhysicalDeviceTimelineSemaphoreFeatures =
     VkStruct VkPhysicalDeviceTimelineSemaphoreFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceTimelineSemaphoreFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceTimelineSemaphoreFeatures
         where
    type StructRep VkPhysicalDeviceTimelineSemaphoreFeatures =
         'StructMeta "VkPhysicalDeviceTimelineSemaphoreFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceTimelineSemaphoreFeatures
           (24)
{-# LINE 6756 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6757 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6759 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6764 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "timelineSemaphore" VkBool32 'False 
                                                             (16)
{-# LINE 6769 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceTimelineSemaphoreFeatures`
type VkPhysicalDeviceTimelineSemaphoreFeaturesKHR =
     VkPhysicalDeviceTimelineSemaphoreFeatures

-- | > typedef struct VkPhysicalDeviceTimelineSemaphoreProperties {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     uint64_t               maxTimelineSemaphoreValueDifference;
--   > } VkPhysicalDeviceTimelineSemaphoreProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceTimelineSemaphoreProperties VkPhysicalDeviceTimelineSemaphoreProperties registry at www.khronos.org>
type VkPhysicalDeviceTimelineSemaphoreProperties =
     VkStruct VkPhysicalDeviceTimelineSemaphoreProperties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceTimelineSemaphoreProperties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceTimelineSemaphoreProperties
         where
    type StructRep VkPhysicalDeviceTimelineSemaphoreProperties =
         'StructMeta "VkPhysicalDeviceTimelineSemaphoreProperties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceTimelineSemaphoreProperties
           (24)
{-# LINE 6798 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6799 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6801 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6806 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTimelineSemaphoreValueDifference" Word64 'False
                (16)
{-# LINE 6811 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceTimelineSemaphoreProperties`
type VkPhysicalDeviceTimelineSemaphorePropertiesKHR =
     VkPhysicalDeviceTimelineSemaphoreProperties

-- | > typedef struct VkPhysicalDeviceToolPropertiesEXT {
--   >     VkStructureType sType;
--   >     void* pNext;
--   >     char            name[VK_MAX_EXTENSION_NAME_SIZE];
--   >     char            version[VK_MAX_EXTENSION_NAME_SIZE];
--   >     VkToolPurposeFlagsEXT purposes;
--   >     char            description[VK_MAX_DESCRIPTION_SIZE];
--   >     char            layer[VK_MAX_EXTENSION_NAME_SIZE];
--   > } VkPhysicalDeviceToolPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceToolPropertiesEXT VkPhysicalDeviceToolPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceToolPropertiesEXT =
     VkStruct VkPhysicalDeviceToolPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceToolPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceToolPropertiesEXT where
    type StructRep VkPhysicalDeviceToolPropertiesEXT =
         'StructMeta "VkPhysicalDeviceToolPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceToolPropertiesEXT
           (1048)
{-# LINE 6843 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6844 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6846 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6851 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "name" CChar 'False 
                                             (16)
{-# LINE 6856 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_EXTENSION_NAME_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "version" CChar 'False 
                                                (272)
{-# LINE 6861 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_EXTENSION_NAME_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "purposes" VkToolPurposeFlagsEXT 'False 
                                                                 (528)
{-# LINE 6866 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "description" CChar 'False 
                                                    (532)
{-# LINE 6871 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_DESCRIPTION_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "layer" CChar 'False 
                                              (788)
{-# LINE 6876 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_EXTENSION_NAME_SIZE
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     VkBool32               transformFeedback;
--   >     VkBool32               geometryStreams;
--   > } VkPhysicalDeviceTransformFeedbackFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceTransformFeedbackFeaturesEXT VkPhysicalDeviceTransformFeedbackFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceTransformFeedbackFeaturesEXT =
     VkStruct VkPhysicalDeviceTransformFeedbackFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceTransformFeedbackFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceTransformFeedbackFeaturesEXT
         where
    type StructRep VkPhysicalDeviceTransformFeedbackFeaturesEXT =
         'StructMeta "VkPhysicalDeviceTransformFeedbackFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceTransformFeedbackFeaturesEXT
           (24)
{-# LINE 6902 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6903 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6905 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6910 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "transformFeedback" VkBool32 'False 
                                                             (16)
{-# LINE 6915 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "geometryStreams" VkBool32 'False 
                                                           (20)
{-# LINE 6920 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     uint32_t               maxTransformFeedbackStreams;
--   >     uint32_t               maxTransformFeedbackBuffers;
--   >     VkDeviceSize           maxTransformFeedbackBufferSize;
--   >     uint32_t               maxTransformFeedbackStreamDataSize;
--   >     uint32_t               maxTransformFeedbackBufferDataSize;
--   >     uint32_t               maxTransformFeedbackBufferDataStride;
--   >     VkBool32               transformFeedbackQueries;
--   >     VkBool32               transformFeedbackStreamsLinesTriangles;
--   >     VkBool32               transformFeedbackRasterizationStreamSelect;
--   >     VkBool32               transformFeedbackDraw;
--   > } VkPhysicalDeviceTransformFeedbackPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceTransformFeedbackPropertiesEXT VkPhysicalDeviceTransformFeedbackPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceTransformFeedbackPropertiesEXT =
     VkStruct VkPhysicalDeviceTransformFeedbackPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceTransformFeedbackPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceTransformFeedbackPropertiesEXT
         where
    type StructRep VkPhysicalDeviceTransformFeedbackPropertiesEXT =
         'StructMeta "VkPhysicalDeviceTransformFeedbackPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceTransformFeedbackPropertiesEXT
           (64)
{-# LINE 6955 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 6956 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 6958 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 6963 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTransformFeedbackStreams" Word32 'False 
                                                                     (16)
{-# LINE 6968 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTransformFeedbackBuffers" Word32 'False 
                                                                     (20)
{-# LINE 6973 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTransformFeedbackBufferSize" VkDeviceSize 'False
                (24)
{-# LINE 6978 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTransformFeedbackStreamDataSize" Word32 'False
                (32)
{-# LINE 6983 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTransformFeedbackBufferDataSize" Word32 'False
                (36)
{-# LINE 6988 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTransformFeedbackBufferDataStride" Word32 'False
                (40)
{-# LINE 6993 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "transformFeedbackQueries" VkBool32 'False 
                                                                    (44)
{-# LINE 6998 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "transformFeedbackStreamsLinesTriangles" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (48)
{-# LINE 7004 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "transformFeedbackRasterizationStreamSelect" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (52)
{-# LINE 7010 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "transformFeedbackDraw" VkBool32 'False 
                                                                 (56)
{-# LINE 7015 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     VkBool32                            uniformBufferStandardLayout;
--   > } VkPhysicalDeviceUniformBufferStandardLayoutFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceUniformBufferStandardLayoutFeatures VkPhysicalDeviceUniformBufferStandardLayoutFeatures registry at www.khronos.org>
type VkPhysicalDeviceUniformBufferStandardLayoutFeatures =
     VkStruct VkPhysicalDeviceUniformBufferStandardLayoutFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceUniformBufferStandardLayoutFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceUniformBufferStandardLayoutFeatures
         where
    type StructRep VkPhysicalDeviceUniformBufferStandardLayoutFeatures
         =
         'StructMeta "VkPhysicalDeviceUniformBufferStandardLayoutFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceUniformBufferStandardLayoutFeatures
           (24)
{-# LINE 7042 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 7043 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 7045 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 7050 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "uniformBufferStandardLayout" VkBool32 'False 
                                                                       (16)
{-# LINE 7055 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceUniformBufferStandardLayoutFeatures`
type VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR =
     VkPhysicalDeviceUniformBufferStandardLayoutFeatures

-- | Alias for `VkPhysicalDeviceVariablePointersFeatures`
type VkPhysicalDeviceVariablePointerFeatures =
     VkPhysicalDeviceVariablePointersFeatures

-- | Alias for `VkPhysicalDeviceVariablePointersFeatures`
type VkPhysicalDeviceVariablePointerFeaturesKHR =
     VkPhysicalDeviceVariablePointersFeatures

-- | > typedef struct VkPhysicalDeviceVariablePointersFeatures {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         variablePointersStorageBuffer;
--   >     VkBool32                         variablePointers;
--   > } VkPhysicalDeviceVariablePointersFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVariablePointersFeatures VkPhysicalDeviceVariablePointersFeatures registry at www.khronos.org>
type VkPhysicalDeviceVariablePointersFeatures =
     VkStruct VkPhysicalDeviceVariablePointersFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceVariablePointersFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceVariablePointersFeatures
         where
    type StructRep VkPhysicalDeviceVariablePointersFeatures =
         'StructMeta "VkPhysicalDeviceVariablePointersFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceVariablePointersFeatures
           (24)
{-# LINE 7093 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 7094 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 7096 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 7101 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "variablePointersStorageBuffer" VkBool32 'False
                (16)
{-# LINE 7106 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "variablePointers" VkBool32 'False 
                                                            (20)
{-# LINE 7111 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceVariablePointersFeatures`
type VkPhysicalDeviceVariablePointersFeaturesKHR =
     VkPhysicalDeviceVariablePointersFeatures

-- | > typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           vertexAttributeInstanceRateDivisor;
--   >     VkBool32                           vertexAttributeInstanceRateZeroDivisor;
--   > } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT =
     VkStruct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
         where
    type StructRep VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT =
         'StructMeta "VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
           (24)
{-# LINE 7142 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 7143 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 7145 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 7150 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vertexAttributeInstanceRateDivisor" VkBool32 'False
                (16)
{-# LINE 7155 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vertexAttributeInstanceRateZeroDivisor" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (20)
{-# LINE 7161 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     uint32_t               maxVertexAttribDivisor;
--   > } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT =
     VkStruct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
         where
    type StructRep VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
         =
         'StructMeta "VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
           (24)
{-# LINE 7188 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 7189 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 7191 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 7196 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxVertexAttribDivisor" Word32 'False 
                                                                (16)
{-# LINE 7201 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceVulkan11Features {
--   >     VkStructureTypesType;
--   >     void*    pNext;
--   >     VkBool32                         storageBuffer16BitAccess;
--   >     VkBool32                         uniformAndStorageBuffer16BitAccess;
--   >     VkBool32                         storagePushConstant16;
--   >     VkBool32                         storageInputOutput16;
--   >     VkBool32                         multiview;
--   >     VkBool32                         multiviewGeometryShader;
--   >     VkBool32                         multiviewTessellationShader;
--   >     VkBool32                         variablePointersStorageBuffer;
--   >     VkBool32                         variablePointers;
--   >     VkBool32                         protectedMemory;
--   >     VkBool32                         samplerYcbcrConversion;
--   >     VkBool32                         shaderDrawParameters;
--   > } VkPhysicalDeviceVulkan11Features;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVulkan11Features VkPhysicalDeviceVulkan11Features registry at www.khronos.org>
type VkPhysicalDeviceVulkan11Features =
     VkStruct VkPhysicalDeviceVulkan11Features' -- ' closing tick for hsc2hs

data VkPhysicalDeviceVulkan11Features' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceVulkan11Features where
    type StructRep VkPhysicalDeviceVulkan11Features =
         'StructMeta "VkPhysicalDeviceVulkan11Features" -- ' closing tick for hsc2hs
           VkPhysicalDeviceVulkan11Features
           (64)
{-# LINE 7236 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 7237 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 7239 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 7244 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "storageBuffer16BitAccess" VkBool32 'False 
                                                                    (16)
{-# LINE 7249 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "uniformAndStorageBuffer16BitAccess" VkBool32 'False
                (20)
{-# LINE 7254 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "storagePushConstant16" VkBool32 'False 
                                                                 (24)
{-# LINE 7259 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "storageInputOutput16" VkBool32 'False 
                                                                (28)
{-# LINE 7264 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "multiview" VkBool32 'False 
                                                     (32)
{-# LINE 7269 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "multiviewGeometryShader" VkBool32 'False 
                                                                   (36)
{-# LINE 7274 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "multiviewTessellationShader" VkBool32 'False 
                                                                       (40)
{-# LINE 7279 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "variablePointersStorageBuffer" VkBool32 'False
                (44)
{-# LINE 7284 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "variablePointers" VkBool32 'False 
                                                            (48)
{-# LINE 7289 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "protectedMemory" VkBool32 'False 
                                                           (52)
{-# LINE 7294 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "samplerYcbcrConversion" VkBool32 'False 
                                                                  (56)
{-# LINE 7299 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDrawParameters" VkBool32 'False 
                                                                (60)
{-# LINE 7304 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceVulkan11Properties {
--   >     VkStructureTypesType;
--   >     void*      pNext;
--   >     uint8_t                          deviceUUID[VK_UUID_SIZE];
--   >     uint8_t                          driverUUID[VK_UUID_SIZE];
--   >     uint8_t                          deviceLUID[VK_LUID_SIZE];
--   >     uint32_t                         deviceNodeMask;
--   >     VkBool32                         deviceLUIDValid;
--   >     uint32_t                      subgroupSize;
--   >     VkShaderStageFlags            subgroupSupportedStages;
--   >     VkSubgroupFeatureFlags        subgroupSupportedOperations;
--   >     VkBool32                      subgroupQuadOperationsInAllStages;
--   >     VkPointClippingBehavior          pointClippingBehavior;
--   >     uint32_t                         maxMultiviewViewCount;
--   >     uint32_t                         maxMultiviewInstanceIndex;
--   >     VkBool32                         protectedNoFault;
--   >     uint32_t                         maxPerSetDescriptors;
--   >     VkDeviceSize                     maxMemoryAllocationSize;
--   > } VkPhysicalDeviceVulkan11Properties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVulkan11Properties VkPhysicalDeviceVulkan11Properties registry at www.khronos.org>
type VkPhysicalDeviceVulkan11Properties =
     VkStruct VkPhysicalDeviceVulkan11Properties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceVulkan11Properties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceVulkan11Properties where
    type StructRep VkPhysicalDeviceVulkan11Properties =
         'StructMeta "VkPhysicalDeviceVulkan11Properties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceVulkan11Properties
           (112)
{-# LINE 7342 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 7343 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 7345 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 7350 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceUUID" Word8 'False 
                                                   (16)
{-# LINE 7355 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_UUID_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "driverUUID" Word8 'False 
                                                   (32)
{-# LINE 7360 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_UUID_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceLUID" Word8 'False 
                                                   (48)
{-# LINE 7365 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_LUID_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceNodeMask" Word32 'False 
                                                        (56)
{-# LINE 7370 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceLUIDValid" VkBool32 'False 
                                                           (60)
{-# LINE 7375 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subgroupSize" Word32 'False 
                                                      (64)
{-# LINE 7380 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subgroupSupportedStages" VkShaderStageFlags 'False
                (68)
{-# LINE 7385 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subgroupSupportedOperations" VkSubgroupFeatureFlags -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (72)
{-# LINE 7391 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subgroupQuadOperationsInAllStages" VkBool32 'False
                (76)
{-# LINE 7396 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pointClippingBehavior" VkPointClippingBehavior 'False
                (80)
{-# LINE 7401 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxMultiviewViewCount" Word32 'False 
                                                               (84)
{-# LINE 7406 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxMultiviewInstanceIndex" Word32 'False 
                                                                   (88)
{-# LINE 7411 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "protectedNoFault" VkBool32 'False 
                                                            (92)
{-# LINE 7416 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerSetDescriptors" Word32 'False 
                                                              (96)
{-# LINE 7421 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxMemoryAllocationSize" VkDeviceSize 'False 
                                                                       (104)
{-# LINE 7426 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceVulkan12Features {
--   >     VkStructureTypesType;
--   >     void*    pNext;
--   >     VkBool32                         samplerMirrorClampToEdge;
--   >     VkBool32                         drawIndirectCount;
--   >     VkBool32                         storageBuffer8BitAccess;
--   >     VkBool32                         uniformAndStorageBuffer8BitAccess;
--   >     VkBool32                         storagePushConstant8;
--   >     VkBool32                         shaderBufferInt64Atomics;
--   >     VkBool32                         shaderSharedInt64Atomics;
--   >     VkBool32                         shaderFloat16;
--   >     VkBool32                         shaderInt8;
--   >     VkBool32                         descriptorIndexing;
--   >     VkBool32                         shaderInputAttachmentArrayDynamicIndexing;
--   >     VkBool32                         shaderUniformTexelBufferArrayDynamicIndexing;
--   >     VkBool32                         shaderStorageTexelBufferArrayDynamicIndexing;
--   >     VkBool32                         shaderUniformBufferArrayNonUniformIndexing;
--   >     VkBool32                         shaderSampledImageArrayNonUniformIndexing;
--   >     VkBool32                         shaderStorageBufferArrayNonUniformIndexing;
--   >     VkBool32                         shaderStorageImageArrayNonUniformIndexing;
--   >     VkBool32                         shaderInputAttachmentArrayNonUniformIndexing;
--   >     VkBool32                         shaderUniformTexelBufferArrayNonUniformIndexing;
--   >     VkBool32                         shaderStorageTexelBufferArrayNonUniformIndexing;
--   >     VkBool32                         descriptorBindingUniformBufferUpdateAfterBind;
--   >     VkBool32                         descriptorBindingSampledImageUpdateAfterBind;
--   >     VkBool32                         descriptorBindingStorageImageUpdateAfterBind;
--   >     VkBool32                         descriptorBindingStorageBufferUpdateAfterBind;
--   >     VkBool32                         descriptorBindingUniformTexelBufferUpdateAfterBind;
--   >     VkBool32                         descriptorBindingStorageTexelBufferUpdateAfterBind;
--   >     VkBool32                         descriptorBindingUpdateUnusedWhilePending;
--   >     VkBool32                         descriptorBindingPartiallyBound;
--   >     VkBool32                         descriptorBindingVariableDescriptorCount;
--   >     VkBool32                         runtimeDescriptorArray;
--   >     VkBool32                         samplerFilterMinmax;
--   >     VkBool32                         scalarBlockLayout;
--   >     VkBool32                         imagelessFramebuffer;
--   >     VkBool32                         uniformBufferStandardLayout;
--   >     VkBool32                         shaderSubgroupExtendedTypes;
--   >     VkBool32                         separateDepthStencilLayouts;
--   >     VkBool32                         hostQueryReset;
--   >     VkBool32                         timelineSemaphore;
--   >     VkBool32                         bufferDeviceAddress;
--   >     VkBool32                         bufferDeviceAddressCaptureReplay;
--   >     VkBool32                         bufferDeviceAddressMultiDevice;
--   >     VkBool32                         vulkanMemoryModel;
--   >     VkBool32                         vulkanMemoryModelDeviceScope;
--   >     VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--   >     VkBool32                         shaderOutputViewportIndex;
--   >     VkBool32                         shaderOutputLayer;
--   >     VkBool32                         subgroupBroadcastDynamicId;
--   > } VkPhysicalDeviceVulkan12Features;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVulkan12Features VkPhysicalDeviceVulkan12Features registry at www.khronos.org>
type VkPhysicalDeviceVulkan12Features =
     VkStruct VkPhysicalDeviceVulkan12Features' -- ' closing tick for hsc2hs

data VkPhysicalDeviceVulkan12Features' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceVulkan12Features where
    type StructRep VkPhysicalDeviceVulkan12Features =
         'StructMeta "VkPhysicalDeviceVulkan12Features" -- ' closing tick for hsc2hs
           VkPhysicalDeviceVulkan12Features
           (208)
{-# LINE 7496 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 7497 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 7499 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 7504 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "samplerMirrorClampToEdge" VkBool32 'False 
                                                                    (16)
{-# LINE 7509 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "drawIndirectCount" VkBool32 'False 
                                                             (20)
{-# LINE 7514 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "storageBuffer8BitAccess" VkBool32 'False 
                                                                   (24)
{-# LINE 7519 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "uniformAndStorageBuffer8BitAccess" VkBool32 'False
                (28)
{-# LINE 7524 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "storagePushConstant8" VkBool32 'False 
                                                                (32)
{-# LINE 7529 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderBufferInt64Atomics" VkBool32 'False 
                                                                    (36)
{-# LINE 7534 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSharedInt64Atomics" VkBool32 'False 
                                                                    (40)
{-# LINE 7539 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderFloat16" VkBool32 'False 
                                                         (44)
{-# LINE 7544 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderInt8" VkBool32 'False 
                                                      (48)
{-# LINE 7549 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorIndexing" VkBool32 'False 
                                                              (52)
{-# LINE 7554 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderInputAttachmentArrayDynamicIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (56)
{-# LINE 7560 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderUniformTexelBufferArrayDynamicIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (60)
{-# LINE 7566 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderStorageTexelBufferArrayDynamicIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (64)
{-# LINE 7572 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderUniformBufferArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (68)
{-# LINE 7578 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSampledImageArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (72)
{-# LINE 7584 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderStorageBufferArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (76)
{-# LINE 7590 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderStorageImageArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (80)
{-# LINE 7596 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderInputAttachmentArrayNonUniformIndexing" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (84)
{-# LINE 7602 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderUniformTexelBufferArrayNonUniformIndexing" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (88)
{-# LINE 7609 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderStorageTexelBufferArrayNonUniformIndexing" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (92)
{-# LINE 7616 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingUniformBufferUpdateAfterBind" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (96)
{-# LINE 7623 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingSampledImageUpdateAfterBind" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (100)
{-# LINE 7629 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingStorageImageUpdateAfterBind" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (104)
{-# LINE 7635 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingStorageBufferUpdateAfterBind" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (108)
{-# LINE 7642 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingUniformTexelBufferUpdateAfterBind" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (112)
{-# LINE 7649 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingStorageTexelBufferUpdateAfterBind" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (116)
{-# LINE 7656 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingUpdateUnusedWhilePending" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (120)
{-# LINE 7662 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingPartiallyBound" VkBool32 'False
                (124)
{-# LINE 7667 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "descriptorBindingVariableDescriptorCount" VkBool32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (128)
{-# LINE 7673 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "runtimeDescriptorArray" VkBool32 'False 
                                                                  (132)
{-# LINE 7678 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "samplerFilterMinmax" VkBool32 'False 
                                                               (136)
{-# LINE 7683 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "scalarBlockLayout" VkBool32 'False 
                                                             (140)
{-# LINE 7688 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "imagelessFramebuffer" VkBool32 'False 
                                                                (144)
{-# LINE 7693 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "uniformBufferStandardLayout" VkBool32 'False 
                                                                       (148)
{-# LINE 7698 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSubgroupExtendedTypes" VkBool32 'False 
                                                                       (152)
{-# LINE 7703 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "separateDepthStencilLayouts" VkBool32 'False 
                                                                       (156)
{-# LINE 7708 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "hostQueryReset" VkBool32 'False 
                                                          (160)
{-# LINE 7713 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "timelineSemaphore" VkBool32 'False 
                                                             (164)
{-# LINE 7718 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "bufferDeviceAddress" VkBool32 'False 
                                                               (168)
{-# LINE 7723 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "bufferDeviceAddressCaptureReplay" VkBool32 'False
                (172)
{-# LINE 7728 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "bufferDeviceAddressMultiDevice" VkBool32 'False
                (176)
{-# LINE 7733 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vulkanMemoryModel" VkBool32 'False 
                                                             (180)
{-# LINE 7738 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vulkanMemoryModelDeviceScope" VkBool32 'False
                (184)
{-# LINE 7743 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vulkanMemoryModelAvailabilityVisibilityChains" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (188)
{-# LINE 7750 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderOutputViewportIndex" VkBool32 'False 
                                                                     (192)
{-# LINE 7755 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderOutputLayer" VkBool32 'False 
                                                             (196)
{-# LINE 7760 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "subgroupBroadcastDynamicId" VkBool32 'False 
                                                                      (200)
{-# LINE 7765 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceVulkan12Properties {
--   >     VkStructureTypesType;
--   >     void*    pNext;
--   >     VkDriverId                       driverID;
--   >     char                             driverName[VK_MAX_DRIVER_NAME_SIZE];
--   >     char                             driverInfo[VK_MAX_DRIVER_INFO_SIZE];
--   >     VkConformanceVersion             conformanceVersion;
--   >     VkShaderFloatControlsIndependencedenormBehaviorIndependence;
--   >     VkShaderFloatControlsIndependenceroundingModeIndependence;
--   >     VkBool32                         shaderSignedZeroInfNanPreserveFloat16;
--   >     VkBool32                         shaderSignedZeroInfNanPreserveFloat32;
--   >     VkBool32                         shaderSignedZeroInfNanPreserveFloat64;
--   >     VkBool32                         shaderDenormPreserveFloat16;
--   >     VkBool32                         shaderDenormPreserveFloat32;
--   >     VkBool32                         shaderDenormPreserveFloat64;
--   >     VkBool32                         shaderDenormFlushToZeroFloat16;
--   >     VkBool32                         shaderDenormFlushToZeroFloat32;
--   >     VkBool32                         shaderDenormFlushToZeroFloat64;
--   >     VkBool32                         shaderRoundingModeRTEFloat16;
--   >     VkBool32                         shaderRoundingModeRTEFloat32;
--   >     VkBool32                         shaderRoundingModeRTEFloat64;
--   >     VkBool32                         shaderRoundingModeRTZFloat16;
--   >     VkBool32                         shaderRoundingModeRTZFloat32;
--   >     VkBool32                         shaderRoundingModeRTZFloat64;
--   >     uint32_t                         maxUpdateAfterBindDescriptorsInAllPools;
--   >     VkBool32                         shaderUniformBufferArrayNonUniformIndexingNative;
--   >     VkBool32                         shaderSampledImageArrayNonUniformIndexingNative;
--   >     VkBool32                         shaderStorageBufferArrayNonUniformIndexingNative;
--   >     VkBool32                         shaderStorageImageArrayNonUniformIndexingNative;
--   >     VkBool32                         shaderInputAttachmentArrayNonUniformIndexingNative;
--   >     VkBool32                         robustBufferAccessUpdateAfterBind;
--   >     VkBool32                         quadDivergentImplicitLod;
--   >     uint32_t                         maxPerStageDescriptorUpdateAfterBindSamplers;
--   >     uint32_t                         maxPerStageDescriptorUpdateAfterBindUniformBuffers;
--   >     uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageBuffers;
--   >     uint32_t                         maxPerStageDescriptorUpdateAfterBindSampledImages;
--   >     uint32_t                         maxPerStageDescriptorUpdateAfterBindStorageImages;
--   >     uint32_t                         maxPerStageDescriptorUpdateAfterBindInputAttachments;
--   >     uint32_t                         maxPerStageUpdateAfterBindResources;
--   >     uint32_t                         maxDescriptorSetUpdateAfterBindSamplers;
--   >     uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffers;
--   >     uint32_t                         maxDescriptorSetUpdateAfterBindUniformBuffersDynamic;
--   >     uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffers;
--   >     uint32_t                         maxDescriptorSetUpdateAfterBindStorageBuffersDynamic;
--   >     uint32_t                         maxDescriptorSetUpdateAfterBindSampledImages;
--   >     uint32_t                         maxDescriptorSetUpdateAfterBindStorageImages;
--   >     uint32_t                         maxDescriptorSetUpdateAfterBindInputAttachments;
--   >     VkResolveModeFlags               supportedDepthResolveModes;
--   >     VkResolveModeFlags               supportedStencilResolveModes;
--   >     VkBool32                         independentResolveNone;
--   >     VkBool32                         independentResolve;
--   >     VkBool32                         filterMinmaxSingleComponentFormats;
--   >     VkBool32                         filterMinmaxImageComponentMapping;
--   >     uint64_t                         maxTimelineSemaphoreValueDifference;
--   >     VkSampleCountFlags framebufferIntegerColorSampleCounts;
--   > } VkPhysicalDeviceVulkan12Properties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVulkan12Properties VkPhysicalDeviceVulkan12Properties registry at www.khronos.org>
type VkPhysicalDeviceVulkan12Properties =
     VkStruct VkPhysicalDeviceVulkan12Properties' -- ' closing tick for hsc2hs

data VkPhysicalDeviceVulkan12Properties' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceVulkan12Properties where
    type StructRep VkPhysicalDeviceVulkan12Properties =
         'StructMeta "VkPhysicalDeviceVulkan12Properties" -- ' closing tick for hsc2hs
           VkPhysicalDeviceVulkan12Properties
           (736)
{-# LINE 7840 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 7841 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 7843 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 7848 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "driverID" VkDriverId 'False 
                                                      (16)
{-# LINE 7853 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "driverName" CChar 'False 
                                                   (20)
{-# LINE 7858 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_DRIVER_NAME_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "driverInfo" CChar 'False 
                                                   (276)
{-# LINE 7863 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                VK_MAX_DRIVER_INFO_SIZE
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "conformanceVersion" VkConformanceVersion 'False
                (532)
{-# LINE 7868 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "denormBehaviorIndependence" -- ' closing tick for hsc2hs
                VkShaderFloatControlsIndependence
                'False -- ' closing tick for hsc2hs
                (536)
{-# LINE 7875 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "roundingModeIndependence" -- ' closing tick for hsc2hs
                VkShaderFloatControlsIndependence
                'False -- ' closing tick for hsc2hs
                (540)
{-# LINE 7882 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSignedZeroInfNanPreserveFloat16" VkBool32 'False
                (544)
{-# LINE 7887 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSignedZeroInfNanPreserveFloat32" VkBool32 'False
                (548)
{-# LINE 7892 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSignedZeroInfNanPreserveFloat64" VkBool32 'False
                (552)
{-# LINE 7897 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDenormPreserveFloat16" VkBool32 'False 
                                                                       (556)
{-# LINE 7902 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDenormPreserveFloat32" VkBool32 'False 
                                                                       (560)
{-# LINE 7907 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDenormPreserveFloat64" VkBool32 'False 
                                                                       (564)
{-# LINE 7912 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDenormFlushToZeroFloat16" VkBool32 'False
                (568)
{-# LINE 7917 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDenormFlushToZeroFloat32" VkBool32 'False
                (572)
{-# LINE 7922 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderDenormFlushToZeroFloat64" VkBool32 'False
                (576)
{-# LINE 7927 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderRoundingModeRTEFloat16" VkBool32 'False
                (580)
{-# LINE 7932 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderRoundingModeRTEFloat32" VkBool32 'False
                (584)
{-# LINE 7937 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderRoundingModeRTEFloat64" VkBool32 'False
                (588)
{-# LINE 7942 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderRoundingModeRTZFloat16" VkBool32 'False
                (592)
{-# LINE 7947 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderRoundingModeRTZFloat32" VkBool32 'False
                (596)
{-# LINE 7952 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderRoundingModeRTZFloat64" VkBool32 'False
                (600)
{-# LINE 7957 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxUpdateAfterBindDescriptorsInAllPools" Word32 'False
                (604)
{-# LINE 7962 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderUniformBufferArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (608)
{-# LINE 7969 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderSampledImageArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (612)
{-# LINE 7976 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderStorageBufferArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (616)
{-# LINE 7983 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderStorageImageArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (620)
{-# LINE 7990 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "shaderInputAttachmentArrayNonUniformIndexingNative" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (624)
{-# LINE 7997 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "robustBufferAccessUpdateAfterBind" VkBool32 'False
                (628)
{-# LINE 8002 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "quadDivergentImplicitLod" VkBool32 'False 
                                                                    (632)
{-# LINE 8007 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindSamplers" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (636)
{-# LINE 8013 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindUniformBuffers" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (640)
{-# LINE 8020 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindStorageBuffers" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (644)
{-# LINE 8027 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindSampledImages" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (648)
{-# LINE 8034 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindStorageImages" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (652)
{-# LINE 8041 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageDescriptorUpdateAfterBindInputAttachments" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (656)
{-# LINE 8048 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxPerStageUpdateAfterBindResources" Word32 'False
                (660)
{-# LINE 8053 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindSamplers" Word32 'False
                (664)
{-# LINE 8058 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindUniformBuffers" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (668)
{-# LINE 8064 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindUniformBuffersDynamic" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (672)
{-# LINE 8071 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindStorageBuffers" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (676)
{-# LINE 8077 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindStorageBuffersDynamic" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (680)
{-# LINE 8084 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindSampledImages" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (684)
{-# LINE 8090 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindStorageImages" Word32 -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (688)
{-# LINE 8096 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDescriptorSetUpdateAfterBindInputAttachments" -- ' closing tick for hsc2hs
                Word32
                'False -- ' closing tick for hsc2hs
                (692)
{-# LINE 8103 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "supportedDepthResolveModes" VkResolveModeFlags 'False
                (696)
{-# LINE 8108 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "supportedStencilResolveModes" VkResolveModeFlags -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (700)
{-# LINE 8114 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "independentResolveNone" VkBool32 'False 
                                                                  (704)
{-# LINE 8119 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "independentResolve" VkBool32 'False 
                                                              (708)
{-# LINE 8124 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "filterMinmaxSingleComponentFormats" VkBool32 'False
                (712)
{-# LINE 8129 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "filterMinmaxImageComponentMapping" VkBool32 'False
                (716)
{-# LINE 8134 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxTimelineSemaphoreValueDifference" Word64 'False
                (720)
{-# LINE 8139 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "framebufferIntegerColorSampleCounts" -- ' closing tick for hsc2hs
                VkSampleCountFlags
                'True -- ' closing tick for hsc2hs
                (728)
{-# LINE 8146 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures {
--   >     VkStructureType sType;
--   >     void*      pNext;
--   >     VkBool32                         vulkanMemoryModel;
--   >     VkBool32                         vulkanMemoryModelDeviceScope;
--   >     VkBool32                         vulkanMemoryModelAvailabilityVisibilityChains;
--   > } VkPhysicalDeviceVulkanMemoryModelFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVulkanMemoryModelFeatures VkPhysicalDeviceVulkanMemoryModelFeatures registry at www.khronos.org>
type VkPhysicalDeviceVulkanMemoryModelFeatures =
     VkStruct VkPhysicalDeviceVulkanMemoryModelFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceVulkanMemoryModelFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceVulkanMemoryModelFeatures
         where
    type StructRep VkPhysicalDeviceVulkanMemoryModelFeatures =
         'StructMeta "VkPhysicalDeviceVulkanMemoryModelFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceVulkanMemoryModelFeatures
           (32)
{-# LINE 8173 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 8174 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 8176 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 8181 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vulkanMemoryModel" VkBool32 'False 
                                                             (16)
{-# LINE 8186 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vulkanMemoryModelDeviceScope" VkBool32 'False
                (20)
{-# LINE 8191 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "vulkanMemoryModelAvailabilityVisibilityChains" -- ' closing tick for hsc2hs
                VkBool32
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 8198 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs

-- | Alias for `VkPhysicalDeviceVulkanMemoryModelFeatures`
type VkPhysicalDeviceVulkanMemoryModelFeaturesKHR =
     VkPhysicalDeviceVulkanMemoryModelFeatures

-- | > typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*        pNext;
--   >     VkBool32                           ycbcrImageArrays;
--   > } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT VkPhysicalDeviceYcbcrImageArraysFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceYcbcrImageArraysFeaturesEXT =
     VkStruct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceYcbcrImageArraysFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
         where
    type StructRep VkPhysicalDeviceYcbcrImageArraysFeaturesEXT =
         'StructMeta "VkPhysicalDeviceYcbcrImageArraysFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
           (24)
{-# LINE 8227 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 8228 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 8230 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 8235 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "ycbcrImageArrays" VkBool32 'False 
                                                            (16)
{-# LINE 8240 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPhysicalDeviceFeatures2, VkDeviceCreateInfo] -- ' closing tick for hsc2hs