forked from Mirror/Ryujinx
Calculate width from stride on texture copies
This commit is contained in:
parent
1876b346fe
commit
1bb08742c1
2 changed files with 14 additions and 6 deletions
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in a new issue