[d3d11] Remove d3d11.strictDivision option

This commit is contained in:
Philip Rebohle 2019-11-30 17:05:03 +01:00
parent 3230cec3f3
commit 27ea176295
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
6 changed files with 0 additions and 34 deletions

View File

@ -117,15 +117,6 @@
# d3d11.samplerAnisotropy = -1
# Enables SM4-compliant division-by-zero behaviour. Enabling may reduce
# performance and / or cause issues in games that expect the default
# behaviour of Windows drivers, which also is not SM4-compliant.
#
# Supported values: True, False
# d3d11.strictDivision = False
# Replaces NaN outputs from fragment shaders with zeroes for floating
# point render target. Used in some games to prevent artifacting.
#

View File

@ -8,7 +8,6 @@ namespace dxvk {
const DxvkDeviceInfo& devInfo = device->properties();
this->dcSingleUseMode = config.getOption<bool>("d3d11.dcSingleUseMode", true);
this->strictDivision = config.getOption<bool>("d3d11.strictDivision", false);
this->enableRtOutputNanFixup = config.getOption<bool>("d3d11.enableRtOutputNanFixup", false);
this->zeroInitWorkgroupMemory = config.getOption<bool>("d3d11.zeroInitWorkgroupMemory", false);
this->relaxedBarriers = config.getOption<bool>("d3d11.relaxedBarriers", false);

View File

@ -20,11 +20,6 @@ namespace dxvk {
/// than once.
bool dcSingleUseMode;
/// Enables sm4-compliant division-by-zero behaviour
/// Windows drivers don't normally do this, but some
/// games may expect correct behaviour.
bool strictDivision;
/// Enables workaround to replace NaN render target
/// outputs with zero
bool enableRtOutputNanFixup;

View File

@ -1566,21 +1566,6 @@ namespace dxvk {
break;
case DxbcOpcode::Div:
dst.id = m_module.opFDiv(typeId,
src.at(0).id, src.at(1).id);
if (m_moduleInfo.options.strictDivision) {
uint32_t boolType = dst.type.ccount > 1
? m_module.defVectorType(m_module.defBoolType(), dst.type.ccount)
: m_module.defBoolType();
dst.id = m_module.opSelect(typeId,
m_module.opFOrdNotEqual(boolType, src.at(1).id,
emitBuildConstVecf32(0.0f, 0.0f, 0.0f, 0.0f, ins.dst[0].mask).id),
dst.id, src.at(0).id);
}
break;
case DxbcOpcode::DDiv:
dst.id = m_module.opFDiv(typeId,
src.at(0).id, src.at(1).id);

View File

@ -38,7 +38,6 @@ namespace dxvk {
}
enableRtOutputNanFixup = options.enableRtOutputNanFixup;
strictDivision = options.strictDivision;
zeroInitWorkgroupMemory = options.zeroInitWorkgroupMemory;
dynamicIndexedConstantBufferAsSsbo = options.constantBufferRangeCheck;

View File

@ -35,9 +35,6 @@ namespace dxvk {
/// Enables NaN fixup for render target outputs
bool enableRtOutputNanFixup = false;
/// Enables sm4-compliant division-by-zero behaviour
bool strictDivision = false;
/// Implement dynamically indexed uniform buffers
/// with storage buffers for tight bounds checking
bool dynamicIndexedConstantBufferAsSsbo = false;