From 3e686098ccfe2d8260eb10bcfcc1aa1c079cee88 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Fri, 23 Nov 2018 12:28:48 +0100 Subject: [PATCH] [dxbc] Disable subgroup early discard on Nvidia GPUs People report performance regressions up to 5% with it enabled. --- src/dxbc/dxbc_options.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/dxbc/dxbc_options.cpp b/src/dxbc/dxbc_options.cpp index 29360c9d..74a4b5d8 100644 --- a/src/dxbc/dxbc_options.cpp +++ b/src/dxbc/dxbc_options.cpp @@ -21,6 +21,12 @@ namespace dxvk { && (devInfo.coreSubgroup.supportedOperations & VK_SUBGROUP_FEATURE_ARITHMETIC_BIT); useSubgroupOpsClustered = useSubgroupOpsForEarlyDiscard && (devInfo.coreSubgroup.supportedOperations & VK_SUBGROUP_FEATURE_CLUSTERED_BIT); + + // Disable early discard on Nvidia because it may hurt performance + if (DxvkGpuVendor(devInfo.core.properties.vendorID) == DxvkGpuVendor::Nvidia) { + useSubgroupOpsForEarlyDiscard = false; + useSubgroupOpsClustered = false; + } } } \ No newline at end of file