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