diff options
| author | Scott Mansell <phiren@gmail.com> | 2021-10-10 09:10:52 +1300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-10 09:10:52 +1300 |
| commit | af043c07bbff72410a21541a2880cff1ccbe2175 (patch) | |
| tree | 870bffe166ba60ef71dc8c19b89de59ca438d337 /Source/Core/VideoBackends/Software/Rasterizer.cpp | |
| parent | 1beaa07793028da7225e979b2baf2e22df011573 (diff) | |
| parent | 9fa26624b02562fb8626c93c45acf2015fc06f40 (diff) | |
Merge pull request #10096 from phire/consolidate_tex_unit_addressing
Consolidate TexUnit addressing
Diffstat (limited to 'Source/Core/VideoBackends/Software/Rasterizer.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/Software/Rasterizer.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/Source/Core/VideoBackends/Software/Rasterizer.cpp b/Source/Core/VideoBackends/Software/Rasterizer.cpp index de9925d596..df04ab5a31 100644 --- a/Source/Core/VideoBackends/Software/Rasterizer.cpp +++ b/Source/Core/VideoBackends/Software/Rasterizer.cpp @@ -163,13 +163,12 @@ static void InitSlope(Slope* slope, float f1, float f2, float f3, float DX31, fl static inline void CalculateLOD(s32* lodp, bool* linear, u32 texmap, u32 texcoord) { - const FourTexUnits& texUnit = bpmem.tex[(texmap >> 2) & 1]; - const u8 subTexmap = texmap & 3; + auto texUnit = bpmem.tex.GetUnit(texmap); // LOD calculation requires data from the texture mode for bias, etc. // it does not seem to use the actual texture size - const TexMode0& tm0 = texUnit.texMode0[subTexmap]; - const TexMode1& tm1 = texUnit.texMode1[subTexmap]; + const TexMode0& tm0 = texUnit.texMode0; + const TexMode1& tm1 = texUnit.texMode1; float sDelta, tDelta; if (tm0.diag_lod == LODType::Diagonal) |
