/* WARNING: This is auto-generated file. Do not modify, since changes will
 * be lost! Modify the generating script instead.
 */
enum HandleType
{
	HANDLE_TYPE_INSTANCE = 0,
	HANDLE_TYPE_PHYSICAL_DEVICE,
	HANDLE_TYPE_DEVICE,
	HANDLE_TYPE_QUEUE,
	HANDLE_TYPE_SEMAPHORE,
	HANDLE_TYPE_COMMAND_BUFFER,
	HANDLE_TYPE_FENCE,
	HANDLE_TYPE_DEVICE_MEMORY,
	HANDLE_TYPE_BUFFER,
	HANDLE_TYPE_IMAGE,
	HANDLE_TYPE_EVENT,
	HANDLE_TYPE_QUERY_POOL,
	HANDLE_TYPE_BUFFER_VIEW,
	HANDLE_TYPE_IMAGE_VIEW,
	HANDLE_TYPE_SHADER_MODULE,
	HANDLE_TYPE_PIPELINE_CACHE,
	HANDLE_TYPE_PIPELINE_LAYOUT,
	HANDLE_TYPE_RENDER_PASS,
	HANDLE_TYPE_PIPELINE,
	HANDLE_TYPE_DESCRIPTOR_SET_LAYOUT,
	HANDLE_TYPE_SAMPLER,
	HANDLE_TYPE_DESCRIPTOR_POOL,
	HANDLE_TYPE_DESCRIPTOR_SET,
	HANDLE_TYPE_FRAMEBUFFER,
	HANDLE_TYPE_COMMAND_POOL,
	HANDLE_TYPE_SURFACE_KHR,
	HANDLE_TYPE_SWAPCHAIN_KHR,
	HANDLE_TYPE_DISPLAY_KHR,
	HANDLE_TYPE_DISPLAY_MODE_KHR,
	HANDLE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR,
	HANDLE_TYPE_SAMPLER_YCBCR_CONVERSION_KHR,
	HANDLE_TYPE_DEBUG_REPORT_CALLBACK_EXT,
	HANDLE_TYPE_LAST
};

