{-# 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,
        VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT,
        VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT,
        VkPhysicalDeviceConservativeRasterizationPropertiesEXT,
        VkPhysicalDeviceDescriptorIndexingFeaturesEXT,
        VkPhysicalDeviceDescriptorIndexingPropertiesEXT,
        VkPhysicalDeviceDiscardRectanglePropertiesEXT,
        VkPhysicalDeviceExternalBufferInfo,
        VkPhysicalDeviceExternalBufferInfoKHR,
        VkPhysicalDeviceExternalFenceInfo,
        VkPhysicalDeviceExternalFenceInfoKHR,
        VkPhysicalDeviceExternalImageFormatInfo,
        VkPhysicalDeviceExternalImageFormatInfoKHR,
        VkPhysicalDeviceExternalMemoryHostPropertiesEXT,
        VkPhysicalDeviceExternalSemaphoreInfo,
        VkPhysicalDeviceExternalSemaphoreInfoKHR,
        VkPhysicalDeviceFeatures2, VkPhysicalDeviceFeatures2KHR,
        VkPhysicalDeviceGroupProperties,
        VkPhysicalDeviceGroupPropertiesKHR, VkPhysicalDeviceIDProperties,
        VkPhysicalDeviceIDPropertiesKHR, VkPhysicalDeviceImageFormatInfo2,
        VkPhysicalDeviceImageFormatInfo2KHR, VkPhysicalDeviceLimits,
        VkPhysicalDeviceMaintenance3Properties,
        VkPhysicalDeviceMaintenance3PropertiesKHR,
        VkPhysicalDeviceMemoryProperties,
        VkPhysicalDeviceMemoryProperties2,
        VkPhysicalDeviceMemoryProperties2KHR,
        VkPhysicalDeviceMultiviewFeatures,
        VkPhysicalDeviceMultiviewFeaturesKHR,
        VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX,
        VkPhysicalDeviceMultiviewProperties,
        VkPhysicalDeviceMultiviewPropertiesKHR,
        VkPhysicalDevicePointClippingProperties,
        VkPhysicalDevicePointClippingPropertiesKHR,
        VkPhysicalDeviceProperties, VkPhysicalDeviceProperties2,
        VkPhysicalDeviceProperties2KHR,
        VkPhysicalDeviceProtectedMemoryFeatures,
        VkPhysicalDeviceProtectedMemoryProperties,
        VkPhysicalDevicePushDescriptorPropertiesKHR,
        VkPhysicalDeviceSampleLocationsPropertiesEXT,
        VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT,
        VkPhysicalDeviceSamplerYcbcrConversionFeatures,
        VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR,
        VkPhysicalDeviceShaderCorePropertiesAMD,
        VkPhysicalDeviceShaderDrawParameterFeatures,
        VkPhysicalDeviceSparseImageFormatInfo2,
        VkPhysicalDeviceSparseImageFormatInfo2KHR,
        VkPhysicalDeviceSparseProperties,
        VkPhysicalDeviceSubgroupProperties,
        VkPhysicalDeviceSurfaceInfo2KHR,
        VkPhysicalDeviceVariablePointerFeatures,
        VkPhysicalDeviceVariablePointerFeaturesKHR,
        VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT)
       where
