DriverDetails: Disable depth_clamp_control on AMD official drivers

This commit is contained in:
CrossVR 2025-07-27 05:43:17 +09:00
parent 4d0cf1315e
commit 59e9267e3d
3 changed files with 12 additions and 2 deletions

View File

@ -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

View File

@ -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";
}

View File

@ -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