{-# OPTIONS_HADDOCK ignore-exports#-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE Strict #-} module Graphics.Vulkan.Types.Enum.ObjectType (VkObjectType(VkObjectType, VK_OBJECT_TYPE_UNKNOWN, VK_OBJECT_TYPE_INSTANCE, VK_OBJECT_TYPE_PHYSICAL_DEVICE, VK_OBJECT_TYPE_DEVICE, VK_OBJECT_TYPE_QUEUE, VK_OBJECT_TYPE_SEMAPHORE, VK_OBJECT_TYPE_COMMAND_BUFFER, VK_OBJECT_TYPE_FENCE, VK_OBJECT_TYPE_DEVICE_MEMORY, VK_OBJECT_TYPE_BUFFER, VK_OBJECT_TYPE_IMAGE, VK_OBJECT_TYPE_EVENT, VK_OBJECT_TYPE_QUERY_POOL, VK_OBJECT_TYPE_BUFFER_VIEW, VK_OBJECT_TYPE_IMAGE_VIEW, VK_OBJECT_TYPE_SHADER_MODULE, VK_OBJECT_TYPE_PIPELINE_CACHE, VK_OBJECT_TYPE_PIPELINE_LAYOUT, VK_OBJECT_TYPE_RENDER_PASS, VK_OBJECT_TYPE_PIPELINE, VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, VK_OBJECT_TYPE_SAMPLER, VK_OBJECT_TYPE_DESCRIPTOR_POOL, VK_OBJECT_TYPE_DESCRIPTOR_SET, VK_OBJECT_TYPE_FRAMEBUFFER, VK_OBJECT_TYPE_COMMAND_POOL)) where import Foreign.Storable (Storable) import GHC.Read (choose, expectP) import Graphics.Vulkan.Marshal (Int32) import Text.ParserCombinators.ReadPrec (prec, step, (+++)) import Text.Read (Read (..), parens) import Text.Read.Lex (Lexeme (..)) -- | Enums to track objects of various types -- -- type = @enum@ -- -- -- newtype VkObjectType = VkObjectType Int32 deriving (Eq, Ord, Enum, Storable) instance Show VkObjectType where showsPrec _ VK_OBJECT_TYPE_UNKNOWN = showString "VK_OBJECT_TYPE_UNKNOWN" showsPrec _ VK_OBJECT_TYPE_INSTANCE = showString "VK_OBJECT_TYPE_INSTANCE" showsPrec _ VK_OBJECT_TYPE_PHYSICAL_DEVICE = showString "VK_OBJECT_TYPE_PHYSICAL_DEVICE" showsPrec _ VK_OBJECT_TYPE_DEVICE = showString "VK_OBJECT_TYPE_DEVICE" showsPrec _ VK_OBJECT_TYPE_QUEUE = showString "VK_OBJECT_TYPE_QUEUE" showsPrec _ VK_OBJECT_TYPE_SEMAPHORE = showString "VK_OBJECT_TYPE_SEMAPHORE" showsPrec _ VK_OBJECT_TYPE_COMMAND_BUFFER = showString "VK_OBJECT_TYPE_COMMAND_BUFFER" showsPrec _ VK_OBJECT_TYPE_FENCE = showString "VK_OBJECT_TYPE_FENCE" showsPrec _ VK_OBJECT_TYPE_DEVICE_MEMORY = showString "VK_OBJECT_TYPE_DEVICE_MEMORY" showsPrec _ VK_OBJECT_TYPE_BUFFER = showString "VK_OBJECT_TYPE_BUFFER" showsPrec _ VK_OBJECT_TYPE_IMAGE = showString "VK_OBJECT_TYPE_IMAGE" showsPrec _ VK_OBJECT_TYPE_EVENT = showString "VK_OBJECT_TYPE_EVENT" showsPrec _ VK_OBJECT_TYPE_QUERY_POOL = showString "VK_OBJECT_TYPE_QUERY_POOL" showsPrec _ VK_OBJECT_TYPE_BUFFER_VIEW = showString "VK_OBJECT_TYPE_BUFFER_VIEW" showsPrec _ VK_OBJECT_TYPE_IMAGE_VIEW = showString "VK_OBJECT_TYPE_IMAGE_VIEW" showsPrec _ VK_OBJECT_TYPE_SHADER_MODULE = showString "VK_OBJECT_TYPE_SHADER_MODULE" showsPrec _ VK_OBJECT_TYPE_PIPELINE_CACHE = showString "VK_OBJECT_TYPE_PIPELINE_CACHE" showsPrec _ VK_OBJECT_TYPE_PIPELINE_LAYOUT = showString "VK_OBJECT_TYPE_PIPELINE_LAYOUT" showsPrec _ VK_OBJECT_TYPE_RENDER_PASS = showString "VK_OBJECT_TYPE_RENDER_PASS" showsPrec _ VK_OBJECT_TYPE_PIPELINE = showString "VK_OBJECT_TYPE_PIPELINE" showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = showString "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT" showsPrec _ VK_OBJECT_TYPE_SAMPLER = showString "VK_OBJECT_TYPE_SAMPLER" showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_POOL = showString "VK_OBJECT_TYPE_DESCRIPTOR_POOL" showsPrec _ VK_OBJECT_TYPE_DESCRIPTOR_SET = showString "VK_OBJECT_TYPE_DESCRIPTOR_SET" showsPrec _ VK_OBJECT_TYPE_FRAMEBUFFER = showString "VK_OBJECT_TYPE_FRAMEBUFFER" showsPrec _ VK_OBJECT_TYPE_COMMAND_POOL = showString "VK_OBJECT_TYPE_COMMAND_POOL" showsPrec p (VkObjectType x) = showParen (p >= 11) (showString "VkObjectType " . showsPrec 11 x) instance Read VkObjectType where readPrec = parens (choose [("VK_OBJECT_TYPE_UNKNOWN", pure VK_OBJECT_TYPE_UNKNOWN), ("VK_OBJECT_TYPE_INSTANCE", pure VK_OBJECT_TYPE_INSTANCE), ("VK_OBJECT_TYPE_PHYSICAL_DEVICE", pure VK_OBJECT_TYPE_PHYSICAL_DEVICE), ("VK_OBJECT_TYPE_DEVICE", pure VK_OBJECT_TYPE_DEVICE), ("VK_OBJECT_TYPE_QUEUE", pure VK_OBJECT_TYPE_QUEUE), ("VK_OBJECT_TYPE_SEMAPHORE", pure VK_OBJECT_TYPE_SEMAPHORE), ("VK_OBJECT_TYPE_COMMAND_BUFFER", pure VK_OBJECT_TYPE_COMMAND_BUFFER), ("VK_OBJECT_TYPE_FENCE", pure VK_OBJECT_TYPE_FENCE), ("VK_OBJECT_TYPE_DEVICE_MEMORY", pure VK_OBJECT_TYPE_DEVICE_MEMORY), ("VK_OBJECT_TYPE_BUFFER", pure VK_OBJECT_TYPE_BUFFER), ("VK_OBJECT_TYPE_IMAGE", pure VK_OBJECT_TYPE_IMAGE), ("VK_OBJECT_TYPE_EVENT", pure VK_OBJECT_TYPE_EVENT), ("VK_OBJECT_TYPE_QUERY_POOL", pure VK_OBJECT_TYPE_QUERY_POOL), ("VK_OBJECT_TYPE_BUFFER_VIEW", pure VK_OBJECT_TYPE_BUFFER_VIEW), ("VK_OBJECT_TYPE_IMAGE_VIEW", pure VK_OBJECT_TYPE_IMAGE_VIEW), ("VK_OBJECT_TYPE_SHADER_MODULE", pure VK_OBJECT_TYPE_SHADER_MODULE), ("VK_OBJECT_TYPE_PIPELINE_CACHE", pure VK_OBJECT_TYPE_PIPELINE_CACHE), ("VK_OBJECT_TYPE_PIPELINE_LAYOUT", pure VK_OBJECT_TYPE_PIPELINE_LAYOUT), ("VK_OBJECT_TYPE_RENDER_PASS", pure VK_OBJECT_TYPE_RENDER_PASS), ("VK_OBJECT_TYPE_PIPELINE", pure VK_OBJECT_TYPE_PIPELINE), ("VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT", pure VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT), ("VK_OBJECT_TYPE_SAMPLER", pure VK_OBJECT_TYPE_SAMPLER), ("VK_OBJECT_TYPE_DESCRIPTOR_POOL", pure VK_OBJECT_TYPE_DESCRIPTOR_POOL), ("VK_OBJECT_TYPE_DESCRIPTOR_SET", pure VK_OBJECT_TYPE_DESCRIPTOR_SET), ("VK_OBJECT_TYPE_FRAMEBUFFER", pure VK_OBJECT_TYPE_FRAMEBUFFER), ("VK_OBJECT_TYPE_COMMAND_POOL", pure VK_OBJECT_TYPE_COMMAND_POOL)] +++ prec 10 (expectP (Ident "VkObjectType") >> (VkObjectType <$> step readPrec))) pattern VK_OBJECT_TYPE_UNKNOWN :: VkObjectType pattern VK_OBJECT_TYPE_UNKNOWN = VkObjectType 0 -- | VkInstance pattern VK_OBJECT_TYPE_INSTANCE :: VkObjectType pattern VK_OBJECT_TYPE_INSTANCE = VkObjectType 1 -- | VkPhysicalDevice pattern VK_OBJECT_TYPE_PHYSICAL_DEVICE :: VkObjectType pattern VK_OBJECT_TYPE_PHYSICAL_DEVICE = VkObjectType 2 -- | VkDevice pattern VK_OBJECT_TYPE_DEVICE :: VkObjectType pattern VK_OBJECT_TYPE_DEVICE = VkObjectType 3 -- | VkQueue pattern VK_OBJECT_TYPE_QUEUE :: VkObjectType pattern VK_OBJECT_TYPE_QUEUE = VkObjectType 4 -- | VkSemaphore pattern VK_OBJECT_TYPE_SEMAPHORE :: VkObjectType pattern VK_OBJECT_TYPE_SEMAPHORE = VkObjectType 5 -- | VkCommandBuffer pattern VK_OBJECT_TYPE_COMMAND_BUFFER :: VkObjectType pattern VK_OBJECT_TYPE_COMMAND_BUFFER = VkObjectType 6 -- | VkFence pattern VK_OBJECT_TYPE_FENCE :: VkObjectType pattern VK_OBJECT_TYPE_FENCE = VkObjectType 7 -- | VkDeviceMemory pattern VK_OBJECT_TYPE_DEVICE_MEMORY :: VkObjectType pattern VK_OBJECT_TYPE_DEVICE_MEMORY = VkObjectType 8 -- | VkBuffer pattern VK_OBJECT_TYPE_BUFFER :: VkObjectType pattern VK_OBJECT_TYPE_BUFFER = VkObjectType 9 -- | VkImage pattern VK_OBJECT_TYPE_IMAGE :: VkObjectType pattern VK_OBJECT_TYPE_IMAGE = VkObjectType 10 -- | VkEvent pattern VK_OBJECT_TYPE_EVENT :: VkObjectType pattern VK_OBJECT_TYPE_EVENT = VkObjectType 11 -- | VkQueryPool pattern VK_OBJECT_TYPE_QUERY_POOL :: VkObjectType pattern VK_OBJECT_TYPE_QUERY_POOL = VkObjectType 12 -- | VkBufferView pattern VK_OBJECT_TYPE_BUFFER_VIEW :: VkObjectType pattern VK_OBJECT_TYPE_BUFFER_VIEW = VkObjectType 13 -- | VkImageView pattern VK_OBJECT_TYPE_IMAGE_VIEW :: VkObjectType pattern VK_OBJECT_TYPE_IMAGE_VIEW = VkObjectType 14 -- | VkShaderModule pattern VK_OBJECT_TYPE_SHADER_MODULE :: VkObjectType pattern VK_OBJECT_TYPE_SHADER_MODULE = VkObjectType 15 -- | VkPipelineCache pattern VK_OBJECT_TYPE_PIPELINE_CACHE :: VkObjectType pattern VK_OBJECT_TYPE_PIPELINE_CACHE = VkObjectType 16 -- | VkPipelineLayout pattern VK_OBJECT_TYPE_PIPELINE_LAYOUT :: VkObjectType pattern VK_OBJECT_TYPE_PIPELINE_LAYOUT = VkObjectType 17 -- | VkRenderPass pattern VK_OBJECT_TYPE_RENDER_PASS :: VkObjectType pattern VK_OBJECT_TYPE_RENDER_PASS = VkObjectType 18 -- | VkPipeline pattern VK_OBJECT_TYPE_PIPELINE :: VkObjectType pattern VK_OBJECT_TYPE_PIPELINE = VkObjectType 19 -- | VkDescriptorSetLayout pattern VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: VkObjectType pattern VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = VkObjectType 20 -- | VkSampler pattern VK_OBJECT_TYPE_SAMPLER :: VkObjectType pattern VK_OBJECT_TYPE_SAMPLER = VkObjectType 21 -- | VkDescriptorPool pattern VK_OBJECT_TYPE_DESCRIPTOR_POOL :: VkObjectType pattern VK_OBJECT_TYPE_DESCRIPTOR_POOL = VkObjectType 22 -- | VkDescriptorSet pattern VK_OBJECT_TYPE_DESCRIPTOR_SET :: VkObjectType pattern VK_OBJECT_TYPE_DESCRIPTOR_SET = VkObjectType 23 -- | VkFramebuffer pattern VK_OBJECT_TYPE_FRAMEBUFFER :: VkObjectType pattern VK_OBJECT_TYPE_FRAMEBUFFER = VkObjectType 24 -- | VkCommandPool pattern VK_OBJECT_TYPE_COMMAND_POOL :: VkObjectType pattern VK_OBJECT_TYPE_COMMAND_POOL = VkObjectType 25