mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-20 10:54:16 +01:00
[d3d11] Remove d3d11.strictDivision option
This commit is contained in:
parent
3230cec3f3
commit
27ea176295
@ -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.
|
||||
#
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -38,7 +38,6 @@ namespace dxvk {
|
||||
}
|
||||
|
||||
enableRtOutputNanFixup = options.enableRtOutputNanFixup;
|
||||
strictDivision = options.strictDivision;
|
||||
zeroInitWorkgroupMemory = options.zeroInitWorkgroupMemory;
|
||||
dynamicIndexedConstantBufferAsSsbo = options.constantBufferRangeCheck;
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user