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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.CooperativeMatrixPropertiesNV
       (VkCooperativeMatrixPropertiesNV) where
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.Enum.Component     (VkComponentTypeNV)
import Graphics.Vulkan.Types.Enum.ScopeNV       (VkScopeNV)
import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)

-- | > typedef struct VkCooperativeMatrixPropertiesNV {
--   >     VkStructureType sType;
--   >     void*                               pNext;
--   >     uint32_t                            MSize;
--   >     uint32_t                            NSize;
--   >     uint32_t                            KSize;
--   >     VkComponentTypeNV                   AType;
--   >     VkComponentTypeNV                   BType;
--   >     VkComponentTypeNV                   CType;
--   >     VkComponentTypeNV                   DType;
--   >     VkScopeNV                           scope;
--   > } VkCooperativeMatrixPropertiesNV;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCooperativeMatrixPropertiesNV VkCooperativeMatrixPropertiesNV registry at www.khronos.org>
type VkCooperativeMatrixPropertiesNV =
     VkStruct VkCooperativeMatrixPropertiesNV' -- ' closing tick for hsc2hs

data VkCooperativeMatrixPropertiesNV' -- ' closing tick for hsc2hs

instance VulkanMarshal VkCooperativeMatrixPropertiesNV where
    type StructRep VkCooperativeMatrixPropertiesNV =
         'StructMeta "VkCooperativeMatrixPropertiesNV" -- ' closing tick for hsc2hs
           VkCooperativeMatrixPropertiesNV
           (48)
{-# LINE 40 "src-gen/Graphics/Vulkan/Types/Struct/CooperativeMatrixPropertiesNV.hsc" #-}
           8
{-# LINE 41 "src-gen/Graphics/Vulkan/Types/Struct/CooperativeMatrixPropertiesNV.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 43 "src-gen/Graphics/Vulkan/Types/Struct/CooperativeMatrixPropertiesNV.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 48 "src-gen/Graphics/Vulkan/Types/Struct/CooperativeMatrixPropertiesNV.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "MSize" Word32 'False 
                                               (16)
{-# LINE 53 "src-gen/Graphics/Vulkan/Types/Struct/CooperativeMatrixPropertiesNV.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "NSize" Word32 'False 
                                               (20)
{-# LINE 58 "src-gen/Graphics/Vulkan/Types/Struct/CooperativeMatrixPropertiesNV.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "KSize" Word32 'False 
                                               (24)
{-# LINE 63 "src-gen/Graphics/Vulkan/Types/Struct/CooperativeMatrixPropertiesNV.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "AType" VkComponentTypeNV 'False 
                                                          (28)
{-# LINE 68 "src-gen/Graphics/Vulkan/Types/Struct/CooperativeMatrixPropertiesNV.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "BType" VkComponentTypeNV 'False 
                                                          (32)
{-# LINE 73 "src-gen/Graphics/Vulkan/Types/Struct/CooperativeMatrixPropertiesNV.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "CType" VkComponentTypeNV 'False 
                                                          (36)
{-# LINE 78 "src-gen/Graphics/Vulkan/Types/Struct/CooperativeMatrixPropertiesNV.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "DType" VkComponentTypeNV 'False 
                                                          (40)
{-# LINE 83 "src-gen/Graphics/Vulkan/Types/Struct/CooperativeMatrixPropertiesNV.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "scope" VkScopeNV 'False 
                                                  (44)
{-# LINE 88 "src-gen/Graphics/Vulkan/Types/Struct/CooperativeMatrixPropertiesNV.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