{-# 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_SHADER_EXT
                                                  , OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV
                                                  , OBJECT_TYPE_MICROMAP_EXT
                                                  , OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA
                                                  , OBJECT_TYPE_CUDA_FUNCTION_NV
                                                  , OBJECT_TYPE_CUDA_MODULE_NV
                                                  , 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_PRIVATE_DATA_SLOT
                                                  , 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_PRIVATE_DATA_SLOT'               | 'Vulkan.Core13.Handles.PrivateDataSlot'                                                                                                 |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | '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'                                                                                      |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | @VK_OBJECT_TYPE_VIDEO_SESSION_KHR@            | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionKHR VkVideoSessionKHR>                     |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | @VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR@ | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionParametersKHR VkVideoSessionParametersKHR> |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | 'OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT'       | 'Vulkan.Extensions.Handles.DebugUtilsMessengerEXT'                                                                                      |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | 'OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR'      | 'Vulkan.Extensions.Handles.AccelerationStructureKHR'                                                                                    |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | 'OBJECT_TYPE_VALIDATION_CACHE_EXT'            | 'Vulkan.Extensions.Handles.ValidationCacheEXT'                                                                                          |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | 'OBJECT_TYPE_ACCELERATION_STRUCTURE_NV'       | 'Vulkan.Extensions.Handles.AccelerationStructureNV'                                                                                     |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | 'OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL' | 'Vulkan.Extensions.Handles.PerformanceConfigurationINTEL'                                                                               |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | 'OBJECT_TYPE_DEFERRED_OPERATION_KHR'          | 'Vulkan.Extensions.Handles.DeferredOperationKHR'                                                                                        |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | 'OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV'     | 'Vulkan.Extensions.Handles.IndirectCommandsLayoutNV'                                                                                    |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | 'OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA'       | 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA'                                                                                     |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | 'OBJECT_TYPE_MICROMAP_EXT'                    | 'Vulkan.Extensions.Handles.MicromapEXT'                                                                                                 |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | 'OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV'         | 'Vulkan.Extensions.Handles.OpticalFlowSessionNV'                                                                                        |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
-- | 'OBJECT_TYPE_SHADER_EXT'                      | 'Vulkan.Extensions.Handles.ShaderEXT'                                                                                                   |
-- +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+
--
-- '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.Core13.Promoted_From_VK_EXT_private_data.getPrivateData',
-- 'Vulkan.Extensions.VK_EXT_private_data.getPrivateDataEXT',
-- 'Vulkan.Core13.Promoted_From_VK_EXT_private_data.setPrivateData',
-- 'Vulkan.Extensions.VK_EXT_private_data.setPrivateDataEXT'
newtype ObjectType = ObjectType Int32
  deriving newtype (ObjectType -> ObjectType -> Bool
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
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
Ord, Ptr ObjectType -> IO ObjectType
Ptr ObjectType -> Int -> IO ObjectType
Ptr ObjectType -> Int -> ObjectType -> IO ()
Ptr ObjectType -> ObjectType -> IO ()
ObjectType -> Int
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 :: forall b. Ptr b -> Int -> ObjectType -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ObjectType -> IO ()
peekByteOff :: forall b. 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
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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> r) -> r
OBJECT_TYPE_COMMAND_POOL = ObjectType 25

-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_SHADER_EXT"
pattern $bOBJECT_TYPE_SHADER_EXT :: ObjectType
$mOBJECT_TYPE_SHADER_EXT :: forall {r}. ObjectType -> ((# #) -> r) -> ((# #) -> r) -> r
OBJECT_TYPE_SHADER_EXT = ObjectType 1000482000

-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV"
pattern $bOBJECT_TYPE_OPTICAL_FLOW_SESSION_NV :: ObjectType
$mOBJECT_TYPE_OPTICAL_FLOW_SESSION_NV :: forall {r}. ObjectType -> ((# #) -> r) -> ((# #) -> r) -> r
OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = ObjectType 1000464000

-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_MICROMAP_EXT"
pattern $bOBJECT_TYPE_MICROMAP_EXT :: ObjectType
$mOBJECT_TYPE_MICROMAP_EXT :: forall {r}. ObjectType -> ((# #) -> r) -> ((# #) -> r) -> r
OBJECT_TYPE_MICROMAP_EXT = ObjectType 1000396000

-- 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 -> ((# #) -> r) -> ((# #) -> r) -> r
OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = ObjectType 1000366000

-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_CUDA_FUNCTION_NV"
pattern $bOBJECT_TYPE_CUDA_FUNCTION_NV :: ObjectType
$mOBJECT_TYPE_CUDA_FUNCTION_NV :: forall {r}. ObjectType -> ((# #) -> r) -> ((# #) -> r) -> r
OBJECT_TYPE_CUDA_FUNCTION_NV = ObjectType 1000307001

-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_CUDA_MODULE_NV"
pattern $bOBJECT_TYPE_CUDA_MODULE_NV :: ObjectType
$mOBJECT_TYPE_CUDA_MODULE_NV :: forall {r}. ObjectType -> ((# #) -> r) -> ((# #) -> r) -> r
OBJECT_TYPE_CUDA_MODULE_NV = ObjectType 1000307000

-- 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> r) -> r
OBJECT_TYPE_SURFACE_KHR = ObjectType 1000000000

-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT"
pattern $bOBJECT_TYPE_PRIVATE_DATA_SLOT :: ObjectType
$mOBJECT_TYPE_PRIVATE_DATA_SLOT :: forall {r}. ObjectType -> ((# #) -> r) -> ((# #) -> r) -> r
OBJECT_TYPE_PRIVATE_DATA_SLOT = ObjectType 1000295000

-- 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 -> ((# #) -> r) -> ((# #) -> 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 -> ((# #) -> r) -> ((# #) -> 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_SHADER_EXT
  , OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV
  , OBJECT_TYPE_MICROMAP_EXT
  , OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA
  , OBJECT_TYPE_CUDA_FUNCTION_NV
  , OBJECT_TYPE_CUDA_MODULE_NV
  , 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_PRIVATE_DATA_SLOT
  , 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_SHADER_EXT, String
"SHADER_EXT")
  ,
    ( ObjectType
OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV
    , String
"OPTICAL_FLOW_SESSION_NV"
    )
  , (ObjectType
OBJECT_TYPE_MICROMAP_EXT, String
"MICROMAP_EXT")
  ,
    ( ObjectType
OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA
    , String
"BUFFER_COLLECTION_FUCHSIA"
    )
  , (ObjectType
OBJECT_TYPE_CUDA_FUNCTION_NV, String
"CUDA_FUNCTION_NV")
  , (ObjectType
OBJECT_TYPE_CUDA_MODULE_NV, String
"CUDA_MODULE_NV")
  ,
    ( 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_PRIVATE_DATA_SLOT, String
"PRIVATE_DATA_SLOT")
  ,
    ( 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 =
    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)
      (forall a. Show a => Int -> a -> ShowS
showsPrec Int
11)

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