From 2424cf02891c32950b33e9bf348de11246b0b258 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Sat, 24 Nov 2018 10:09:33 +0100 Subject: [PATCH] [dxbc] Disable early discard on AMD cards Causes GPU hangs. --- src/dxbc/dxbc_options.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/dxbc/dxbc_options.cpp b/src/dxbc/dxbc_options.cpp index a7acccceb34..040d59ced62 100644 --- a/src/dxbc/dxbc_options.cpp +++ b/src/dxbc/dxbc_options.cpp @@ -24,8 +24,12 @@ namespace dxvk { zeroInitWorkgroupMemory = options.zeroInitWorkgroupMemory; + // Disable early discard on AMD due to GPU hangs // Disable early discard on Nvidia because it may hurt performance - if (DxvkGpuVendor(devInfo.core.properties.vendorID) == DxvkGpuVendor::Nvidia) { + auto vendor = DxvkGpuVendor(devInfo.core.properties.vendorID); + + if (vendor == DxvkGpuVendor::Amd + || vendor == DxvkGpuVendor::Nvidia) { useSubgroupOpsForEarlyDiscard = false; useSubgroupOpsClustered = false; }