xref: /aosp_15_r20/external/virglrenderer/src/venus/vkr_instance.h (revision bbecb9d118dfdb95f99bd754f8fa9be01f189df3)
1*bbecb9d1SAndroid Build Coastguard Worker /*
2*bbecb9d1SAndroid Build Coastguard Worker  * Copyright 2020 Google LLC
3*bbecb9d1SAndroid Build Coastguard Worker  * SPDX-License-Identifier: MIT
4*bbecb9d1SAndroid Build Coastguard Worker  */
5*bbecb9d1SAndroid Build Coastguard Worker 
6*bbecb9d1SAndroid Build Coastguard Worker #ifndef VKR_INSTANCE_H
7*bbecb9d1SAndroid Build Coastguard Worker #define VKR_INSTANCE_H
8*bbecb9d1SAndroid Build Coastguard Worker 
9*bbecb9d1SAndroid Build Coastguard Worker #include "vkr_common.h"
10*bbecb9d1SAndroid Build Coastguard Worker 
11*bbecb9d1SAndroid Build Coastguard Worker struct vkr_instance {
12*bbecb9d1SAndroid Build Coastguard Worker    struct vkr_object base;
13*bbecb9d1SAndroid Build Coastguard Worker 
14*bbecb9d1SAndroid Build Coastguard Worker    uint32_t api_version;
15*bbecb9d1SAndroid Build Coastguard Worker    PFN_vkCreateDebugUtilsMessengerEXT create_debug_utils_messenger;
16*bbecb9d1SAndroid Build Coastguard Worker    PFN_vkDestroyDebugUtilsMessengerEXT destroy_debug_utils_messenger;
17*bbecb9d1SAndroid Build Coastguard Worker    VkDebugUtilsMessengerEXT validation_messenger;
18*bbecb9d1SAndroid Build Coastguard Worker 
19*bbecb9d1SAndroid Build Coastguard Worker    uint32_t physical_device_count;
20*bbecb9d1SAndroid Build Coastguard Worker    VkPhysicalDevice *physical_device_handles;
21*bbecb9d1SAndroid Build Coastguard Worker    struct vkr_physical_device **physical_devices;
22*bbecb9d1SAndroid Build Coastguard Worker };
23*bbecb9d1SAndroid Build Coastguard Worker VKR_DEFINE_OBJECT_CAST(instance, VK_OBJECT_TYPE_INSTANCE, VkInstance)
24*bbecb9d1SAndroid Build Coastguard Worker 
25*bbecb9d1SAndroid Build Coastguard Worker void
26*bbecb9d1SAndroid Build Coastguard Worker vkr_context_init_instance_dispatch(struct vkr_context *ctx);
27*bbecb9d1SAndroid Build Coastguard Worker 
28*bbecb9d1SAndroid Build Coastguard Worker void
29*bbecb9d1SAndroid Build Coastguard Worker vkr_instance_destroy(struct vkr_context *ctx, struct vkr_instance *instance);
30*bbecb9d1SAndroid Build Coastguard Worker 
31*bbecb9d1SAndroid Build Coastguard Worker #endif /* VKR_INSTANCE_H */
32