Compressed M2mf texture copy fix (#612)

Correctly calculates the number of iterations required to copy all the data from compressed textures
This commit is contained in:
BaronKiko 2019-03-12 04:59:12 +00:00 committed by jduncanator
parent a2a4650108
commit a0aecd1ff8

View file

@ -151,6 +151,14 @@ namespace Ryujinx.Graphics.Graphics3d
dstCpp); dstCpp);
} }
// Calculate the bits per pixel
int bpp = srcPitch / xCount;
// Copying all the bits at the same time corrupts the texture, unknown why but probably because the texture isn't linear
// To avoid this we will simply loop more times to cover all the bits,
// this allows up to recalculate the memory locations for each iteration around the loop
xCount *= bpp / srcCpp;
for (int y = 0; y < yCount; y++) for (int y = 0; y < yCount; y++)
for (int x = 0; x < xCount; x++) for (int x = 0; x < xCount; x++)
{ {