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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.Acquire
       (VkAcquireNextImageInfoKHR, VkAcquireProfilingLockInfoKHR) where
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.Enum.AcquireProfilingLockFlagsKHR (VkAcquireProfilingLockFlagsKHR)
import Graphics.Vulkan.Types.Enum.StructureType                (VkStructureType)
import Graphics.Vulkan.Types.Handles                           (VkFence,
                                                                VkSemaphore,
                                                                VkSwapchainKHR)

-- | > typedef struct VkAcquireNextImageInfoKHR {
--   >     VkStructureType sType;
--   >     const void*                      pNext;
--   >     VkSwapchainKHR swapchain;
--   >     uint64_t                         timeout;
--   >     VkSemaphore semaphore;
--   >     VkFence fence;
--   >     uint32_t                         deviceMask;
--   > } VkAcquireNextImageInfoKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkAcquireNextImageInfoKHR VkAcquireNextImageInfoKHR registry at www.khronos.org>
type VkAcquireNextImageInfoKHR =
     VkStruct VkAcquireNextImageInfoKHR' -- ' closing tick for hsc2hs

data VkAcquireNextImageInfoKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkAcquireNextImageInfoKHR where
    type StructRep VkAcquireNextImageInfoKHR =
         'StructMeta "VkAcquireNextImageInfoKHR" VkAcquireNextImageInfoKHR -- ' closing tick for hsc2hs
           (56)
{-# LINE 38 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.hsc" #-}
           8
{-# LINE 39 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 41 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 46 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "swapchain" VkSwapchainKHR 'False 
                                                           (16)
{-# LINE 51 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "timeout" Word64 'False 
                                                 (24)
{-# LINE 56 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "semaphore" VkSemaphore 'True 
                                                       (32)
{-# LINE 61 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "fence" VkFence 'True 
                                               (40)
{-# LINE 66 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "deviceMask" Word32 'False 
                                                    (48)
{-# LINE 71 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.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 VkAcquireProfilingLockInfoKHR {
--   >     VkStructureType sType;
--   >     const void*            pNext;
--   >     VkAcquireProfilingLockFlagsKHR flags;
--   >     uint64_t timeout;
--   > } VkAcquireProfilingLockInfoKHR;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkAcquireProfilingLockInfoKHR VkAcquireProfilingLockInfoKHR registry at www.khronos.org>
type VkAcquireProfilingLockInfoKHR =
     VkStruct VkAcquireProfilingLockInfoKHR' -- ' closing tick for hsc2hs

data VkAcquireProfilingLockInfoKHR' -- ' closing tick for hsc2hs

instance VulkanMarshal VkAcquireProfilingLockInfoKHR where
    type StructRep VkAcquireProfilingLockInfoKHR =
         'StructMeta "VkAcquireProfilingLockInfoKHR" -- ' closing tick for hsc2hs
           VkAcquireProfilingLockInfoKHR
           (32)
{-# LINE 96 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.hsc" #-}
           8
{-# LINE 97 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 99 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 104 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkAcquireProfilingLockFlagsKHR 'True 
                                                                      (16)
{-# LINE 109 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "timeout" Word64 'False 
                                                 (24)
{-# LINE 114 "src-gen/Graphics/Vulkan/Types/Struct/Acquire.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