From 8f24076aad9cea34a1762883d9b87db8cb4a11ca Mon Sep 17 00:00:00 2001 From: pineappleEA Date: Tue, 14 Sep 2021 03:10:40 +0200 Subject: [PATCH] early-access version 2060 --- README.md | 2 +- src/video_core/vulkan_common/vulkan_device.cpp | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6587093c9..8ef312299 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ yuzu emulator early access ============= -This is the source code for early-access 2059. +This is the source code for early-access 2060. ## Legal Notice diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 40b7ea90f..2caf98c7c 100755 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -243,6 +243,7 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR SetupFamilies(surface); SetupFeatures(); SetupProperties(); + CollectTelemetryParameters(); const auto queue_cis = GetDeviceQueueCreateInfos(); const std::vector extensions = LoadExtensions(surface != nullptr); @@ -368,6 +369,18 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR }; SetNext(next, demote); + if (driver_id == VK_DRIVER_ID_AMD_PROPRIETARY || driver_id == VK_DRIVER_ID_AMD_OPEN_SOURCE) { + const u32 version = properties.driverVersion; + // Broken in this driver + if (version > VK_MAKE_API_VERSION(0, 2, 0, 193)) { + LOG_WARNING(Render_Vulkan, "AMD proprietary driver versions newer than 21.9.1 " + "(windows) / 0.2.0.194 (amdvlk) have " + "broken VkPhysicalDeviceFloat16Int8FeaturesKHR"); + is_int8_supported = false; + is_float16_supported = false; + } + } + if (is_int8_supported || is_float16_supported) { VkPhysicalDeviceFloat16Int8FeaturesKHR float16_int8{ .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, @@ -560,7 +573,6 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR logical = vk::Device::Create(physical, queue_cis, extensions, first_next, dld); CollectPhysicalMemoryInfo(); - CollectTelemetryParameters(); CollectToolingInfo(); if (driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR) {