diff options
Diffstat (limited to 'src')
| -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 | |||
| 554 | } | 554 | } |
| 555 | 555 | ||
| 556 | sets_per_pool = 64; | 556 | sets_per_pool = 64; |
| 557 | if (extensions.extended_dynamic_state3 && is_amd_driver && | ||
| 558 | !features.shader_float16_int8.shaderFloat16 && | ||
| 559 | properties.properties.driverVersion >= VK_MAKE_API_VERSION(0, 2, 0, 258)) { | ||
| 560 | LOG_WARNING(Render_Vulkan, "AMD GCN4 has broken extendedDynamicState3ColorBlendEquation"); | ||
| 561 | features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false; | ||
| 562 | features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false; | ||
| 563 | dynamic_state3_blending = false; | ||
| 564 | } | ||
| 557 | if (is_amd_driver) { | 565 | if (is_amd_driver) { |
| 558 | // AMD drivers need a higher amount of Sets per Pool in certain circumstances like in XC2. | 566 | // AMD drivers need a higher amount of Sets per Pool in certain circumstances like in XC2. |
| 559 | sets_per_pool = 96; | 567 | sets_per_pool = 96; |