Calculate width from stride on texture copies

This commit is contained in:
gdk 2019-10-13 22:48:09 -03:00 committed by Thog
parent 1876b346fe
commit 1bb08742c1
2 changed files with 14 additions and 6 deletions

View file

@ -245,9 +245,20 @@ namespace Ryujinx.Graphics.Gpu.Image
FormatInfo formatInfo = copyTexture.Format.Convert();
int width;
if (copyTexture.LinearLayout)
{
width = copyTexture.Stride / formatInfo.BytesPerPixel;
}
else
{
width = copyTexture.Width;
}
TextureInfo info = new TextureInfo(
address,
copyTexture.Width,
width,
copyTexture.Height,
copyTexture.Depth,
1,

View file

@ -108,11 +108,8 @@ namespace Ryujinx.Graphics.Texture
{
int outOffs = 0;
int w = width;
int h = height;
w = BitUtils.DivRoundUp(w, blockWidth);
h = BitUtils.DivRoundUp(h, blockHeight);
int w = BitUtils.DivRoundUp(width, blockWidth);
int h = BitUtils.DivRoundUp(height, blockHeight);
int outStride = BitUtils.AlignUp(w * bytesPerPixel, AlignmentSize);