From 5449e2d3c549c172f0e81397a9f2be19b800f902 Mon Sep 17 00:00:00 2001 From: BearOso Date: Fri, 6 Sep 2024 13:35:46 -0500 Subject: [PATCH] vulkan: Fix compile errors reported in Issue #946. --- common/video/vulkan/vulkan_context.cpp | 10 ++++++++-- common/video/vulkan/vulkan_pipeline_image.cpp | 2 ++ common/video/vulkan/vulkan_shader_chain.cpp | 2 ++ common/video/vulkan/vulkan_texture.cpp | 2 ++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/common/video/vulkan/vulkan_context.cpp b/common/video/vulkan/vulkan_context.cpp index 2c803584..2e80fb3e 100644 --- a/common/video/vulkan/vulkan_context.cpp +++ b/common/video/vulkan/vulkan_context.cpp @@ -224,27 +224,33 @@ bool Context::init_device(int preferred_device) }; auto device_list = instance->enumeratePhysicalDevices().value; - physical_device = nullptr; + bool device_chosen = false; + physical_device = vk::PhysicalDevice(); if (preferred_device > -1 && (size_t)preferred_device < device_list.size() && check_extensions(required_extensions, device_list[preferred_device])) { physical_device = device_list[preferred_device]; + device_chosen = true; } - if (physical_device == nullptr) + if (!device_chosen) { for (auto &device : device_list) { if (check_extensions(required_extensions, device)) { physical_device = device; + device_chosen = true; break; } } } + if (!device_chosen) + return false; + graphics_queue_family_index = find_graphics_queue(physical_device); if (graphics_queue_family_index == UINT32_MAX) return false; diff --git a/common/video/vulkan/vulkan_pipeline_image.cpp b/common/video/vulkan/vulkan_pipeline_image.cpp index 92d6414d..3affca16 100644 --- a/common/video/vulkan/vulkan_pipeline_image.cpp +++ b/common/video/vulkan/vulkan_pipeline_image.cpp @@ -1,3 +1,5 @@ +#include + #include "vulkan_pipeline_image.hpp" #include "slang_helpers.hpp" diff --git a/common/video/vulkan/vulkan_shader_chain.cpp b/common/video/vulkan/vulkan_shader_chain.cpp index 7f3b3554..1040d26e 100644 --- a/common/video/vulkan/vulkan_shader_chain.cpp +++ b/common/video/vulkan/vulkan_shader_chain.cpp @@ -1,3 +1,5 @@ +#include + #include "vulkan_shader_chain.hpp" #include "slang_helpers.hpp" #include "stb_image.h" diff --git a/common/video/vulkan/vulkan_texture.cpp b/common/video/vulkan/vulkan_texture.cpp index c05bdd17..4f2a5dfb 100644 --- a/common/video/vulkan/vulkan_texture.cpp +++ b/common/video/vulkan/vulkan_texture.cpp @@ -1,3 +1,5 @@ +#include + #include "vulkan_texture.hpp" #include "vulkan/vulkan_enums.hpp" #include "slang_helpers.hpp"