forked from Mirror/Ryujinx
Reduce copy destination size by target mipmap level, rather than source size. (#959)
* Change destination size by target mipmap level, rather than source. * Check dst for Texture3D rather than src.
This commit is contained in:
parent
6204f0e47a
commit
f35af5f703
1 changed files with 8 additions and 8 deletions
|
@ -14,19 +14,19 @@ namespace Ryujinx.Graphics.OpenGL
|
|||
int srcDepth = src.DepthOrLayers;
|
||||
int srcLevels = src.Levels;
|
||||
|
||||
srcWidth = Math.Max(1, srcWidth >> dstLevel);
|
||||
srcHeight = Math.Max(1, srcHeight >> dstLevel);
|
||||
|
||||
if (src.Target == Target.Texture3D)
|
||||
{
|
||||
srcDepth = Math.Max(1, srcDepth >> dstLevel);
|
||||
}
|
||||
|
||||
int dstWidth = dst.Width;
|
||||
int dstHeight = dst.Height;
|
||||
int dstDepth = dst.DepthOrLayers;
|
||||
int dstLevels = dst.Levels;
|
||||
|
||||
dstWidth = Math.Max(1, dstWidth >> dstLevel);
|
||||
dstHeight = Math.Max(1, dstHeight >> dstLevel);
|
||||
|
||||
if (dst.Target == Target.Texture3D)
|
||||
{
|
||||
dstDepth = Math.Max(1, dstDepth >> dstLevel);
|
||||
}
|
||||
|
||||
// When copying from a compressed to a non-compressed format,
|
||||
// the non-compressed texture will have the size of the texture
|
||||
// in blocks (not in texels), so we must adjust that size to
|
||||
|
|
Loading…
Reference in a new issue