summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2015-08-24 07:10:11 +0200
committerYuri Kunde Schlesner <yuriks@yuriks.net>2015-08-24 07:10:11 +0200
commiteff10959de41027da7a09298941fcb403f610192 (patch)
tree8ad6f1edf2cc992cbc820b6028f052498a5408d8
parentShader JIT: Tiny micro-optimization in DPH (diff)
downloadyuzu-eff10959de41027da7a09298941fcb403f610192.tar
yuzu-eff10959de41027da7a09298941fcb403f610192.tar.gz
yuzu-eff10959de41027da7a09298941fcb403f610192.tar.bz2
yuzu-eff10959de41027da7a09298941fcb403f610192.tar.lz
yuzu-eff10959de41027da7a09298941fcb403f610192.tar.xz
yuzu-eff10959de41027da7a09298941fcb403f610192.tar.zst
yuzu-eff10959de41027da7a09298941fcb403f610192.zip
-rw-r--r--src/video_core/pica.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/video_core/pica.h b/src/video_core/pica.h
index cf148de50..bb689f2a9 100644
--- a/src/video_core/pica.h
+++ b/src/video_core/pica.h
@@ -1031,8 +1031,8 @@ struct float24 {
}
float24 operator * (const float24& flt) const {
- if ((this->value == 0.f && flt.value == flt.value) ||
- (flt.value == 0.f && this->value == this->value))
+ if ((this->value == 0.f && !std::isnan(flt.value)) ||
+ (flt.value == 0.f && !std::isnan(this->value)))
// PICA gives 0 instead of NaN when multiplying by inf
return Zero();
return float24::FromFloat32(ToFloat32() * flt.ToFloat32());
@@ -1051,8 +1051,8 @@ struct float24 {
}
float24& operator *= (const float24& flt) {
- if ((this->value == 0.f && flt.value == flt.value) ||
- (flt.value == 0.f && this->value == this->value))
+ if ((this->value == 0.f && !std::isnan(flt.value)) ||
+ (flt.value == 0.f && !std::isnan(this->value)))
// PICA gives 0 instead of NaN when multiplying by inf
*this = Zero();
else value *= flt.ToFloat32();