mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-20 19:54:19 +01:00
[dxso] Clamp Exp when fast float emulation is enabled
This commit is contained in:
parent
fae78407a2
commit
e9a0fec5b3
@ -2029,12 +2029,22 @@ namespace dxvk {
|
||||
result.id = resultIndices[0];
|
||||
else
|
||||
result.id = m_module.opCompositeConstruct(typeId, result.type.ccount, resultIndices.data());
|
||||
|
||||
if (m_moduleInfo.options.d3d9FloatEmulation == D3D9FloatEmulation::Enabled) {
|
||||
result.id = m_module.opNMin(typeId, result.id,
|
||||
m_module.constfReplicant(FLT_MAX, result.type.ccount));
|
||||
}
|
||||
break;
|
||||
}
|
||||
[[fallthrough]];
|
||||
case DxsoOpcode::Exp:
|
||||
result.id = m_module.opExp2(typeId,
|
||||
emitRegisterLoad(src[0], mask).id);
|
||||
|
||||
if (m_moduleInfo.options.d3d9FloatEmulation == D3D9FloatEmulation::Enabled) {
|
||||
result.id = m_module.opNMin(typeId, result.id,
|
||||
m_module.constfReplicant(FLT_MAX, result.type.ccount));
|
||||
}
|
||||
break;
|
||||
case DxsoOpcode::Pow: {
|
||||
uint32_t base = emitRegisterLoad(src[0], mask).id;
|
||||
|
Loading…
x
Reference in New Issue
Block a user