mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-03 16:39:01 -06:00 
			
		
		
		
	fixup! Shaders: Fix multiplications between 0.0 and inf
This commit is contained in:
		@@ -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();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user