Reset cache on command buffer execution instead of sync calls (#341)
Also resets const buffer cache on CbData calls. Non-const buffer data might also change while a command buffer is executing but that's very unlikely.
This commit is contained in:
parent
9ac5583513
commit
0673dc183a
2 changed files with 28 additions and 15 deletions
|
@ -80,6 +80,14 @@ namespace Ryujinx.HLE.Gpu.Engines
|
|||
}
|
||||
}
|
||||
|
||||
public void ResetCache()
|
||||
{
|
||||
foreach (List<long> Uploaded in UploadedKeys)
|
||||
{
|
||||
Uploaded.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
private void VertexEndGl(NvGpuVmm Vmm, NvGpuPBEntry PBEntry)
|
||||
{
|
||||
LockCaches();
|
||||
|
@ -623,11 +631,6 @@ namespace Ryujinx.HLE.Gpu.Engines
|
|||
|
||||
if (Mode == 0)
|
||||
{
|
||||
foreach (List<long> Uploaded in UploadedKeys)
|
||||
{
|
||||
Uploaded.Clear();
|
||||
}
|
||||
|
||||
//Write mode.
|
||||
Vmm.WriteInt32(Position, Seq);
|
||||
}
|
||||
|
@ -649,6 +652,8 @@ namespace Ryujinx.HLE.Gpu.Engines
|
|||
}
|
||||
|
||||
WriteRegister(NvGpuEngine3dReg.ConstBufferOffset, Offset);
|
||||
|
||||
UploadedKeys[(int)NvGpuBufferType.ConstBuffer].Clear();
|
||||
}
|
||||
|
||||
private void CbBind(NvGpuVmm Vmm, NvGpuPBEntry PBEntry)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue