/* * Copyright 2020 Google LLC * SPDX-License-Identifier: MIT */ #ifndef VKR_INSTANCE_H #define VKR_INSTANCE_H #include "vkr_common.h" struct vkr_instance { struct vkr_object base; uint32_t api_version; PFN_vkCreateDebugUtilsMessengerEXT create_debug_utils_messenger; PFN_vkDestroyDebugUtilsMessengerEXT destroy_debug_utils_messenger; VkDebugUtilsMessengerEXT validation_messenger; uint32_t physical_device_count; VkPhysicalDevice *physical_device_handles; struct vkr_physical_device **physical_devices; }; VKR_DEFINE_OBJECT_CAST(instance, VK_OBJECT_TYPE_INSTANCE, VkInstance) void vkr_context_init_instance_dispatch(struct vkr_context *ctx); void vkr_instance_destroy(struct vkr_context *ctx, struct vkr_instance *instance); #endif /* VKR_INSTANCE_H */