# VkObjectType(3) Manual Page

## Name

VkObjectType - Specify an enumeration to track object handle types

## C Specification

The VkObjectType enumeration defines values, each of which corresponds to a specific Vulkan handle type. These values can be used to associate debug information with a particular type of object through one or more extensions.

    typedef enum VkObjectType {
        VK_OBJECT_TYPE_UNKNOWN = 0,
        VK_OBJECT_TYPE_INSTANCE = 1,
        VK_OBJECT_TYPE_PHYSICAL_DEVICE = 2,
        VK_OBJECT_TYPE_DEVICE = 3,
        VK_OBJECT_TYPE_QUEUE = 4,
        VK_OBJECT_TYPE_SEMAPHORE = 5,
        VK_OBJECT_TYPE_COMMAND_BUFFER = 6,
        VK_OBJECT_TYPE_FENCE = 7,
        VK_OBJECT_TYPE_DEVICE_MEMORY = 8,
        VK_OBJECT_TYPE_BUFFER = 9,
        VK_OBJECT_TYPE_IMAGE = 10,
        VK_OBJECT_TYPE_EVENT = 11,
        VK_OBJECT_TYPE_QUERY_POOL = 12,
        VK_OBJECT_TYPE_BUFFER_VIEW = 13,
        VK_OBJECT_TYPE_IMAGE_VIEW = 14,
        VK_OBJECT_TYPE_SHADER_MODULE = 15,
        VK_OBJECT_TYPE_PIPELINE_CACHE = 16,
        VK_OBJECT_TYPE_PIPELINE_LAYOUT = 17,
        VK_OBJECT_TYPE_RENDER_PASS = 18,
        VK_OBJECT_TYPE_PIPELINE = 19,
        VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT = 20,
        VK_OBJECT_TYPE_SAMPLER = 21,
        VK_OBJECT_TYPE_DESCRIPTOR_POOL = 22,
        VK_OBJECT_TYPE_DESCRIPTOR_SET = 23,
        VK_OBJECT_TYPE_FRAMEBUFFER = 24,
        VK_OBJECT_TYPE_COMMAND_POOL = 25,
        VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION = 1000156000,
        VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE = 1000085000,
        VK_OBJECT_TYPE_SURFACE_KHR = 1000000000,
        VK_OBJECT_TYPE_SWAPCHAIN_KHR = 1000001000,
        VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000,
        VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001,
        VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000,
        VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000,
        VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR = 1000165000,
        VK_OBJECT_TYPE_VALIDATION_CACHE_EXT = 1000160000,
        VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000,
        VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000,
        VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
        VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
        VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
        VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV = VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR,
        VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
    } VkObjectType;

## Description

Table 1. VkObjectType and Vulkan Handle Relationship
VkObjectType | Vulkan Handle Type
--- | ---
`VK_OBJECT_TYPE_UNKNOWN` | Unknown/Undefined Handle
`VK_OBJECT_TYPE_INSTANCE` | VkInstance
`VK_OBJECT_TYPE_PHYSICAL_DEVICE` | VkPhysicalDevice
`VK_OBJECT_TYPE_DEVICE` | VkDevice
`VK_OBJECT_TYPE_QUEUE` | VkQueue
`VK_OBJECT_TYPE_SEMAPHORE` | VkSemaphore
`VK_OBJECT_TYPE_COMMAND_BUFFER` | VkCommandBuffer
`VK_OBJECT_TYPE_FENCE` | VkFence
`VK_OBJECT_TYPE_DEVICE_MEMORY` | VkDeviceMemory
`VK_OBJECT_TYPE_BUFFER` | VkBuffer
`VK_OBJECT_TYPE_IMAGE` | VkImage
`VK_OBJECT_TYPE_EVENT` | VkEvent
`VK_OBJECT_TYPE_QUERY_POOL` | VkQueryPool
`VK_OBJECT_TYPE_BUFFER_VIEW` | VkBufferView
`VK_OBJECT_TYPE_IMAGE_VIEW` | VkImageView
`VK_OBJECT_TYPE_SHADER_MODULE` | VkShaderModule
`VK_OBJECT_TYPE_PIPELINE_CACHE` | VkPipelineCache
`VK_OBJECT_TYPE_PIPELINE_LAYOUT` | VkPipelineLayout
`VK_OBJECT_TYPE_RENDER_PASS` | VkRenderPass
`VK_OBJECT_TYPE_PIPELINE` | VkPipeline
`VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT` | VkDescriptorSetLayout
`VK_OBJECT_TYPE_SAMPLER` | VkSampler
`VK_OBJECT_TYPE_DESCRIPTOR_POOL` | VkDescriptorPool
`VK_OBJECT_TYPE_DESCRIPTOR_SET` | VkDescriptorSet
`VK_OBJECT_TYPE_FRAMEBUFFER` | VkFramebuffer
`VK_OBJECT_TYPE_COMMAND_POOL` | VkCommandPool
`VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION` | VkSamplerYcbcrConversion
`VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE` | VkDescriptorUpdateTemplate
`VK_OBJECT_TYPE_SURFACE_KHR` | VkSurfaceKHR
`VK_OBJECT_TYPE_SWAPCHAIN_KHR` | VkSwapchainKHR
`VK_OBJECT_TYPE_DISPLAY_KHR` | VkDisplayKHR
`VK_OBJECT_TYPE_DISPLAY_MODE_KHR` | VkDisplayModeKHR
`VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT` | VkDebugReportCallbackEXT
`VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV` | VkIndirectCommandsLayoutNV
`VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT` | VkDebugUtilsMessengerEXT
`VK_OBJECT_TYPE_VALIDATION_CACHE_EXT` | VkValidationCacheEXT
`VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR` | VkAccelerationStructureKHR
`VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL` | VkPerformanceConfigurationINTEL

## See Also

VkDebugUtilsObjectNameInfoEXT, VkDebugUtilsObjectTagInfoEXT

## Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.