mirror of
https://git.citron-emu.org/Citron/Citron.git
synced 2025-02-07 16:56:21 +01:00
vulkan: Add Samsung driver workarounds
Add workarounds for Samsung Xclipse GPUs: - Disable extendedDynamicState3ColorBlendEquation as it is broken in Samsung drivers, similar to AMD drivers - Add Samsung's proprietary driver to the validated driver list for clock boosting - Fix log message to indicate both AMD and Samsung drivers have broken color blend equation support Remove stray logical OR operator from validated_driver condition.
This commit is contained in:
parent
42f44a0c09
commit
3857e6afe9
1 changed files with 5 additions and 3 deletions
|
@ -594,9 +594,10 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR
|
||||||
dynamic_state3_enables = false;
|
dynamic_state3_enables = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (extensions.extended_dynamic_state3 && is_amd_driver) {
|
if (extensions.extended_dynamic_state3 && (is_amd_driver || driver_id == VK_DRIVER_ID_SAMSUNG_PROPRIETARY)) {
|
||||||
|
// AMD and Samsung drivers have broken extendedDynamicState3ColorBlendEquation
|
||||||
LOG_WARNING(Render_Vulkan,
|
LOG_WARNING(Render_Vulkan,
|
||||||
"AMD drivers have broken extendedDynamicState3ColorBlendEquation");
|
"AMD and Samsung drivers have broken extendedDynamicState3ColorBlendEquation");
|
||||||
features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false;
|
features.extended_dynamic_state3.extendedDynamicState3ColorBlendEnable = false;
|
||||||
features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false;
|
features.extended_dynamic_state3.extendedDynamicState3ColorBlendEquation = false;
|
||||||
dynamic_state3_blending = false;
|
dynamic_state3_blending = false;
|
||||||
|
@ -919,7 +920,8 @@ bool Device::ShouldBoostClocks() const {
|
||||||
driver_id == VK_DRIVER_ID_MESA_RADV || driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY ||
|
driver_id == VK_DRIVER_ID_MESA_RADV || driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY ||
|
||||||
driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS ||
|
driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS ||
|
||||||
driver_id == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA ||
|
driver_id == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA ||
|
||||||
driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY || driver_id == VK_DRIVER_ID_MESA_TURNIP;
|
driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY || driver_id == VK_DRIVER_ID_MESA_TURNIP ||
|
||||||
|
driver_id == VK_DRIVER_ID_SAMSUNG_PROPRIETARY;
|
||||||
|
|
||||||
const bool is_steam_deck = (vendor_id == 0x1002 && device_id == 0x163F) ||
|
const bool is_steam_deck = (vendor_id == 0x1002 && device_id == 0x163F) ||
|
||||||
(vendor_id == 0x1002 && device_id == 0x1435);
|
(vendor_id == 0x1002 && device_id == 0x1435);
|
||||||
|
|
Loading…
Reference in a new issue