aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan/renderer_vulkan.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-12-30 04:58:38 -0300
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-12-31 02:07:34 -0300
commite92031e76769d385dcdefa16e8741c2fcc8f8f7a (patch)
treee360cc51563b7bee53e67587a421a1d15be3221e /src/video_core/renderer_vulkan/renderer_vulkan.cpp
parent9c39c02012dd078f4b15b6bb8049253c8d54e57a (diff)
vulkan_instance: Allow different Vulkan versions and enforce 1.1
For listing the available physical devices we can use Vulkan 1.0. Now that MoltenVK supports 1.1 we can require it for running games. Add missing documentation.
Diffstat (limited to 'src/video_core/renderer_vulkan/renderer_vulkan.cpp')
-rw-r--r--src/video_core/renderer_vulkan/renderer_vulkan.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.cpp b/src/video_core/renderer_vulkan/renderer_vulkan.cpp
index fdce11b064..5b35cb4078 100644
--- a/src/video_core/renderer_vulkan/renderer_vulkan.cpp
+++ b/src/video_core/renderer_vulkan/renderer_vulkan.cpp
@@ -127,8 +127,8 @@ void RendererVulkan::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) {
bool RendererVulkan::Init() try {
library = OpenLibrary();
- std::tie(instance, instance_version) = CreateInstance(
- library, dld, render_window.GetWindowInfo().type, true, Settings::values.renderer_debug);
+ instance = CreateInstance(library, dld, VK_API_VERSION_1_1, render_window.GetWindowInfo().type,
+ true, Settings::values.renderer_debug);
if (Settings::values.renderer_debug) {
debug_callback = CreateDebugCallback(instance);
}
@@ -184,8 +184,7 @@ void RendererVulkan::InitializeDevice() {
throw vk::Exception(VK_ERROR_INITIALIZATION_FAILED);
}
const vk::PhysicalDevice physical_device(devices[static_cast<size_t>(device_index)], dld);
- device =
- std::make_unique<VKDevice>(*instance, instance_version, physical_device, *surface, dld);
+ device = std::make_unique<VKDevice>(*instance, physical_device, *surface, dld);
}
void RendererVulkan::Report() const {
@@ -213,7 +212,7 @@ void RendererVulkan::Report() const {
std::vector<std::string> RendererVulkan::EnumerateDevices() try {
vk::InstanceDispatch dld;
const Common::DynamicLibrary library = OpenLibrary();
- const vk::Instance instance = CreateInstance(library, dld).first;
+ const vk::Instance instance = CreateInstance(library, dld, VK_API_VERSION_1_0);
const std::vector<VkPhysicalDevice> physical_devices = instance.EnumeratePhysicalDevices();
std::vector<std::string> names;
names.reserve(physical_devices.size());