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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.HdrMetadataEXT
       (VkHdrMetadataEXT) where
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)
import Graphics.Vulkan.Types.Struct.XYColorEXT  (VkXYColorEXT)

-- | > typedef struct VkHdrMetadataEXT {
--   >     VkStructureType sType;
--   >     const void*    pNext;
--   >     VkXYColorEXT   displayPrimaryRed;
--   >     VkXYColorEXT   displayPrimaryGreen;
--   >     VkXYColorEXT   displayPrimaryBlue;
--   >     VkXYColorEXT   whitePoint;
--   >     float          maxLuminance;
--   >     float          minLuminance;
--   >     float          maxContentLightLevel;
--   >     float          maxFrameAverageLightLevel;
--   > } VkHdrMetadataEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkHdrMetadataEXT VkHdrMetadataEXT registry at www.khronos.org>
type VkHdrMetadataEXT = VkStruct VkHdrMetadataEXT' -- ' closing tick for hsc2hs

data VkHdrMetadataEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkHdrMetadataEXT where
    type StructRep VkHdrMetadataEXT =
         'StructMeta "VkHdrMetadataEXT" VkHdrMetadataEXT  -- ' closing tick for hsc2hs
                                                         (64)
{-# LINE 37 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
           8
{-# LINE 38 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 40 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 45 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "displayPrimaryRed" VkXYColorEXT 'False 
                                                                 (16)
{-# LINE 50 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "displayPrimaryGreen" VkXYColorEXT 'False 
                                                                   (24)
{-# LINE 55 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "displayPrimaryBlue" VkXYColorEXT 'False 
                                                                  (32)
{-# LINE 60 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "whitePoint" VkXYColorEXT 'False 
                                                          (40)
{-# LINE 65 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxLuminance" ( -- ' closing tick for hsc2hs
                                         Float
{-# LINE 70 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
                                         ) 'False -- ' closing tick for hsc2hs
                (48)
{-# LINE 72 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "minLuminance" ( -- ' closing tick for hsc2hs
                                         Float
{-# LINE 77 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
                                         ) 'False -- ' closing tick for hsc2hs
                (52)
{-# LINE 79 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxContentLightLevel" ( -- ' closing tick for hsc2hs
                                                 Float)
{-# LINE 84 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (56)
{-# LINE 86 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "maxFrameAverageLightLevel" ( -- ' closing tick for hsc2hs
                                                      Float)
{-# LINE 91 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.hsc" #-}
                'False -- ' closing tick for hsc2hs
                (60)
{-# LINE 93 "src-gen/Graphics/Vulkan/Types/Struct/HdrMetadataEXT.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