c/vk: Make it possible to request higher Vulkan version

This commit is contained in:
Jakob Bornecrantz 2022-03-21 22:57:34 +00:00 committed by Jakob Bornecrantz
parent 8d660b6994
commit 074a0afc32
3 changed files with 7 additions and 1 deletions

View file

@ -701,6 +701,7 @@ compositor_init_vulkan(struct comp_compositor *c)
struct comp_vulkan_arguments vk_args = {
.get_instance_proc_address = vkGetInstanceProcAddr,
.required_instance_version = VK_MAKE_VERSION(1, 0, 0),
.required_instance_extensions = required_instance_ext_list,
.optional_instance_extensions = optional_instance_ext_list,
.required_device_extensions = required_device_extension_list,

View file

@ -109,6 +109,8 @@ create_instance(struct vk_bundle *vk, const struct comp_vulkan_arguments *vk_arg
{
VkResult ret;
assert(vk_args->required_instance_version != 0);
struct u_string_list *instance_ext_list = vk_build_instance_extensions(
vk, vk_args->required_instance_extensions, vk_args->optional_instance_extensions);
@ -123,7 +125,7 @@ create_instance(struct vk_bundle *vk, const struct comp_vulkan_arguments *vk_arg
.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO,
.pApplicationName = "Monado Compositor",
.pEngineName = "Monado",
.apiVersion = VK_MAKE_VERSION(1, 0, 2),
.apiVersion = vk_args->required_instance_version,
};
VkInstanceCreateInfo instance_info = {

View file

@ -25,6 +25,9 @@ extern "C" {
*/
struct comp_vulkan_arguments
{
//! Vulkan version that is required.
uint32_t required_instance_version;
//! Function to get all Vulkan functions from.
PFN_vkGetInstanceProcAddr get_instance_proc_address;