diff options
| author | 2023-01-07 10:41:37 -0600 | |
|---|---|---|
| committer | 2023-01-07 10:41:37 -0600 | |
| commit | 432d48d9c8fb179374b7b591743851b9331f9c96 (patch) | |
| tree | ce7d6dd08a2883a9950c9f625ab2ac8cee289052 /src/video_core/vulkan_common | |
| parent | Merge pull request #9573 from liamwhite/optional (diff) | |
| parent | renderer_vulkan: disable clock boost on unvalidated devices (diff) | |
| download | yuzu-432d48d9c8fb179374b7b591743851b9331f9c96.tar.gz yuzu-432d48d9c8fb179374b7b591743851b9331f9c96.tar.xz yuzu-432d48d9c8fb179374b7b591743851b9331f9c96.zip | |
Merge pull request #9570 from liamwhite/less-clock-boost
renderer_vulkan: disable clock boost on unvalidated devices
Diffstat (limited to 'src/video_core/vulkan_common')
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.cpp | 12 | ||||
| -rw-r--r-- | src/video_core/vulkan_common/vulkan_device.h | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 07c984c5e..fd1c5a683 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp | |||
| @@ -991,6 +991,18 @@ std::string Device::GetDriverName() const { | |||
| 991 | } | 991 | } |
| 992 | } | 992 | } |
| 993 | 993 | ||
| 994 | bool Device::ShouldBoostClocks() const { | ||
| 995 | const bool validated_driver = | ||
| 996 | driver_id == VK_DRIVER_ID_AMD_PROPRIETARY || driver_id == VK_DRIVER_ID_AMD_OPEN_SOURCE || | ||
| 997 | driver_id == VK_DRIVER_ID_MESA_RADV || driver_id == VK_DRIVER_ID_NVIDIA_PROPRIETARY || | ||
| 998 | driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS || | ||
| 999 | driver_id == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA; | ||
| 1000 | |||
| 1001 | const bool is_steam_deck = properties.vendorID == 0x1002 && properties.deviceID == 0x163F; | ||
| 1002 | |||
| 1003 | return validated_driver && !is_steam_deck; | ||
| 1004 | } | ||
| 1005 | |||
| 994 | static std::vector<const char*> ExtensionsRequiredForInstanceVersion(u32 available_version) { | 1006 | static std::vector<const char*> ExtensionsRequiredForInstanceVersion(u32 available_version) { |
| 995 | std::vector<const char*> extensions{REQUIRED_EXTENSIONS.begin(), REQUIRED_EXTENSIONS.end()}; | 1007 | std::vector<const char*> extensions{REQUIRED_EXTENSIONS.begin(), REQUIRED_EXTENSIONS.end()}; |
| 996 | 1008 | ||
diff --git a/src/video_core/vulkan_common/vulkan_device.h b/src/video_core/vulkan_common/vulkan_device.h index 6042046e1..4bc267163 100644 --- a/src/video_core/vulkan_common/vulkan_device.h +++ b/src/video_core/vulkan_common/vulkan_device.h | |||
| @@ -106,6 +106,8 @@ public: | |||
| 106 | return driver_id; | 106 | return driver_id; |
| 107 | } | 107 | } |
| 108 | 108 | ||
| 109 | bool ShouldBoostClocks() const; | ||
| 110 | |||
| 109 | /// Returns uniform buffer alignment requeriment. | 111 | /// Returns uniform buffer alignment requeriment. |
| 110 | VkDeviceSize GetUniformBufferAlignment() const { | 112 | VkDeviceSize GetUniformBufferAlignment() const { |
| 111 | return properties.limits.minUniformBufferOffsetAlignment; | 113 | return properties.limits.minUniformBufferOffsetAlignment; |