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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.CoarseSample
       (VkCoarseSampleLocationNV, VkCoarseSampleOrderCustomNV) where
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.Enum.ShadingRatePaletteEntryNV (VkShadingRatePaletteEntryNV)

-- | > typedef struct VkCoarseSampleLocationNV {
--   >     uint32_t                            pixelX;
--   >     uint32_t                            pixelY;
--   >     uint32_t                            sample;
--   > } VkCoarseSampleLocationNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCoarseSampleLocationNV VkCoarseSampleLocationNV registry at www.khronos.org>
type VkCoarseSampleLocationNV = VkStruct VkCoarseSampleLocationNV' -- ' closing tick for hsc2hs

data VkCoarseSampleLocationNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkCoarseSampleLocationNV where
    type StructRep VkCoarseSampleLocationNV =
         'StructMeta "VkCoarseSampleLocationNV" VkCoarseSampleLocationNV -- ' closing tick for hsc2hs
           (12)
{-# LINE 29 "src-gen/Graphics/Vulkan/Types/Struct/CoarseSample.hsc" #-}
           4
{-# LINE 30 "src-gen/Graphics/Vulkan/Types/Struct/CoarseSample.hsc" #-}
           '[('FieldMeta "pixelX" Word32 'False  -- ' closing tick for hsc2hs
                                                (0)
{-# LINE 32 "src-gen/Graphics/Vulkan/Types/Struct/CoarseSample.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pixelY" Word32 'False 
                                                (4)
{-# LINE 37 "src-gen/Graphics/Vulkan/Types/Struct/CoarseSample.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sample" Word32 'False 
                                                (8)
{-# LINE 42 "src-gen/Graphics/Vulkan/Types/Struct/CoarseSample.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 VkCoarseSampleOrderCustomNV {
--   >     VkShadingRatePaletteEntryNV         shadingRate;
--   >     uint32_t                            sampleCount;
--   >     uint32_t                            sampleLocationCount;
--   >     const VkCoarseSampleLocationNV* pSampleLocations;
--   > } VkCoarseSampleOrderCustomNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCoarseSampleOrderCustomNV VkCoarseSampleOrderCustomNV registry at www.khronos.org>
type VkCoarseSampleOrderCustomNV =
     VkStruct VkCoarseSampleOrderCustomNV' -- ' closing tick for hsc2hs

data VkCoarseSampleOrderCustomNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkCoarseSampleOrderCustomNV where
    type StructRep VkCoarseSampleOrderCustomNV =
         'StructMeta "VkCoarseSampleOrderCustomNV" -- ' closing tick for hsc2hs
           VkCoarseSampleOrderCustomNV
           (24)
{-# LINE 67 "src-gen/Graphics/Vulkan/Types/Struct/CoarseSample.hsc" #-}
           8
{-# LINE 68 "src-gen/Graphics/Vulkan/Types/Struct/CoarseSample.hsc" #-}
           '[('FieldMeta "shadingRate" VkShadingRatePaletteEntryNV 'False -- ' closing tick for hsc2hs
                (0)
{-# LINE 70 "src-gen/Graphics/Vulkan/Types/Struct/CoarseSample.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampleCount" Word32 'False 
                                                     (4)
{-# LINE 75 "src-gen/Graphics/Vulkan/Types/Struct/CoarseSample.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "sampleLocationCount" Word32 'False 
                                                             (8)
{-# LINE 80 "src-gen/Graphics/Vulkan/Types/Struct/CoarseSample.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pSampleLocations" (Ptr VkCoarseSampleLocationNV) -- ' closing tick for hsc2hs
                'False -- ' closing tick for hsc2hs
                (16)
{-# LINE 86 "src-gen/Graphics/Vulkan/Types/Struct/CoarseSample.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