diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-07-31 15:10:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-31 15:10:48 +0200 |
commit | 0f37756a3ac3716057257d74545c0ce1bd458f2e (patch) | |
tree | ed93fcb937305e38adb44a969252fa25d698f88c | |
parent | Merge pull request #11155 from liamwhite/memory3 (diff) | |
parent | Formatting fix (diff) | |
download | yuzu-0f37756a3ac3716057257d74545c0ce1bd458f2e.tar yuzu-0f37756a3ac3716057257d74545c0ce1bd458f2e.tar.gz yuzu-0f37756a3ac3716057257d74545c0ce1bd458f2e.tar.bz2 yuzu-0f37756a3ac3716057257d74545c0ce1bd458f2e.tar.lz yuzu-0f37756a3ac3716057257d74545c0ce1bd458f2e.tar.xz yuzu-0f37756a3ac3716057257d74545c0ce1bd458f2e.tar.zst yuzu-0f37756a3ac3716057257d74545c0ce1bd458f2e.zip |
-rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 9c6fbb918..78918f996 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -554,6 +554,14 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR } sets_per_pool = 64; + if (extensions.extended_dynamic_state3 && is_amd_driver && + !features.shader_float16_int8.shaderFloat16 && + properties.properties.driverVersion >= VK_MAKE_API_VERSION(0, 2, 0, 258)) { + LOG_WARNING(Render_Vulkan, "AMD GCN4 has broken extendedDynamicState3ColorBlendEquation"); + features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false; + features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false; + dynamic_state3_blending = false; + } if (is_amd_driver) { // AMD drivers need a higher amount of Sets per Pool in certain circumstances like in XC2. sets_per_pool = 96; |