{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Graphics.Vulkan.Constants where
import Text.Read.Lex( Lexeme(Ident)
)
import GHC.Read( expectP
, choose
)
import Data.Word( Word64
, Word32
)
import Data.Int( Int32
)
import Foreign.Storable( Storable(..)
)
import Text.Read( Read(..)
, parens
)
import Text.ParserCombinators.ReadPrec( prec
, (+++)
, step
)
pattern VK_SUBPASS_EXTERNAL = 0xffffffff :: Word32
pattern VK_UUID_SIZE = 16
type VK_UUID_SIZE = 16
pattern VK_REMAINING_MIP_LEVELS = 0xffffffff :: Word32
pattern VK_LOD_CLAMP_NONE = 1000.0
pattern VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = 256
type VK_MAX_PHYSICAL_DEVICE_NAME_SIZE = 256
pattern VK_ATTACHMENT_UNUSED = 0xffffffff :: Word32
pattern VK_MAX_MEMORY_TYPES = 32
type VK_MAX_MEMORY_TYPES = 32
pattern VK_WHOLE_SIZE = 0xffffffffffffffff :: Word64
pattern VK_REMAINING_ARRAY_LAYERS = 0xffffffff :: Word32
pattern VK_QUEUE_FAMILY_IGNORED = 0xffffffff :: Word32
pattern VK_MAX_MEMORY_HEAPS = 16
type VK_MAX_MEMORY_HEAPS = 16
pattern VK_FALSE = 0
type VK_FALSE = 0
newtype VkPipelineCacheHeaderVersion = VkPipelineCacheHeaderVersion Int32
deriving (Eq, Storable)
instance Show VkPipelineCacheHeaderVersion where
showsPrec _ VK_PIPELINE_CACHE_HEADER_VERSION_ONE = showString "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"
showsPrec p (VkPipelineCacheHeaderVersion x) = showParen (p >= 11) (showString "VkPipelineCacheHeaderVersion " . showsPrec 11 x)
instance Read VkPipelineCacheHeaderVersion where
readPrec = parens ( choose [ ("VK_PIPELINE_CACHE_HEADER_VERSION_ONE", pure VK_PIPELINE_CACHE_HEADER_VERSION_ONE)
] +++
prec 10 (do
expectP (Ident "VkPipelineCacheHeaderVersion")
v <- step readPrec
pure (VkPipelineCacheHeaderVersion v)
)
)
pattern VK_PIPELINE_CACHE_HEADER_VERSION_ONE = VkPipelineCacheHeaderVersion 1
pattern VK_MAX_EXTENSION_NAME_SIZE = 256
type VK_MAX_EXTENSION_NAME_SIZE = 256
pattern VK_MAX_DESCRIPTION_SIZE = 256
type VK_MAX_DESCRIPTION_SIZE = 256
vkNullHandle = 0
pattern VK_TRUE = 1
type VK_TRUE = 1