mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-18 20:52:10 +01:00
[dxbc] Implement precise flag
May fix depth precision in Skyrim SE (issue #189).
This commit is contained in:
parent
f52cc3859b
commit
50f1cf007d
@ -1564,6 +1564,9 @@ namespace dxvk {
|
||||
return;
|
||||
}
|
||||
|
||||
if (ins.controls.precise())
|
||||
m_module.decorate(dst.id, spv::DecorationNoContraction);
|
||||
|
||||
// Store computed value
|
||||
dst = emitDstOperandModifiers(dst, ins.modifiers);
|
||||
emitRegisterStore(ins.dst[0], dst);
|
||||
@ -1786,6 +1789,9 @@ namespace dxvk {
|
||||
src.at(0).id,
|
||||
src.at(1).id);
|
||||
|
||||
if (ins.controls.precise())
|
||||
m_module.decorate(dst.id, spv::DecorationNoContraction);
|
||||
|
||||
dst = emitDstOperandModifiers(dst, ins.modifiers);
|
||||
emitRegisterStore(ins.dst[0], dst);
|
||||
}
|
||||
|
@ -309,6 +309,10 @@ namespace dxvk {
|
||||
return bit::extract(m_bits, 11, 16);
|
||||
}
|
||||
|
||||
bool precise() const {
|
||||
return bit::extract(m_bits, 19, 22) != 0;
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
uint32_t m_bits;
|
||||
|
Loading…
x
Reference in New Issue
Block a user