mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-11-30 04:24:11 +01:00
[dxbc] Enable early discard on RADV/ACO
Still can't enable on LLVM due to GPU hangs. The way we detect it may have to change in the future, but for now, this should do.
This commit is contained in:
parent
47f7333c18
commit
06d4e06d8a
@ -43,10 +43,12 @@ namespace dxvk {
|
||||
if (DxvkGpuVendor(devInfo.core.properties.vendorID) != DxvkGpuVendor::Amd)
|
||||
constantBufferRangeCheck = options.constantBufferRangeCheck;
|
||||
|
||||
// Disable early discard on RADV due to GPU hangs
|
||||
// Disable early discard on RADV (with LLVM) due to GPU hangs
|
||||
// Disable early discard on Nvidia because it may hurt performance
|
||||
if (adapter->matchesDriver(DxvkGpuVendor::Amd, VK_DRIVER_ID_MESA_RADV_KHR, 0, 0)
|
||||
|| adapter->matchesDriver(DxvkGpuVendor::Nvidia, VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR, 0, 0))
|
||||
bool isRadvAco = std::string(devInfo.core.properties.deviceName).find("RADV/ACO") != std::string::npos;
|
||||
|
||||
if ((adapter->matchesDriver(DxvkGpuVendor::Amd, VK_DRIVER_ID_MESA_RADV_KHR, 0, 0) && !isRadvAco)
|
||||
|| (adapter->matchesDriver(DxvkGpuVendor::Nvidia, VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR, 0, 0)))
|
||||
useSubgroupOpsForEarlyDiscard = false;
|
||||
|
||||
// Disable atomic counters on older RADV versions
|
||||
|
Loading…
Reference in New Issue
Block a user