Improve performance when converting texture formats.

Still more work to do.
This commit is contained in:
riperiperi
2020-05-17 12:41:45 +01:00
parent 6416bc1938
commit fc2d5086e7
3 changed files with 231 additions and 49 deletions

View File

@ -84,6 +84,8 @@ namespace Ryujinx.Graphics.Gpu.Image
private int _sequenceNumber;
private bool _noSync;
/// <summary>
/// Constructs a new instance of the cached GPU texture.
/// </summary>
@ -301,7 +303,7 @@ namespace Ryujinx.Graphics.Gpu.Image
{
// Texture buffers are not handled here, instead they are invalidated (if modified)
// when the texture is bound. This is handled by the buffer manager.
if ((_sequenceNumber == _context.SequenceNumber && _hasData) || Info.Target == Target.TextureBuffer)
if ((_sequenceNumber == _context.SequenceNumber && _hasData) || _noSync)
{
return;
}
@ -999,6 +1001,7 @@ namespace Ryujinx.Graphics.Gpu.Image
_depth = info.GetDepth();
_layers = info.GetLayers();
_noSync = Info.Target == Target.TextureBuffer;
}
/// <summary>