From a574829bb66b7936e4fd75f09df52f34b2616dfb Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Wed, 7 Nov 2018 10:08:55 +0100 Subject: [PATCH] [dxbc] Remove DeferKill flag This behaviour is correct, and needs to be enabled by default. --- src/dxbc/dxbc_compiler.cpp | 2 +- src/dxbc/dxbc_options.cpp | 1 - src/dxbc/dxbc_options.h | 5 ----- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/src/dxbc/dxbc_compiler.cpp b/src/dxbc/dxbc_compiler.cpp index e42e3d97..4e2c38e7 100644 --- a/src/dxbc/dxbc_compiler.cpp +++ b/src/dxbc/dxbc_compiler.cpp @@ -6160,7 +6160,7 @@ namespace dxvk { // We may have to defer kill operations to the end of // the shader in order to keep derivatives correct. - if (m_analysis->usesKill && m_analysis->usesDerivatives && m_moduleInfo.options.deferKill) { + if (m_analysis->usesKill && m_analysis->usesDerivatives) { m_ps.killState = m_module.newVarInit( m_module.defPointerType(m_module.defBoolType(), spv::StorageClassPrivate), spv::StorageClassPrivate, m_module.constBool(false)); diff --git a/src/dxbc/dxbc_options.cpp b/src/dxbc/dxbc_options.cpp index a14039ed..7829e9ec 100644 --- a/src/dxbc/dxbc_options.cpp +++ b/src/dxbc/dxbc_options.cpp @@ -13,7 +13,6 @@ namespace dxvk { const DxvkDeviceFeatures& devFeatures = device->features(); useStorageImageReadWithoutFormat = devFeatures.core.features.shaderStorageImageReadWithoutFormat; - deferKill = true; } } \ No newline at end of file diff --git a/src/dxbc/dxbc_options.h b/src/dxbc/dxbc_options.h index b94669af..bb72955c 100644 --- a/src/dxbc/dxbc_options.h +++ b/src/dxbc/dxbc_options.h @@ -10,11 +10,6 @@ namespace dxvk { /// Use the ShaderImageReadWithoutFormat capability. bool useStorageImageReadWithoutFormat = false; - - /// Defer kill operation to the end of the shader. - /// Fixes derivatives that are undefined due to - /// non-uniform control flow in fragment shaders. - bool deferKill = false; }; } \ No newline at end of file