diff options
Diffstat (limited to 'src/Ryujinx.Graphics.Gpu/Image')
-rw-r--r-- | src/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs | 9 | ||||
-rw-r--r-- | src/Ryujinx.Graphics.Gpu/Image/TexturePool.cs | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs b/src/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs index 85ad0bb0..9a8d048e 100644 --- a/src/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs +++ b/src/Ryujinx.Graphics.Gpu/Image/TextureCompatibility.cs @@ -541,7 +541,8 @@ namespace Ryujinx.Graphics.Gpu.Image depth, lhs.FormatInfo.BlockHeight, lhs.GobBlocksInY, - lhs.GobBlocksInZ); + lhs.GobBlocksInZ, + level); return gobBlocksInY == rhs.GobBlocksInY && gobBlocksInZ == rhs.GobBlocksInZ; @@ -587,7 +588,8 @@ namespace Ryujinx.Graphics.Gpu.Image lhsDepth, lhs.FormatInfo.BlockHeight, lhs.GobBlocksInY, - lhs.GobBlocksInZ); + lhs.GobBlocksInZ, + lhsLevel); int rhsHeight = Math.Max(1, rhs.Height >> rhsLevel); int rhsDepth = Math.Max(1, rhs.GetDepth() >> rhsLevel); @@ -597,7 +599,8 @@ namespace Ryujinx.Graphics.Gpu.Image rhsDepth, rhs.FormatInfo.BlockHeight, rhs.GobBlocksInY, - rhs.GobBlocksInZ); + rhs.GobBlocksInZ, + rhsLevel); return lhsGobBlocksInY == rhsGobBlocksInY && lhsGobBlocksInZ == rhsGobBlocksInZ; diff --git a/src/Ryujinx.Graphics.Gpu/Image/TexturePool.cs b/src/Ryujinx.Graphics.Gpu/Image/TexturePool.cs index dbcb2e75..bade9bbb 100644 --- a/src/Ryujinx.Graphics.Gpu/Image/TexturePool.cs +++ b/src/Ryujinx.Graphics.Gpu/Image/TexturePool.cs @@ -484,7 +484,7 @@ namespace Ryujinx.Graphics.Gpu.Image depthOrLayers = Math.Max(1, depthOrLayers >> minLod); } - (gobBlocksInY, gobBlocksInZ) = SizeCalculator.GetMipGobBlockSizes(height, depth, formatInfo.BlockHeight, gobBlocksInY, gobBlocksInZ); + (gobBlocksInY, gobBlocksInZ) = SizeCalculator.GetMipGobBlockSizes(height, depth, formatInfo.BlockHeight, gobBlocksInY, gobBlocksInZ, minLod); } levels = (maxLod - minLod) + 1; |