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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.Display
       (VkDisplayEventInfoEXT, VkDisplayModeCreateInfoKHR,
        VkDisplayModeParametersKHR, VkDisplayModeProperties2KHR,
        VkDisplayModePropertiesKHR,
        VkDisplayNativeHdrSurfaceCapabilitiesAMD,
        VkDisplayPlaneCapabilities2KHR, VkDisplayPlaneCapabilitiesKHR,
        VkDisplayPlaneInfo2KHR, VkDisplayPlaneProperties2KHR,
        VkDisplayPlanePropertiesKHR, VkDisplayPowerInfoEXT,
        VkDisplayPresentInfoKHR, VkDisplayProperties2KHR,
        VkDisplayPropertiesKHR, VkDisplaySurfaceCreateInfoKHR)
       where
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.BaseTypes          (VkBool32)
import Graphics.Vulkan.Types.Bitmasks           (VkDisplayModeCreateFlagsKHR,
                                                 VkDisplaySurfaceCreateFlagsKHR)
import Graphics.Vulkan.Types.Enum.Display       (VkDisplayEventTypeEXT,
                                                 VkDisplayPlaneAlphaFlagBitsKHR,
                                                 VkDisplayPlaneAlphaFlagsKHR,
                                                 VkDisplayPowerStateEXT)
import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)
import Graphics.Vulkan.Types.Enum.Surface       (VkSurfaceTransformFlagBitsKHR,
                                                 VkSurfaceTransformFlagsKHR)
import Graphics.Vulkan.Types.Handles            (VkDisplayKHR, VkDisplayModeKHR)
import Graphics.Vulkan.Types.Struct.Extent      (VkExtent2D)
import Graphics.Vulkan.Types.Struct.Offset      (VkOffset2D)
import Graphics.Vulkan.Types.Struct.Present     (VkPresentInfoKHR)
import Graphics.Vulkan.Types.Struct.Rect        (VkRect2D)
import Graphics.Vulkan.Types.Struct.Surface     (VkSurfaceCapabilities2KHR)

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

data VkDisplayEventInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayEventInfoEXT where
    type StructRep VkDisplayEventInfoEXT =
         'StructMeta "VkDisplayEventInfoEXT" VkDisplayEventInfoEXT  -- ' closing tick for hsc2hs
                                                                   (24)
{-# LINE 53 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 54 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 56 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 61 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "displayEvent" VkDisplayEventTypeEXT 'False 
                                                                     (16)
{-# LINE 66 "src-gen/Graphics/Vulkan/Types/Struct/Display.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 VkDisplayModeCreateInfoKHR {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkDisplayModeCreateFlagsKHR      flags;
--   >     VkDisplayModeParametersKHR       parameters;
--   > } VkDisplayModeCreateInfoKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDisplayModeCreateInfoKHR VkDisplayModeCreateInfoKHR registry at www.khronos.org>
type VkDisplayModeCreateInfoKHR =
     VkStruct VkDisplayModeCreateInfoKHR' -- ' closing tick for hsc2hs

data VkDisplayModeCreateInfoKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayModeCreateInfoKHR where
    type StructRep VkDisplayModeCreateInfoKHR =
         'StructMeta "VkDisplayModeCreateInfoKHR" VkDisplayModeCreateInfoKHR -- ' closing tick for hsc2hs
           (32)
{-# LINE 90 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 91 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 93 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 98 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkDisplayModeCreateFlagsKHR 'True 
                                                                   (16)
{-# LINE 103 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "parameters" VkDisplayModeParametersKHR 'False
                (20)
{-# LINE 108 "src-gen/Graphics/Vulkan/Types/Struct/Display.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 VkDisplayModeParametersKHR {
--   >     VkExtent2D                       visibleRegion;
--   >     uint32_t   refreshRate;
--   > } VkDisplayModeParametersKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDisplayModeParametersKHR VkDisplayModeParametersKHR registry at www.khronos.org>
type VkDisplayModeParametersKHR =
     VkStruct VkDisplayModeParametersKHR' -- ' closing tick for hsc2hs

data VkDisplayModeParametersKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayModeParametersKHR where
    type StructRep VkDisplayModeParametersKHR =
         'StructMeta "VkDisplayModeParametersKHR" VkDisplayModeParametersKHR -- ' closing tick for hsc2hs
           (12)
{-# LINE 130 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           4
{-# LINE 131 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "visibleRegion" VkExtent2D 'False  -- ' closing tick for hsc2hs
                                                           (0)
{-# LINE 133 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "refreshRate" Word32 'False 
                                                     (8)
{-# LINE 138 "src-gen/Graphics/Vulkan/Types/Struct/Display.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 VkDisplayModeProperties2KHR {
--   >     VkStructureType sType;
--   >     void* pNext;
--   >     VkDisplayModePropertiesKHR displayModeProperties;
--   > } VkDisplayModeProperties2KHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDisplayModeProperties2KHR VkDisplayModeProperties2KHR registry at www.khronos.org>
type VkDisplayModeProperties2KHR =
     VkStruct VkDisplayModeProperties2KHR' -- ' closing tick for hsc2hs

data VkDisplayModeProperties2KHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayModeProperties2KHR where
    type StructRep VkDisplayModeProperties2KHR =
         'StructMeta "VkDisplayModeProperties2KHR" -- ' closing tick for hsc2hs
           VkDisplayModeProperties2KHR
           (40)
{-# LINE 162 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 163 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 165 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 170 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "displayModeProperties" VkDisplayModePropertiesKHR -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 176 "src-gen/Graphics/Vulkan/Types/Struct/Display.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 VkDisplayModePropertiesKHR {
--   >     VkDisplayModeKHR                 displayMode;
--   >     VkDisplayModeParametersKHR       parameters;
--   > } VkDisplayModePropertiesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDisplayModePropertiesKHR VkDisplayModePropertiesKHR registry at www.khronos.org>
type VkDisplayModePropertiesKHR =
     VkStruct VkDisplayModePropertiesKHR' -- ' closing tick for hsc2hs

data VkDisplayModePropertiesKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayModePropertiesKHR where
    type StructRep VkDisplayModePropertiesKHR =
         'StructMeta "VkDisplayModePropertiesKHR" VkDisplayModePropertiesKHR -- ' closing tick for hsc2hs
           (24)
{-# LINE 198 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 199 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "displayMode" VkDisplayModeKHR 'False  -- ' closing tick for hsc2hs
                                                               (0)
{-# LINE 201 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "parameters" VkDisplayModeParametersKHR 'False
                (8)
{-# LINE 206 "src-gen/Graphics/Vulkan/Types/Struct/Display.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 VkDisplayNativeHdrSurfaceCapabilitiesAMD {
--   >     VkStructureType sType;
--   >     void*          pNext;
--   >     VkBool32       localDimmingSupport;
--   > } VkDisplayNativeHdrSurfaceCapabilitiesAMD;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDisplayNativeHdrSurfaceCapabilitiesAMD VkDisplayNativeHdrSurfaceCapabilitiesAMD registry at www.khronos.org>
type VkDisplayNativeHdrSurfaceCapabilitiesAMD =
     VkStruct VkDisplayNativeHdrSurfaceCapabilitiesAMD' -- ' closing tick for hsc2hs

data VkDisplayNativeHdrSurfaceCapabilitiesAMD' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayNativeHdrSurfaceCapabilitiesAMD
         where
    type StructRep VkDisplayNativeHdrSurfaceCapabilitiesAMD =
         'StructMeta "VkDisplayNativeHdrSurfaceCapabilitiesAMD" -- ' closing tick for hsc2hs
           VkDisplayNativeHdrSurfaceCapabilitiesAMD
           (24)
{-# LINE 231 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 232 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 234 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 239 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "localDimmingSupport" VkBool32 'False 
                                                               (16)
{-# LINE 244 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'True -- ' closing tick for hsc2hs
           '[VkSurfaceCapabilities2KHR] -- ' closing tick for hsc2hs

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

data VkDisplayPlaneCapabilities2KHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayPlaneCapabilities2KHR where
    type StructRep VkDisplayPlaneCapabilities2KHR =
         'StructMeta "VkDisplayPlaneCapabilities2KHR" -- ' closing tick for hsc2hs
           VkDisplayPlaneCapabilities2KHR
           (88)
{-# LINE 268 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 269 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 271 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 276 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "capabilities" VkDisplayPlaneCapabilitiesKHR 'False
                (16)
{-# LINE 281 "src-gen/Graphics/Vulkan/Types/Struct/Display.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 VkDisplayPlaneCapabilitiesKHR {
--   >     VkDisplayPlaneAlphaFlagsKHR      supportedAlpha;
--   >     VkOffset2D                       minSrcPosition;
--   >     VkOffset2D                       maxSrcPosition;
--   >     VkExtent2D                       minSrcExtent;
--   >     VkExtent2D                       maxSrcExtent;
--   >     VkOffset2D                       minDstPosition;
--   >     VkOffset2D                       maxDstPosition;
--   >     VkExtent2D                       minDstExtent;
--   >     VkExtent2D                       maxDstExtent;
--   > } VkDisplayPlaneCapabilitiesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDisplayPlaneCapabilitiesKHR VkDisplayPlaneCapabilitiesKHR registry at www.khronos.org>
type VkDisplayPlaneCapabilitiesKHR =
     VkStruct VkDisplayPlaneCapabilitiesKHR' -- ' closing tick for hsc2hs

data VkDisplayPlaneCapabilitiesKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayPlaneCapabilitiesKHR where
    type StructRep VkDisplayPlaneCapabilitiesKHR =
         'StructMeta "VkDisplayPlaneCapabilitiesKHR" -- ' closing tick for hsc2hs
           VkDisplayPlaneCapabilitiesKHR
           (68)
{-# LINE 311 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           4
{-# LINE 312 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "supportedAlpha" VkDisplayPlaneAlphaFlagsKHR 'True -- ' closing tick for hsc2hs
                (0)
{-# LINE 314 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minSrcPosition" VkOffset2D 'False 
                                                            (4)
{-# LINE 319 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxSrcPosition" VkOffset2D 'False 
                                                            (12)
{-# LINE 324 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minSrcExtent" VkExtent2D 'False 
                                                          (20)
{-# LINE 329 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxSrcExtent" VkExtent2D 'False 
                                                          (28)
{-# LINE 334 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minDstPosition" VkOffset2D 'False 
                                                            (36)
{-# LINE 339 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDstPosition" VkOffset2D 'False 
                                                            (44)
{-# LINE 344 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minDstExtent" VkExtent2D 'False 
                                                          (52)
{-# LINE 349 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxDstExtent" VkExtent2D 'False 
                                                          (60)
{-# LINE 354 "src-gen/Graphics/Vulkan/Types/Struct/Display.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 VkDisplayPlaneInfo2KHR {
--   >     VkStructureType sType;
--   >     const void* pNext;
--   >     VkDisplayModeKHR mode;
--   >     uint32_t planeIndex;
--   > } VkDisplayPlaneInfo2KHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDisplayPlaneInfo2KHR VkDisplayPlaneInfo2KHR registry at www.khronos.org>
type VkDisplayPlaneInfo2KHR = VkStruct VkDisplayPlaneInfo2KHR' -- ' closing tick for hsc2hs

data VkDisplayPlaneInfo2KHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayPlaneInfo2KHR where
    type StructRep VkDisplayPlaneInfo2KHR =
         'StructMeta "VkDisplayPlaneInfo2KHR" VkDisplayPlaneInfo2KHR -- ' closing tick for hsc2hs
           (32)
{-# LINE 377 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 378 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 380 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 385 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "mode" VkDisplayModeKHR 'False 
                                                        (16)
{-# LINE 390 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "planeIndex" Word32 'False 
                                                    (24)
{-# LINE 395 "src-gen/Graphics/Vulkan/Types/Struct/Display.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 VkDisplayPlaneProperties2KHR {
--   >     VkStructureType sType;
--   >     void* pNext;
--   >     VkDisplayPlanePropertiesKHR displayPlaneProperties;
--   > } VkDisplayPlaneProperties2KHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDisplayPlaneProperties2KHR VkDisplayPlaneProperties2KHR registry at www.khronos.org>
type VkDisplayPlaneProperties2KHR =
     VkStruct VkDisplayPlaneProperties2KHR' -- ' closing tick for hsc2hs

data VkDisplayPlaneProperties2KHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayPlaneProperties2KHR where
    type StructRep VkDisplayPlaneProperties2KHR =
         'StructMeta "VkDisplayPlaneProperties2KHR" -- ' closing tick for hsc2hs
           VkDisplayPlaneProperties2KHR
           (32)
{-# LINE 419 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 420 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 422 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 427 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "displayPlaneProperties" VkDisplayPlanePropertiesKHR -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 433 "src-gen/Graphics/Vulkan/Types/Struct/Display.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 VkDisplayPlanePropertiesKHR {
--   >     VkDisplayKHR                     currentDisplay;
--   >     uint32_t                         currentStackIndex;
--   > } VkDisplayPlanePropertiesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDisplayPlanePropertiesKHR VkDisplayPlanePropertiesKHR registry at www.khronos.org>
type VkDisplayPlanePropertiesKHR =
     VkStruct VkDisplayPlanePropertiesKHR' -- ' closing tick for hsc2hs

data VkDisplayPlanePropertiesKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayPlanePropertiesKHR where
    type StructRep VkDisplayPlanePropertiesKHR =
         'StructMeta "VkDisplayPlanePropertiesKHR" -- ' closing tick for hsc2hs
           VkDisplayPlanePropertiesKHR
           (16)
{-# LINE 456 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 457 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "currentDisplay" VkDisplayKHR 'False  -- ' closing tick for hsc2hs
                                                              (0)
{-# LINE 459 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "currentStackIndex" Word32 'False 
                                                           (8)
{-# LINE 464 "src-gen/Graphics/Vulkan/Types/Struct/Display.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 VkDisplayPowerInfoEXT {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkDisplayPowerStateEXT           powerState;
--   > } VkDisplayPowerInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDisplayPowerInfoEXT VkDisplayPowerInfoEXT registry at www.khronos.org>
type VkDisplayPowerInfoEXT = VkStruct VkDisplayPowerInfoEXT' -- ' closing tick for hsc2hs

data VkDisplayPowerInfoEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayPowerInfoEXT where
    type StructRep VkDisplayPowerInfoEXT =
         'StructMeta "VkDisplayPowerInfoEXT" VkDisplayPowerInfoEXT  -- ' closing tick for hsc2hs
                                                                   (24)
{-# LINE 486 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 487 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 489 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 494 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "powerState" VkDisplayPowerStateEXT 'False 
                                                                    (16)
{-# LINE 499 "src-gen/Graphics/Vulkan/Types/Struct/Display.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 VkDisplayPresentInfoKHR {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkRect2D                         srcRect;
--   >     VkRect2D                         dstRect;
--   >     VkBool32                         persistent;
--   > } VkDisplayPresentInfoKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDisplayPresentInfoKHR VkDisplayPresentInfoKHR registry at www.khronos.org>
type VkDisplayPresentInfoKHR = VkStruct VkDisplayPresentInfoKHR' -- ' closing tick for hsc2hs

data VkDisplayPresentInfoKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayPresentInfoKHR where
    type StructRep VkDisplayPresentInfoKHR =
         'StructMeta "VkDisplayPresentInfoKHR" VkDisplayPresentInfoKHR -- ' closing tick for hsc2hs
           (56)
{-# LINE 523 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 524 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 526 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 531 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "srcRect" VkRect2D 'False 
                                                   (16)
{-# LINE 536 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "dstRect" VkRect2D 'False 
                                                   (32)
{-# LINE 541 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "persistent" VkBool32 'False 
                                                      (48)
{-# LINE 546 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[VkPresentInfoKHR] -- ' closing tick for hsc2hs

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

data VkDisplayProperties2KHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayProperties2KHR where
    type StructRep VkDisplayProperties2KHR =
         'StructMeta "VkDisplayProperties2KHR" VkDisplayProperties2KHR -- ' closing tick for hsc2hs
           (64)
{-# LINE 568 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 569 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 571 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 576 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "displayProperties" VkDisplayPropertiesKHR 'False
                (16)
{-# LINE 581 "src-gen/Graphics/Vulkan/Types/Struct/Display.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 VkDisplayPropertiesKHR {
--   >     VkDisplayKHR                     display;
--   >     const char*                      displayName;
--   >     VkExtent2D                       physicalDimensions;
--   >     VkExtent2D                       physicalResolution;
--   >     VkSurfaceTransformFlagsKHR       supportedTransforms;
--   >     VkBool32                         planeReorderPossible;
--   >     VkBool32                         persistentContent;
--   > } VkDisplayPropertiesKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDisplayPropertiesKHR VkDisplayPropertiesKHR registry at www.khronos.org>
type VkDisplayPropertiesKHR = VkStruct VkDisplayPropertiesKHR' -- ' closing tick for hsc2hs

data VkDisplayPropertiesKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplayPropertiesKHR where
    type StructRep VkDisplayPropertiesKHR =
         'StructMeta "VkDisplayPropertiesKHR" VkDisplayPropertiesKHR -- ' closing tick for hsc2hs
           (48)
{-# LINE 607 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 608 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "display" VkDisplayKHR 'False  -- ' closing tick for hsc2hs
                                                       (0)
{-# LINE 610 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "displayName" CString 'False 
                                                      (8)
{-# LINE 615 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "physicalDimensions" VkExtent2D 'False 
                                                                (16)
{-# LINE 620 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "physicalResolution" VkExtent2D 'False 
                                                                (24)
{-# LINE 625 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "supportedTransforms" VkSurfaceTransformFlagsKHR 'True
                (32)
{-# LINE 630 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "planeReorderPossible" VkBool32 'False 
                                                                (36)
{-# LINE 635 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "persistentContent" VkBool32 'False 
                                                             (40)
{-# LINE 640 "src-gen/Graphics/Vulkan/Types/Struct/Display.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 VkDisplaySurfaceCreateInfoKHR {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkDisplaySurfaceCreateFlagsKHR   flags;
--   >     VkDisplayModeKHR                 displayMode;
--   >     uint32_t                         planeIndex;
--   >     uint32_t                         planeStackIndex;
--   >     VkSurfaceTransformFlagBitsKHR    transform;
--   >     float                            globalAlpha;
--   >     VkDisplayPlaneAlphaFlagBitsKHR   alphaMode;
--   >     VkExtent2D                       imageExtent;
--   > } VkDisplaySurfaceCreateInfoKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDisplaySurfaceCreateInfoKHR VkDisplaySurfaceCreateInfoKHR registry at www.khronos.org>
type VkDisplaySurfaceCreateInfoKHR =
     VkStruct VkDisplaySurfaceCreateInfoKHR' -- ' closing tick for hsc2hs

data VkDisplaySurfaceCreateInfoKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDisplaySurfaceCreateInfoKHR where
    type StructRep VkDisplaySurfaceCreateInfoKHR =
         'StructMeta "VkDisplaySurfaceCreateInfoKHR" -- ' closing tick for hsc2hs
           VkDisplaySurfaceCreateInfoKHR
           (64)
{-# LINE 671 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 672 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 674 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 679 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkDisplaySurfaceCreateFlagsKHR 'True 
                                                                      (16)
{-# LINE 684 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "displayMode" VkDisplayModeKHR 'False 
                                                               (24)
{-# LINE 689 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "planeIndex" Word32 'False 
                                                    (32)
{-# LINE 694 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "planeStackIndex" Word32 'False 
                                                         (36)
{-# LINE 699 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "transform" VkSurfaceTransformFlagBitsKHR 'False
                (40)
{-# LINE 704 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "globalAlpha" ( -- ' closing tick for hsc2hs
                                        Float
{-# LINE 709 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                                        ) 'False -- ' closing tick for hsc2hs
                (44)
{-# LINE 711 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "alphaMode" VkDisplayPlaneAlphaFlagBitsKHR 'False
                (48)
{-# LINE 716 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "imageExtent" VkExtent2D 'False 
                                                         (52)
{-# LINE 721 "src-gen/Graphics/Vulkan/Types/Struct/Display.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