{-# language CPP #-}
-- No documentation found for Chapter "ObjectType"
module Vulkan.Core10.Enums.ObjectType  (ObjectType( OBJECT_TYPE_UNKNOWN
                                                  , OBJECT_TYPE_INSTANCE
                                                  , OBJECT_TYPE_PHYSICAL_DEVICE
                                                  , OBJECT_TYPE_DEVICE
                                                  , OBJECT_TYPE_QUEUE
                                                  , OBJECT_TYPE_SEMAPHORE
                                                  , OBJECT_TYPE_COMMAND_BUFFER
                                                  , OBJECT_TYPE_FENCE
                                                  , OBJECT_TYPE_DEVICE_MEMORY
                                                  , OBJECT_TYPE_BUFFER
                                                  , OBJECT_TYPE_IMAGE
                                                  , OBJECT_TYPE_EVENT
                                                  , OBJECT_TYPE_QUERY_POOL
                                                  , OBJECT_TYPE_BUFFER_VIEW
                                                  , OBJECT_TYPE_IMAGE_VIEW
                                                  , OBJECT_TYPE_SHADER_MODULE
                                                  , OBJECT_TYPE_PIPELINE_CACHE
                                                  , OBJECT_TYPE_PIPELINE_LAYOUT
                                                  , OBJECT_TYPE_RENDER_PASS
                                                  , OBJECT_TYPE_PIPELINE
                                                  , OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT
                                                  , OBJECT_TYPE_SAMPLER
                                                  , OBJECT_TYPE_DESCRIPTOR_POOL
                                                  , OBJECT_TYPE_DESCRIPTOR_SET
                                                  , OBJECT_TYPE_FRAMEBUFFER
                                                  , OBJECT_TYPE_COMMAND_POOL
                                                  , OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA
                                                  , OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT
                                                  , OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV
                                                  , OBJECT_TYPE_DEFERRED_OPERATION_KHR
                                                  , OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL
                                                  , OBJECT_TYPE_ACCELERATION_STRUCTURE_NV
                                                  , OBJECT_TYPE_VALIDATION_CACHE_EXT
                                                  , OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR
                                                  , OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT
                                                  , OBJECT_TYPE_CU_FUNCTION_NVX
                                                  , OBJECT_TYPE_CU_MODULE_NVX
                                                  , OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT
                                                  , OBJECT_TYPE_DISPLAY_MODE_KHR
                                                  , OBJECT_TYPE_DISPLAY_KHR
                                                  , OBJECT_TYPE_SWAPCHAIN_KHR
                                                  , OBJECT_TYPE_SURFACE_KHR
                                                  , OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE
                                                  , OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION
                                                  , ..
                                                  )) where

import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showsPrec)
import Vulkan.Zero (Zero)
import Foreign.Storable (Storable)
import Data.Int (Int32)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))

-- | VkObjectType - Specify an enumeration to track object handle types
--
-- = Description
--
-- \'
--
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'ObjectType'                                  | Vulkan Handle Type                                        |
-- +===============================================+===========================================================+
-- | 'OBJECT_TYPE_UNKNOWN'                         | Unknown\/Undefined Handle                                 |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_INSTANCE'                        | 'Vulkan.Core10.Handles.Instance'                          |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_PHYSICAL_DEVICE'                 | 'Vulkan.Core10.Handles.PhysicalDevice'                    |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_DEVICE'                          | 'Vulkan.Core10.Handles.Device'                            |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_QUEUE'                           | 'Vulkan.Core10.Handles.Queue'                             |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_SEMAPHORE'                       | 'Vulkan.Core10.Handles.Semaphore'                         |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_COMMAND_BUFFER'                  | 'Vulkan.Core10.Handles.CommandBuffer'                     |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_FENCE'                           | 'Vulkan.Core10.Handles.Fence'                             |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_DEVICE_MEMORY'                   | 'Vulkan.Core10.Handles.DeviceMemory'                      |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_BUFFER'                          | 'Vulkan.Core10.Handles.Buffer'                            |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_IMAGE'                           | 'Vulkan.Core10.Handles.Image'                             |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_EVENT'                           | 'Vulkan.Core10.Handles.Event'                             |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_QUERY_POOL'                      | 'Vulkan.Core10.Handles.QueryPool'                         |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_BUFFER_VIEW'                     | 'Vulkan.Core10.Handles.BufferView'                        |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_IMAGE_VIEW'                      | 'Vulkan.Core10.Handles.ImageView'                         |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_SHADER_MODULE'                   | 'Vulkan.Core10.Handles.ShaderModule'                      |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_PIPELINE_CACHE'                  | 'Vulkan.Core10.Handles.PipelineCache'                     |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_PIPELINE_LAYOUT'                 | 'Vulkan.Core10.Handles.PipelineLayout'                    |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_RENDER_PASS'                     | 'Vulkan.Core10.Handles.RenderPass'                        |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_PIPELINE'                        | 'Vulkan.Core10.Handles.Pipeline'                          |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT'           | 'Vulkan.Core10.Handles.DescriptorSetLayout'               |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_SAMPLER'                         | 'Vulkan.Core10.Handles.Sampler'                           |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_DESCRIPTOR_POOL'                 | 'Vulkan.Core10.Handles.DescriptorPool'                    |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_DESCRIPTOR_SET'                  | 'Vulkan.Core10.Handles.DescriptorSet'                     |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_FRAMEBUFFER'                     | 'Vulkan.Core10.Handles.Framebuffer'                       |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_COMMAND_POOL'                    | 'Vulkan.Core10.Handles.CommandPool'                       |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION'        | 'Vulkan.Core11.Handles.SamplerYcbcrConversion'            |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE'      | 'Vulkan.Core11.Handles.DescriptorUpdateTemplate'          |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_SURFACE_KHR'                     | 'Vulkan.Extensions.Handles.SurfaceKHR'                    |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_SWAPCHAIN_KHR'                   | 'Vulkan.Extensions.Handles.SwapchainKHR'                  |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_DISPLAY_KHR'                     | 'Vulkan.Extensions.Handles.DisplayKHR'                    |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_DISPLAY_MODE_KHR'                | 'Vulkan.Extensions.Handles.DisplayModeKHR'                |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT'       | 'Vulkan.Extensions.Handles.DebugReportCallbackEXT'        |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV'     | 'Vulkan.Extensions.Handles.IndirectCommandsLayoutNV'      |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT'       | 'Vulkan.Extensions.Handles.DebugUtilsMessengerEXT'        |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_VALIDATION_CACHE_EXT'            | 'Vulkan.Extensions.Handles.ValidationCacheEXT'            |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_ACCELERATION_STRUCTURE_NV'       | 'Vulkan.Extensions.Handles.AccelerationStructureNV'       |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR'      | 'Vulkan.Extensions.Handles.AccelerationStructureKHR'      |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL' | 'Vulkan.Extensions.Handles.PerformanceConfigurationINTEL' |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_DEFERRED_OPERATION_KHR'          | 'Vulkan.Extensions.Handles.DeferredOperationKHR'          |
-- +-----------------------------------------------+-----------------------------------------------------------+
-- | 'OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT'           | 'Vulkan.Extensions.Handles.PrivateDataSlotEXT'            |
-- +-----------------------------------------------+-----------------------------------------------------------+
--
-- 'ObjectType' and Vulkan Handle Relationship
--
-- = See Also
--
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
-- 'Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectNameInfoEXT',
-- 'Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectTagInfoEXT',
-- 'Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT',
-- 'Vulkan.Extensions.VK_EXT_private_data.getPrivateDataEXT',
-- 'Vulkan.Extensions.VK_EXT_private_data.setPrivateDataEXT'
newtype ObjectType = ObjectType Int32
  deriving newtype (ObjectType -> ObjectType -> Bool
(ObjectType -> ObjectType -> Bool)
-> (ObjectType -> ObjectType -> Bool) -> Eq ObjectType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ObjectType -> ObjectType -> Bool
$c/= :: ObjectType -> ObjectType -> Bool
== :: ObjectType -> ObjectType -> Bool
$c== :: ObjectType -> ObjectType -> Bool
Eq, Eq ObjectType
Eq ObjectType
-> (ObjectType -> ObjectType -> Ordering)
-> (ObjectType -> ObjectType -> Bool)
-> (ObjectType -> ObjectType -> Bool)
-> (ObjectType -> ObjectType -> Bool)
-> (ObjectType -> ObjectType -> Bool)
-> (ObjectType -> ObjectType -> ObjectType)
-> (ObjectType -> ObjectType -> ObjectType)
-> Ord ObjectType
ObjectType -> ObjectType -> Bool
ObjectType -> ObjectType -> Ordering
ObjectType -> ObjectType -> ObjectType
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ObjectType -> ObjectType -> ObjectType
$cmin :: ObjectType -> ObjectType -> ObjectType
max :: ObjectType -> ObjectType -> ObjectType
$cmax :: ObjectType -> ObjectType -> ObjectType
>= :: ObjectType -> ObjectType -> Bool
$c>= :: ObjectType -> ObjectType -> Bool
> :: ObjectType -> ObjectType -> Bool
$c> :: ObjectType -> ObjectType -> Bool
<= :: ObjectType -> ObjectType -> Bool
$c<= :: ObjectType -> ObjectType -> Bool
< :: ObjectType -> ObjectType -> Bool
$c< :: ObjectType -> ObjectType -> Bool
compare :: ObjectType -> ObjectType -> Ordering
$ccompare :: ObjectType -> ObjectType -> Ordering
$cp1Ord :: Eq ObjectType
Ord, Ptr b -> Int -> IO ObjectType
Ptr b -> Int -> ObjectType -> IO ()
Ptr ObjectType -> IO ObjectType
Ptr ObjectType -> Int -> IO ObjectType
Ptr ObjectType -> Int -> ObjectType -> IO ()
Ptr ObjectType -> ObjectType -> IO ()
ObjectType -> Int
(ObjectType -> Int)
-> (ObjectType -> Int)
-> (Ptr ObjectType -> Int -> IO ObjectType)
-> (Ptr ObjectType -> Int -> ObjectType -> IO ())
-> (forall b. Ptr b -> Int -> IO ObjectType)
-> (forall b. Ptr b -> Int -> ObjectType -> IO ())
-> (Ptr ObjectType -> IO ObjectType)
-> (Ptr ObjectType -> ObjectType -> IO ())
-> Storable ObjectType
forall b. Ptr b -> Int -> IO ObjectType
forall b. Ptr b -> Int -> ObjectType -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
poke :: Ptr ObjectType -> ObjectType -> IO ()
$cpoke :: Ptr ObjectType -> ObjectType -> IO ()
peek :: Ptr ObjectType -> IO ObjectType
$cpeek :: Ptr ObjectType -> IO ObjectType
pokeByteOff :: Ptr b -> Int -> ObjectType -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ObjectType -> IO ()
peekByteOff :: Ptr b -> Int -> IO ObjectType
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ObjectType
pokeElemOff :: Ptr ObjectType -> Int -> ObjectType -> IO ()
$cpokeElemOff :: Ptr ObjectType -> Int -> ObjectType -> IO ()
peekElemOff :: Ptr ObjectType -> Int -> IO ObjectType
$cpeekElemOff :: Ptr ObjectType -> Int -> IO ObjectType
alignment :: ObjectType -> Int
$calignment :: ObjectType -> Int
sizeOf :: ObjectType -> Int
$csizeOf :: ObjectType -> Int
Storable, ObjectType
ObjectType -> Zero ObjectType
forall a. a -> Zero a
zero :: ObjectType
$czero :: ObjectType
Zero)

