瀏覽代碼

LibSoftGPU: Test for `1.f` equality in determining the scale factor

We are still not doing the right thing here, but using `<=` instead of
`<` at least gets rid of artifacts in Grim Fandango.
Jelle Raaijmakers 3 年之前
父節點
當前提交
ae88c642c6
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      Userland/Libraries/LibSoftGPU/Sampler.cpp

+ 1 - 1
Userland/Libraries/LibSoftGPU/Sampler.cpp

@@ -129,7 +129,7 @@ Vector4<AK::SIMD::f32x4> Sampler::sample_2d(Vector2<AK::SIMD::f32x4> const& uv)
     // parallelisation as we could also end up with different filter modes per pixel.
     // parallelisation as we could also end up with different filter modes per pixel.
 
 
     // Note: scale_factor approximates texels per pixel. This means a scale factor less than 1 indicates texture magnification.
     // Note: scale_factor approximates texels per pixel. This means a scale factor less than 1 indicates texture magnification.
-    if (scale_factor[0] < 1)
+    if (scale_factor[0] <= 1.f)
         return sample_2d_lod(uv, expand4(base_level), m_config.texture_mag_filter);
         return sample_2d_lod(uv, expand4(base_level), m_config.texture_mag_filter);
 
 
     if (m_config.mipmap_filter == MipMapFilter::None)
     if (m_config.mipmap_filter == MipMapFilter::None)