blob: 180b9211de5192004f4c9855c7578e249541f6d8 [file] [log] [blame]
/*
* 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 */