DriverDetails: Add broken discard with early-Z bug on Apple Silicon GPUs

This commit is contained in:
OatmealDome
2021-12-25 00:27:43 -05:00
parent e7f5e5172c
commit 259a5fc7c0
6 changed files with 70 additions and 16 deletions

View File

@ -371,6 +371,13 @@ void VulkanContext::PopulateBackendInfoFeatures(VideoConfig* config, VkPhysicalD
// with depth clamping. Fall back to inverted depth range for these.
if (DriverDetails::HasBug(DriverDetails::BUG_BROKEN_REVERSED_DEPTH_RANGE))
config->backend_info.bSupportsReversedDepthRange = false;
// Calling discard when early depth test is enabled can break on some Apple Silicon GPU drivers.
if (DriverDetails::HasBug(DriverDetails::BUG_BROKEN_DISCARD_WITH_EARLY_Z))
{
// We will use shader blending, so disable hardware dual source blending.
config->backend_info.bSupportsDualSourceBlend = false;
}
}
void VulkanContext::PopulateBackendInfoMultisampleModes(