diff options
| author | CrossVR <jules.blok@gmail.com> | 2025-07-27 05:43:17 +0900 |
|---|---|---|
| committer | CrossVR <jules.blok@gmail.com> | 2025-07-29 08:42:22 +0900 |
| commit | 59e9267e3d33cb29f06d8a4f583e7633360ef259 (patch) | |
| tree | ed456b7b1e4a1b036e6cc8fd4f041a768b2152dc /Source | |
| parent | 4d0cf1315e599bbeed67ef9eca993874869e3e85 (diff) | |
DriverDetails: Disable depth_clamp_control on AMD official drivers
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/VideoBackends/Vulkan/VulkanContext.cpp | 2 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/DriverDetails.cpp | 3 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/DriverDetails.h | 9 |
3 files changed, 12 insertions, 2 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp index 60580aff40..93cd5a969b 100644 --- a/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp +++ b/Source/Core/VideoBackends/Vulkan/VulkanContext.cpp @@ -664,7 +664,7 @@ bool VulkanContext::SelectDeviceExtensions(bool enable_surface) AddExtension(VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, false); AddExtension(VK_EXT_MEMORY_BUDGET_EXTENSION_NAME, false); - if (!DriverDetails::HasBug(DriverDetails::BUG_BROKEN_D32F_CLEAR)) + if (!DriverDetails::HasBug(DriverDetails::BUG_BROKEN_DEPTH_CLAMP_CONTROL)) { // Unrestricted depth range is one of the few extensions that changes the behavior // of Vulkan just by being enabled, so we rely on lazy evaluation to ensure it is diff --git a/Source/Core/VideoCommon/DriverDetails.cpp b/Source/Core/VideoCommon/DriverDetails.cpp index 037c5c0439..41f49f490a 100644 --- a/Source/Core/VideoCommon/DriverDetails.cpp +++ b/Source/Core/VideoCommon/DriverDetails.cpp @@ -158,6 +158,8 @@ constexpr BugInfo m_known_bugs[] = { BUG_BROKEN_DYNAMIC_SAMPLER_INDEXING, -1.0, -1.0, true}, {API_VULKAN, OS_ANDROID, VENDOR_QUALCOMM, DRIVER_QUALCOMM, Family::UNKNOWN, BUG_SLOW_OPTIMAL_IMAGE_TO_BUFFER_COPY, -1.0, -1.0, true}, + {API_VULKAN, OS_WINDOWS, VENDOR_ATI, DRIVER_ATI, Family::UNKNOWN, + BUG_BROKEN_DEPTH_CLAMP_CONTROL, -1.0, -1.0, true}, }; static std::map<Bug, BugInfo> m_bugs; @@ -297,6 +299,7 @@ static const char* to_string(Bug bug) case BUG_BROKEN_DISCARD_WITH_EARLY_Z: return "broken-discard-with-early-z"; case BUG_BROKEN_DYNAMIC_SAMPLER_INDEXING: return "broken-dynamic-sampler-indexing"; case BUG_SLOW_OPTIMAL_IMAGE_TO_BUFFER_COPY: return "slow-optimal-image-to-buffer-copy"; + case BUG_BROKEN_DEPTH_CLAMP_CONTROL: return "broken-depth-clamp-control"; } return "Unknown"; } diff --git a/Source/Core/VideoCommon/DriverDetails.h b/Source/Core/VideoCommon/DriverDetails.h index 5d45da43a3..fbf36928e1 100644 --- a/Source/Core/VideoCommon/DriverDetails.h +++ b/Source/Core/VideoCommon/DriverDetails.h @@ -342,7 +342,14 @@ enum Bug // Affected devices: Adreno // Started Version: -1 // Ended Version: -1 - BUG_SLOW_OPTIMAL_IMAGE_TO_BUFFER_COPY + BUG_SLOW_OPTIMAL_IMAGE_TO_BUFFER_COPY, + + // BUG: Incorrect implementation of VK_EXT_depth_clamp_control causes incorrect depth values to + // be written to the depth buffer. + // Affected devices: AMD (Windows) + // Started Version: -1 + // Ended Version: -1 + BUG_BROKEN_DEPTH_CLAMP_CONTROL }; // Initializes our internal vendor, device family, and driver version |
