{-# 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, 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)

-- | > typedef struct VkDisplayEventInfoEXT {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkDisplayEventTypeEXT            displayEvent;
--   > } VkDisplayEventInfoEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-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 51 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 52 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 54 "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 59 "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 64 "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.1-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 88 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 89 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 91 "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 96 "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 101 "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 106 "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.1-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 128 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           4
{-# LINE 129 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "visibleRegion" VkExtent2D 'False  -- ' closing tick for hsc2hs
                                                           (0)
{-# LINE 131 "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 136 "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.1-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 160 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 161 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 163 "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 168 "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 174 "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.1-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 196 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 197 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "displayMode" VkDisplayModeKHR 'False  -- ' closing tick for hsc2hs
                                                               (0)
{-# LINE 199 "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 204 "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 VkDisplayPlaneCapabilities2KHR {
--   >     VkStructureType sType;
--   >     void* pNext;
--   >     VkDisplayPlaneCapabilitiesKHR capabilities;
--   > } VkDisplayPlaneCapabilities2KHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.1-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 228 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 229 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 231 "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 236 "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 241 "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.1-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 271 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           4
{-# LINE 272 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "supportedAlpha" VkDisplayPlaneAlphaFlagsKHR 'True -- ' closing tick for hsc2hs
                (0)
{-# LINE 274 "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 279 "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 284 "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 289 "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 294 "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 299 "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 304 "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 309 "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 314 "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.1-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 337 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 338 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 340 "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 345 "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 350 "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 355 "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.1-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 379 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 380 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 382 "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 387 "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 393 "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.1-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 416 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 417 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "currentDisplay" VkDisplayKHR 'False  -- ' closing tick for hsc2hs
                                                              (0)
{-# LINE 419 "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 424 "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.1-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 446 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 447 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 449 "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 454 "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 459 "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.1-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 483 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 484 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 486 "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 491 "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 496 "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 501 "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 506 "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.1-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 528 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 529 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 531 "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 536 "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 541 "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.1-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 567 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 568 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "display" VkDisplayKHR 'False  -- ' closing tick for hsc2hs
                                                       (0)
{-# LINE 570 "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 575 "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 580 "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 585 "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 590 "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 595 "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 600 "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.1-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 631 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           8
{-# LINE 632 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 634 "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 639 "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 644 "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 649 "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 654 "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 659 "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 664 "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 669 "src-gen/Graphics/Vulkan/Types/Struct/Display.hsc" #-}
                                        ) 'False -- ' closing tick for hsc2hs
                (44)
{-# LINE 671 "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 676 "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 681 "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