-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_UNKNOWN"
pattern $bOBJECT_TYPE_UNKNOWN :: ObjectType
$mOBJECT_TYPE_UNKNOWN :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_UNKNOWN                         = ObjectType 0
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_INSTANCE"
pattern $bOBJECT_TYPE_INSTANCE :: ObjectType
$mOBJECT_TYPE_INSTANCE :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_INSTANCE                        = ObjectType 1
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_PHYSICAL_DEVICE"
pattern $bOBJECT_TYPE_PHYSICAL_DEVICE :: ObjectType
$mOBJECT_TYPE_PHYSICAL_DEVICE :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_PHYSICAL_DEVICE                 = ObjectType 2
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_DEVICE"
pattern $bOBJECT_TYPE_DEVICE :: ObjectType
$mOBJECT_TYPE_DEVICE :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_DEVICE                          = ObjectType 3
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_QUEUE"
pattern $bOBJECT_TYPE_QUEUE :: ObjectType
$mOBJECT_TYPE_QUEUE :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_QUEUE                           = ObjectType 4
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_SEMAPHORE"
pattern $bOBJECT_TYPE_SEMAPHORE :: ObjectType
$mOBJECT_TYPE_SEMAPHORE :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_SEMAPHORE                       = ObjectType 5
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_COMMAND_BUFFER"
pattern $bOBJECT_TYPE_COMMAND_BUFFER :: ObjectType
$mOBJECT_TYPE_COMMAND_BUFFER :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_COMMAND_BUFFER                  = ObjectType 6
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_FENCE"
pattern $bOBJECT_TYPE_FENCE :: ObjectType
$mOBJECT_TYPE_FENCE :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_FENCE                           = ObjectType 7
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_DEVICE_MEMORY"
pattern $bOBJECT_TYPE_DEVICE_MEMORY :: ObjectType
$mOBJECT_TYPE_DEVICE_MEMORY :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_DEVICE_MEMORY                   = ObjectType 8
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_BUFFER"
pattern $bOBJECT_TYPE_BUFFER :: ObjectType
$mOBJECT_TYPE_BUFFER :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_BUFFER                          = ObjectType 9
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_IMAGE"
pattern $bOBJECT_TYPE_IMAGE :: ObjectType
$mOBJECT_TYPE_IMAGE :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_IMAGE                           = ObjectType 10
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_EVENT"
pattern $bOBJECT_TYPE_EVENT :: ObjectType
$mOBJECT_TYPE_EVENT :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_EVENT                           = ObjectType 11
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_QUERY_POOL"
pattern $bOBJECT_TYPE_QUERY_POOL :: ObjectType
$mOBJECT_TYPE_QUERY_POOL :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_QUERY_POOL                      = ObjectType 12
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_BUFFER_VIEW"
pattern $bOBJECT_TYPE_BUFFER_VIEW :: ObjectType
$mOBJECT_TYPE_BUFFER_VIEW :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_BUFFER_VIEW                     = ObjectType 13
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_IMAGE_VIEW"
pattern $bOBJECT_TYPE_IMAGE_VIEW :: ObjectType
$mOBJECT_TYPE_IMAGE_VIEW :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_IMAGE_VIEW                      = ObjectType 14
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_SHADER_MODULE"
pattern $bOBJECT_TYPE_SHADER_MODULE :: ObjectType
$mOBJECT_TYPE_SHADER_MODULE :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_SHADER_MODULE                   = ObjectType 15
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_PIPELINE_CACHE"
pattern $bOBJECT_TYPE_PIPELINE_CACHE :: ObjectType
$mOBJECT_TYPE_PIPELINE_CACHE :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_PIPELINE_CACHE                  = ObjectType 16
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_PIPELINE_LAYOUT"
pattern $bOBJECT_TYPE_PIPELINE_LAYOUT :: ObjectType
$mOBJECT_TYPE_PIPELINE_LAYOUT :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_PIPELINE_LAYOUT                 = ObjectType 17
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_RENDER_PASS"
pattern $bOBJECT_TYPE_RENDER_PASS :: ObjectType
$mOBJECT_TYPE_RENDER_PASS :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_RENDER_PASS                     = ObjectType 18
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_PIPELINE"
pattern $bOBJECT_TYPE_PIPELINE :: ObjectType
$mOBJECT_TYPE_PIPELINE :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_PIPELINE                        = ObjectType 19
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT"
pattern $bOBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: ObjectType
$mOBJECT_TYPE_DESCRIPTOR_SET_LAYOUT :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT           = ObjectType 20
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_SAMPLER"
pattern $bOBJECT_TYPE_SAMPLER :: ObjectType
$mOBJECT_TYPE_SAMPLER :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_SAMPLER                         = ObjectType 21
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_DESCRIPTOR_POOL"
pattern $bOBJECT_TYPE_DESCRIPTOR_POOL :: ObjectType
$mOBJECT_TYPE_DESCRIPTOR_POOL :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_DESCRIPTOR_POOL                 = ObjectType 22
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_DESCRIPTOR_SET"
pattern $bOBJECT_TYPE_DESCRIPTOR_SET :: ObjectType
$mOBJECT_TYPE_DESCRIPTOR_SET :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_DESCRIPTOR_SET                  = ObjectType 23
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_FRAMEBUFFER"
pattern $bOBJECT_TYPE_FRAMEBUFFER :: ObjectType
$mOBJECT_TYPE_FRAMEBUFFER :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_FRAMEBUFFER                     = ObjectType 24
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_COMMAND_POOL"
pattern $bOBJECT_TYPE_COMMAND_POOL :: ObjectType
$mOBJECT_TYPE_COMMAND_POOL :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_COMMAND_POOL                    = ObjectType 25
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA"
pattern $bOBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA :: ObjectType
$mOBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA       = ObjectType 1000366000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT"
pattern $bOBJECT_TYPE_PRIVATE_DATA_SLOT_EXT :: ObjectType
$mOBJECT_TYPE_PRIVATE_DATA_SLOT_EXT :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT           = ObjectType 1000295000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV"
pattern $bOBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV :: ObjectType
$mOBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV     = ObjectType 1000277000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR"
pattern $bOBJECT_TYPE_DEFERRED_OPERATION_KHR :: ObjectType
$mOBJECT_TYPE_DEFERRED_OPERATION_KHR :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_DEFERRED_OPERATION_KHR          = ObjectType 1000268000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL"
pattern $bOBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL :: ObjectType
$mOBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = ObjectType 1000210000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV"
pattern $bOBJECT_TYPE_ACCELERATION_STRUCTURE_NV :: ObjectType
$mOBJECT_TYPE_ACCELERATION_STRUCTURE_NV :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_ACCELERATION_STRUCTURE_NV       = ObjectType 1000165000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_VALIDATION_CACHE_EXT"
pattern $bOBJECT_TYPE_VALIDATION_CACHE_EXT :: ObjectType
$mOBJECT_TYPE_VALIDATION_CACHE_EXT :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_VALIDATION_CACHE_EXT            = ObjectType 1000160000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR"
pattern $bOBJECT_TYPE_ACCELERATION_STRUCTURE_KHR :: ObjectType
$mOBJECT_TYPE_ACCELERATION_STRUCTURE_KHR :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR      = ObjectType 1000150000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT"
pattern $bOBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT :: ObjectType
$mOBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT       = ObjectType 1000128000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_CU_FUNCTION_NVX"
pattern $bOBJECT_TYPE_CU_FUNCTION_NVX :: ObjectType
$mOBJECT_TYPE_CU_FUNCTION_NVX :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_CU_FUNCTION_NVX                 = ObjectType 1000029001
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_CU_MODULE_NVX"
pattern $bOBJECT_TYPE_CU_MODULE_NVX :: ObjectType
$mOBJECT_TYPE_CU_MODULE_NVX :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_CU_MODULE_NVX                   = ObjectType 1000029000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT"
pattern $bOBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT :: ObjectType
$mOBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT       = ObjectType 1000011000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_DISPLAY_MODE_KHR"
pattern $bOBJECT_TYPE_DISPLAY_MODE_KHR :: ObjectType
$mOBJECT_TYPE_DISPLAY_MODE_KHR :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_DISPLAY_MODE_KHR                = ObjectType 1000002001
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_DISPLAY_KHR"
pattern $bOBJECT_TYPE_DISPLAY_KHR :: ObjectType
$mOBJECT_TYPE_DISPLAY_KHR :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_DISPLAY_KHR                     = ObjectType 1000002000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_SWAPCHAIN_KHR"
pattern $bOBJECT_TYPE_SWAPCHAIN_KHR :: ObjectType
$mOBJECT_TYPE_SWAPCHAIN_KHR :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_SWAPCHAIN_KHR                   = ObjectType 1000001000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_SURFACE_KHR"
pattern $bOBJECT_TYPE_SURFACE_KHR :: ObjectType
$mOBJECT_TYPE_SURFACE_KHR :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_SURFACE_KHR                     = ObjectType 1000000000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE"
pattern $bOBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: ObjectType
$mOBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE      = ObjectType 1000085000
-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION"
pattern $bOBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: ObjectType
$mOBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: forall r. ObjectType -> (Void# -> r) -> (Void# -> r) -> r
OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION        = ObjectType 1000156000
{-# complete OBJECT_TYPE_UNKNOWN,
             OBJECT_TYPE_INSTANCE,
             OBJECT_TYPE_PHYSICAL_DEVICE,
             OBJECT_TYPE_DEVICE,
             OBJECT_TYPE_QUEUE,
             OBJECT_TYPE_SEMAPHORE,
             OBJECT_TYPE_COMMAND_BUFFER,
             OBJECT_TYPE_FENCE,
             OBJECT_TYPE_DEVICE_MEMORY,
             OBJECT_TYPE_BUFFER,
             OBJECT_TYPE_IMAGE,
             OBJECT_TYPE_EVENT,
             OBJECT_TYPE_QUERY_POOL,
             OBJECT_TYPE_BUFFER_VIEW,
             OBJECT_TYPE_IMAGE_VIEW,
             OBJECT_TYPE_SHADER_MODULE,
             OBJECT_TYPE_PIPELINE_CACHE,
             OBJECT_TYPE_PIPELINE_LAYOUT,
             OBJECT_TYPE_RENDER_PASS,
             OBJECT_TYPE_PIPELINE,
             OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT,
             OBJECT_TYPE_SAMPLER,
             OBJECT_TYPE_DESCRIPTOR_POOL,
             OBJECT_TYPE_DESCRIPTOR_SET,
             OBJECT_TYPE_FRAMEBUFFER,
             OBJECT_TYPE_COMMAND_POOL,
             OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA,
             OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT,
             OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV,
             OBJECT_TYPE_DEFERRED_OPERATION_KHR,
             OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL,
             OBJECT_TYPE_ACCELERATION_STRUCTURE_NV,
             OBJECT_TYPE_VALIDATION_CACHE_EXT,
             OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
             OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT,
             OBJECT_TYPE_CU_FUNCTION_NVX,
             OBJECT_TYPE_CU_MODULE_NVX,
             OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT,
             OBJECT_TYPE_DISPLAY_MODE_KHR,
             OBJECT_TYPE_DISPLAY_KHR,
             OBJECT_TYPE_SWAPCHAIN_KHR,
             OBJECT_TYPE_SURFACE_KHR,
             OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
             OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION :: ObjectType #-}

conNameObjectType :: String
conNameObjectType :: String
conNameObjectType = String
"ObjectType"

enumPrefixObjectType :: String
enumPrefixObjectType :: String
enumPrefixObjectType = String
"OBJECT_TYPE_"

showTableObjectType :: [(ObjectType, String)]
showTableObjectType :: [(ObjectType, String)]
showTableObjectType =
  [ (ObjectType
OBJECT_TYPE_UNKNOWN                        , String
"UNKNOWN")
  , (ObjectType
OBJECT_TYPE_INSTANCE                       , String
"INSTANCE")
  , (ObjectType
OBJECT_TYPE_PHYSICAL_DEVICE                , String
"PHYSICAL_DEVICE")
  , (ObjectType
OBJECT_TYPE_DEVICE                         , String
"DEVICE")
  , (ObjectType
OBJECT_TYPE_QUEUE                          , String
"QUEUE")
  , (ObjectType
OBJECT_TYPE_SEMAPHORE                      , String
"SEMAPHORE")
  , (ObjectType
OBJECT_TYPE_COMMAND_BUFFER                 , String
"COMMAND_BUFFER")
  , (ObjectType
OBJECT_TYPE_FENCE                          , String
"FENCE")
  , (ObjectType
OBJECT_TYPE_DEVICE_MEMORY                  , String
"DEVICE_MEMORY")
  , (ObjectType
OBJECT_TYPE_BUFFER                         , String
"BUFFER")
  , (ObjectType
OBJECT_TYPE_IMAGE                          , String
"IMAGE")
  , (ObjectType
OBJECT_TYPE_EVENT                          , String
"EVENT")
  , (ObjectType
OBJECT_TYPE_QUERY_POOL                     , String
"QUERY_POOL")
  , (ObjectType
OBJECT_TYPE_BUFFER_VIEW                    , String
"BUFFER_VIEW")
  , (ObjectType
OBJECT_TYPE_IMAGE_VIEW                     , String
"IMAGE_VIEW")
  , (ObjectType
OBJECT_TYPE_SHADER_MODULE                  , String
"SHADER_MODULE")
  , (ObjectType
OBJECT_TYPE_PIPELINE_CACHE                 , String
"PIPELINE_CACHE")
  , (ObjectType
OBJECT_TYPE_PIPELINE_LAYOUT                , String
"PIPELINE_LAYOUT")
  , (ObjectType
OBJECT_TYPE_RENDER_PASS                    , String
"RENDER_PASS")
  , (ObjectType
OBJECT_TYPE_PIPELINE                       , String
"PIPELINE")
  , (ObjectType
OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT          , String
"DESCRIPTOR_SET_LAYOUT")
  , (ObjectType
OBJECT_TYPE_SAMPLER                        , String
"SAMPLER")
  , (ObjectType
OBJECT_TYPE_DESCRIPTOR_POOL                , String
"DESCRIPTOR_POOL")
  , (ObjectType
OBJECT_TYPE_DESCRIPTOR_SET                 , String
"DESCRIPTOR_SET")
  , (ObjectType
OBJECT_TYPE_FRAMEBUFFER                    , String
"FRAMEBUFFER")
  , (ObjectType
OBJECT_TYPE_COMMAND_POOL                   , String
"COMMAND_POOL")
  , (ObjectType
OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA      , String
"BUFFER_COLLECTION_FUCHSIA")
  , (ObjectType
OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT          , String
"PRIVATE_DATA_SLOT_EXT")
  , (ObjectType
OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV    , String
"INDIRECT_COMMANDS_LAYOUT_NV")
  , (ObjectType
OBJECT_TYPE_DEFERRED_OPERATION_KHR         , String
"DEFERRED_OPERATION_KHR")
  , (ObjectType
OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL, String
"PERFORMANCE_CONFIGURATION_INTEL")
  , (ObjectType
OBJECT_TYPE_ACCELERATION_STRUCTURE_NV      , String
"ACCELERATION_STRUCTURE_NV")
  , (ObjectType
OBJECT_TYPE_VALIDATION_CACHE_EXT           , String
"VALIDATION_CACHE_EXT")
  , (ObjectType
OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR     , String
"ACCELERATION_STRUCTURE_KHR")
  , (ObjectType
OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT      , String
"DEBUG_UTILS_MESSENGER_EXT")
  , (ObjectType
OBJECT_TYPE_CU_FUNCTION_NVX                , String
"CU_FUNCTION_NVX")
  , (ObjectType
OBJECT_TYPE_CU_MODULE_NVX                  , String
"CU_MODULE_NVX")
  , (ObjectType
OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT      , String
"DEBUG_REPORT_CALLBACK_EXT")
  , (ObjectType
OBJECT_TYPE_DISPLAY_MODE_KHR               , String
"DISPLAY_MODE_KHR")
  , (ObjectType
OBJECT_TYPE_DISPLAY_KHR                    , String
"DISPLAY_KHR")
  , (ObjectType
OBJECT_TYPE_SWAPCHAIN_KHR                  , String
"SWAPCHAIN_KHR")
  , (ObjectType
OBJECT_TYPE_SURFACE_KHR                    , String
"SURFACE_KHR")
  , (ObjectType
OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE     , String
"DESCRIPTOR_UPDATE_TEMPLATE")
  , (ObjectType
OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION       , String
"SAMPLER_YCBCR_CONVERSION")
  ]

instance Show ObjectType where
  showsPrec :: Int -> ObjectType -> ShowS
showsPrec =
    String
-> [(ObjectType, String)]
-> String
-> (ObjectType -> Int32)
-> (Int32 -> ShowS)
-> Int
-> ObjectType
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixObjectType [(ObjectType, String)]
showTableObjectType String
conNameObjectType (\(ObjectType Int32
x) -> Int32
x) (Int -> Int32 -> ShowS
forall a. Show a => Int -> a -> ShowS
showsPrec Int
11)

instance Read ObjectType where
  readPrec :: ReadPrec ObjectType
readPrec = String
-> [(ObjectType, String)]
-> String
-> (Int32 -> ObjectType)
-> ReadPrec ObjectType
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixObjectType [(ObjectType, String)]
showTableObjectType String
conNameObjectType Int32 -> ObjectType
ObjectType