import Graphics.Vulkan.Constants                           (VK_LUID_SIZE, VK_MAX_DEVICE_GROUP_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.External                 (VkExternalFenceHandleTypeFlagBits,
                                                            VkExternalMemoryHandleTypeFlagBits,
                                                            VkExternalSemaphoreHandleTypeFlagBits)
import Graphics.Vulkan.Types.Enum.Format                   (VkFormat)
import Graphics.Vulkan.Types.Enum.Image                    (VkImageCreateFlags,
                                                            VkImageTiling,
                                                            VkImageType,
                                                            VkImageUsageFlags)
import Graphics.Vulkan.Types.Enum.PhysicalDeviceType       (VkPhysicalDeviceType)
import Graphics.Vulkan.Types.Enum.PointClippingBehavior    (VkPointClippingBehavior)
import Graphics.Vulkan.Types.Enum.SampleCountFlags         (VkSampleCountFlagBits,
                                                            VkSampleCountFlags)
import Graphics.Vulkan.Types.Enum.Shader                   (VkShaderStageFlags)
import Graphics.Vulkan.Types.Enum.StructureType            (VkStructureType)
import Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags     (VkSubgroupFeatureFlags)
import Graphics.Vulkan.Types.Handles                       (VkPhysicalDevice,
                                                            VkSurfaceKHR)
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.1-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 117 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 118 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 120 "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 125 "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 130 "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 135 "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 140 "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 145 "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 VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         advancedBlendCoherentOperations;
--   > } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-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 175 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 176 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 178 "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 183 "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 188 "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] -- ' 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.1-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 220 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 221 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 223 "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 228 "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 233 "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 238 "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 243 "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 248 "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 253 "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 258 "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 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.1-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 295 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 296 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 298 "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 303 "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 308 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 310 "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 315 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (20)
{-# LINE 317 "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 322 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (24)
{-# LINE 324 "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 329 "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 334 "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 339 "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 344 "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 350 "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 356 "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
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
--   >     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;
--   > } VkPhysicalDeviceDescriptorIndexingFeaturesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceDescriptorIndexingFeaturesEXT VkPhysicalDeviceDescriptorIndexingFeaturesEXT registry at www.khronos.org>
type VkPhysicalDeviceDescriptorIndexingFeaturesEXT =
     VkStruct VkPhysicalDeviceDescriptorIndexingFeaturesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceDescriptorIndexingFeaturesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceDescriptorIndexingFeaturesEXT
         where
    type StructRep VkPhysicalDeviceDescriptorIndexingFeaturesEXT =
         'StructMeta "VkPhysicalDeviceDescriptorIndexingFeaturesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceDescriptorIndexingFeaturesEXT
           (96)
{-# LINE 401 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 402 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 404 "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 409 "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 415 "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 421 "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 427 "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 433 "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 439 "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 445 "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 451 "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 457 "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 464 "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 471 "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 478 "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 484 "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 490 "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 497 "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 504 "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 511 "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 517 "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 522 "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 528 "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 533 "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 VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
--   >     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;
--   > } VkPhysicalDeviceDescriptorIndexingPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceDescriptorIndexingPropertiesEXT VkPhysicalDeviceDescriptorIndexingPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceDescriptorIndexingPropertiesEXT =
     VkStruct VkPhysicalDeviceDescriptorIndexingPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceDescriptorIndexingPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceDescriptorIndexingPropertiesEXT
         where
    type StructRep VkPhysicalDeviceDescriptorIndexingPropertiesEXT =
         'StructMeta "VkPhysicalDeviceDescriptorIndexingPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceDescriptorIndexingPropertiesEXT
           (112)
{-# LINE 581 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 582 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 584 "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 589 "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 594 "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 601 "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 608 "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 615 "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 622 "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 629 "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 634 "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 639 "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 645 "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 652 "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 659 "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 666 "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 673 "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 680 "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 685 "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 690 "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 696 "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 703 "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 709 "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 716 "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 722 "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 728 "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 735 "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 VkPhysicalDeviceDiscardRectanglePropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     uint32_t               maxDiscardRectangles;
--   > } VkPhysicalDeviceDiscardRectanglePropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-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 761 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 762 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 764 "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 769 "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 774 "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
           '[VkPhysicalDeviceProperties2] -- ' 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.1-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 800 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 801 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 803 "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 808 "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 813 "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 818 "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 823 "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.1-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 851 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 852 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 854 "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 859 "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 864 "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.1-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 893 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 894 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 896 "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 901 "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 906 "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.1-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 936 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 937 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 939 "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 944 "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 949 "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
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDeviceExternalSemaphoreInfo {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkExternalSemaphoreHandleTypeFlagBits handleType;
--   > } VkPhysicalDeviceExternalSemaphoreInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-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 973 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 974 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 976 "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 981 "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 987 "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.1-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 1014 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1015 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1017 "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 1022 "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 1027 "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

-- | > 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.1-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 1056 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1057 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1059 "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 1064 "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 1069 "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 1074 "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 1079 "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 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.1-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 1111 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1112 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1114 "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 1119 "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 1124 "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 1129 "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 1134 "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 1139 "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 1144 "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 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.1-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 1175 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1176 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1178 "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 1183 "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 1188 "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 1193 "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 1198 "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 1203 "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 1208 "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 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.1-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 1337 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1338 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "maxImageDimension1D" Word32 'False  -- ' closing tick for hsc2hs
                                                             (0)
{-# LINE 1340 "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 1345 "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 1350 "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 1355 "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 1360 "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 1365 "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 1370 "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 1375 "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 1380 "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 1385 "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 1390 "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 1395 "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 1400 "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 1405 "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 1410 "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 1415 "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 1420 "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 1425 "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 1430 "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 1435 "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 1440 "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 1445 "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 1450 "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 1455 "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 1460 "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 1465 "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 1470 "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 1475 "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 1480 "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 1485 "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 1490 "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 1495 "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 1500 "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 1505 "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 1510 "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 1515 "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 1521 "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 1528 "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 1534 "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 1540 "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 1546 "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 1552 "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 1557 "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 1562 "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 1567 "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 1572 "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 1577 "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 1582 "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 1587 "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 1592 "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 1597 "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 1602 "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 1607 "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 1612 "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 1617 "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 1622 "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 1627 "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 1632 "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 1637 "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 1642 "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 1647 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                                              ) 'False -- ' closing tick for hsc2hs
                (268)
{-# LINE 1649 "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 1654 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (272)
{-# LINE 1656 "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 1661 "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 1666 "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 1671 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (288)
{-# LINE 1673 "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 1678 "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 1683 "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 1688 "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 1693 "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 1698 "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 1703 "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 1708 "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 1713 "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 1718 "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 1723 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (352)
{-# LINE 1725 "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 1730 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (356)
{-# LINE 1732 "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 1737 "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 1742 "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 1747 "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 1752 "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 1757 "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 1762 "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 1768 "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 1775 "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 1780 "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 1786 "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 1792 "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 1798 "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 1804 "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 1809 "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 1814 "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 1819 "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 1824 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                                            ) 'False -- ' closing tick for hsc2hs
                (424)
{-# LINE 1826 "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 1831 "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 1836 "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 1841 "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 1846 "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 1851 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                                           ) 'False -- ' closing tick for hsc2hs
                (444)
{-# LINE 1853 "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 1858 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                                           ) 'False -- ' closing tick for hsc2hs
                (452)
{-# LINE 1860 "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 1865 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (460)
{-# LINE 1867 "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 1872 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (464)
{-# LINE 1874 "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 1879 "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 1884 "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 1889 "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 1895 "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 1900 "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 VkPhysicalDeviceMaintenance3Properties {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     uint32_t                         maxPerSetDescriptors;
--   >     VkDeviceSize                     maxMemoryAllocationSize;
--   > } VkPhysicalDeviceMaintenance3Properties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-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 1925 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1926 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 1928 "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 1933 "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 1938 "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 1943 "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 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.1-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 1972 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 1973 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "memoryTypeCount" Word32 'False  -- ' closing tick for hsc2hs
                                                         (0)
{-# LINE 1975 "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 1980 "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 1985 "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 1990 "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.1-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 2014 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2015 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2017 "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 2022 "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 2028 "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 VkPhysicalDeviceMultiviewFeatures {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         multiview;
--   >     VkBool32                         multiviewGeometryShader;
--   >     VkBool32                         multiviewTessellationShader;
--   > } VkPhysicalDeviceMultiviewFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-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 2058 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2059 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2061 "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 2066 "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 2071 "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 2076 "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 2081 "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.1-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 2114 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2115 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2117 "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 2122 "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 2127 "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.1-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 2152 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2153 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2155 "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 2160 "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 2165 "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 2170 "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 VkPhysicalDevicePointClippingProperties {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkPointClippingBehavior      pointClippingBehavior;
--   > } VkPhysicalDevicePointClippingProperties;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-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 2199 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2200 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2202 "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 2207 "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 2212 "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 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.1-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 2245 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2246 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "apiVersion" Word32 'False  -- ' closing tick for hsc2hs
                                                    (0)
{-# LINE 2248 "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 2253 "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 2258 "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 2263 "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 2268 "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 2273 "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 2278 "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 2283 "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 2289 "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.1-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 2313 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2314 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2316 "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 2321 "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 2326 "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.1-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 2354 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2355 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2357 "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 2362 "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 2367 "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.1-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 2392 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2393 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2395 "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 2400 "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 2405 "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
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs

-- | > typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     uint32_t                         maxPushDescriptors;
--   > } VkPhysicalDevicePushDescriptorPropertiesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-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 2430 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2431 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2433 "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 2438 "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 2443 "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
           '[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.1-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 2472 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2473 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2475 "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 2480 "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 2485 "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 2490 "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 2495 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (28)
{-# LINE 2497 "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 2502 "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 2507 "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 VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     VkBool32               filterMinmaxSingleComponentFormats;
--   >     VkBool32               filterMinmaxImageComponentMapping;
--   > } VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT registry at www.khronos.org>
type VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
     VkStruct VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT' -- ' closing tick for hsc2hs

data VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal
           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT
         where
    type StructRep VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT =
         'StructMeta "VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT" -- ' closing tick for hsc2hs
           VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT
           (24)
{-# LINE 2534 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2535 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2537 "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 2542 "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 2547 "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 2552 "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 VkPhysicalDeviceSamplerYcbcrConversionFeatures {
--   >     VkStructureType sType;
--   >     void*      pNext;
--   >     VkBool32                         samplerYcbcrConversion;
--   > } VkPhysicalDeviceSamplerYcbcrConversionFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-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 2578 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2579 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2581 "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 2586 "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 2591 "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 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.1-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 2633 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2634 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2636 "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 2641 "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 2646 "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 2651 "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 2656 "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 2661 "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 2666 "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 2671 "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 2676 "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 2681 "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 2686 "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 2691 "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 2696 "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 2701 "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 2706 "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 2711 "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 VkPhysicalDeviceShaderDrawParameterFeatures {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         shaderDrawParameters;
--   > } VkPhysicalDeviceShaderDrawParameterFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceShaderDrawParameterFeatures VkPhysicalDeviceShaderDrawParameterFeatures registry at www.khronos.org>
type VkPhysicalDeviceShaderDrawParameterFeatures =
     VkStruct VkPhysicalDeviceShaderDrawParameterFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceShaderDrawParameterFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceShaderDrawParameterFeatures
         where
    type StructRep VkPhysicalDeviceShaderDrawParameterFeatures =
         'StructMeta "VkPhysicalDeviceShaderDrawParameterFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceShaderDrawParameterFeatures
           (24)
{-# LINE 2736 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2737 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2739 "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 2744 "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 2749 "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] -- ' 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.1-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 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 "format" VkFormat 'False
                                                  (16)
{-# LINE 2790 "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 2795 "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 2800 "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 2805 "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 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
           '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.1-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 2840 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           4
{-# LINE 2841 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "residencyStandard2DBlockShape" VkBool32 'False -- ' closing tick for hsc2hs
                (0)
{-# LINE 2843 "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 2849 "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 2854 "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 2859 "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 2864 "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.1-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 2891 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2892 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2894 "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 2899 "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 2904 "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 2909 "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 2914 "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 2919 "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.1-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 2943 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2944 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2946 "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 2951 "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 2956 "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 VkPhysicalDeviceVariablePointerFeatures {
--   >     VkStructureType sType;
--   >     void*                            pNext;
--   >     VkBool32                         variablePointersStorageBuffer;
--   >     VkBool32                         variablePointers;
--   > } VkPhysicalDeviceVariablePointerFeatures;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkPhysicalDeviceVariablePointerFeatures VkPhysicalDeviceVariablePointerFeatures registry at www.khronos.org>
type VkPhysicalDeviceVariablePointerFeatures =
     VkStruct VkPhysicalDeviceVariablePointerFeatures' -- ' closing tick for hsc2hs

data VkPhysicalDeviceVariablePointerFeatures' -- ' closing tick for hsc2hs

instance VulkanMarshal VkPhysicalDeviceVariablePointerFeatures
         where
    type StructRep VkPhysicalDeviceVariablePointerFeatures =
         'StructMeta "VkPhysicalDeviceVariablePointerFeatures" -- ' closing tick for hsc2hs
           VkPhysicalDeviceVariablePointerFeatures
           (24)
{-# LINE 2982 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 2983 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 2985 "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 2990 "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 2995 "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 3000 "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 `VkPhysicalDeviceVariablePointerFeatures`
type VkPhysicalDeviceVariablePointerFeaturesKHR =
     VkPhysicalDeviceVariablePointerFeatures

-- | > typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT {
--   >     VkStructureType sType;
--   >     void*                  pNext;
--   >     uint32_t               maxVertexAttribDivisor;
--   > } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-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 3031 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           8
{-# LINE 3032 "src-gen/Graphics/Vulkan/Types/Struct/PhysicalDevice.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 3034 "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 3039 "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 3044 "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
           '[VkPhysicalDeviceProperties2] -- ' closing tick for hsc2hs