gpu allocation optimizations (ryubing/ryujinx!195)

See merge request ryubing/ryujinx!195
This commit is contained in:
LotP
2025-10-26 14:14:51 -05:00
parent 718652599d
commit c94ffaa00a
20 changed files with 297 additions and 234 deletions

View File

@@ -21,25 +21,25 @@ namespace Ryujinx.Graphics.GAL.Multithreading.Resources
return new TableRef<T>(_renderer, reference);
}
public void Dispose()
public unsafe void Dispose()
{
_renderer.New<ProgramDisposeCommand>().Set(Ref(this));
_renderer.New<ProgramDisposeCommand>()->Set(Ref(this));
_renderer.QueueCommand();
}
public byte[] GetBinary()
public unsafe byte[] GetBinary()
{
ResultBox<byte[]> box = new();
_renderer.New<ProgramGetBinaryCommand>().Set(Ref(this), Ref(box));
_renderer.New<ProgramGetBinaryCommand>()->Set(Ref(this), Ref(box));
_renderer.InvokeCommand();
return box.Result;
}
public ProgramLinkStatus CheckProgramLink(bool blocking)
public unsafe ProgramLinkStatus CheckProgramLink(bool blocking)
{
ResultBox<ProgramLinkStatus> box = new();
_renderer.New<ProgramCheckLinkCommand>().Set(Ref(this), blocking, Ref(box));
_renderer.New<ProgramCheckLinkCommand>()->Set(Ref(this), blocking, Ref(box));
_renderer.InvokeCommand();
return box.Result;