mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-04-20 03:24:49 +00:00
shader_recompiler: Implement V_CMP_CLASS_F32 negative class mask.
This commit is contained in:
parent
2d88468f14
commit
8d18f6d982
2 changed files with 4 additions and 1 deletions
|
@ -1010,8 +1010,10 @@ void Translator::V_CMP_CLASS_F32(const GcnInst& inst) {
|
|||
value = ir.FPIsNan(src0);
|
||||
} else if ((class_mask & IR::FloatClassFunc::Infinity) == IR::FloatClassFunc::Infinity) {
|
||||
value = ir.FPIsInf(src0);
|
||||
} else if ((class_mask & IR::FloatClassFunc::Negative) == IR::FloatClassFunc::Negative) {
|
||||
value = ir.FPLessThanEqual(src0, ir.Imm32(-0.f));
|
||||
} else {
|
||||
UNREACHABLE();
|
||||
UNREACHABLE_MSG("Unsupported float class mask: {:#x}", static_cast<u32>(class_mask));
|
||||
}
|
||||
} else {
|
||||
// We don't know the type yet, delay its resolution.
|
||||
|
|
|
@ -25,6 +25,7 @@ enum class FloatClassFunc : u32 {
|
|||
|
||||
NaN = SignalingNan | QuietNan,
|
||||
Infinity = PositiveInfinity | NegativeInfinity,
|
||||
Negative = NegativeInfinity | NegativeNormal | NegativeDenorm | NegativeZero,
|
||||
Finite = NegativeNormal | NegativeDenorm | NegativeZero | PositiveNormal | PositiveDenorm |
|
||||
PositiveZero,
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue