mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-27 16:02:37 +00:00
shader: synchronize GPU-written descriptor dependencies through buffer cache
This commit is contained in:
1 parent
dbf66b7f4f
commit
57cf086886
4 files changed
+76
-7
No files matched your search
@@ -881,13 +881,16 @@ bool TryReadBacking(uint64_t vaddr, void* data, uint64_t size) {
|
||||
g_guest_address_space->TryReadBacking(vaddr, data, size);
|
||||
}
|
||||
|
||||
bool TryReadGpuCleanBacking(uint64_t vaddr, void* data, uint64_t size) {
|
||||
bool TryReadGpuBacking(uint64_t vaddr, void* data, uint64_t size) {
|
||||
if (g_gpu_resources != nullptr && IsGpuAddressRange(vaddr, size)) {
|
||||
if (!Graphics::GuestGpu::IsGpuThread() ||
|
||||
GetGpuResources().GetBufferCache().HasGpuDirtyBytes(vaddr, size) ||
|
||||
GetGpuResources().GetTextureCache().IsRegionGpuModified(vaddr, size)) {
|
||||
return false;
|
||||
}
|
||||
auto& buffers = GetGpuResources().GetBufferCache();
|
||||
if (buffers.HasGpuDirtyBytes(vaddr, size)) {
|
||||
buffers.ReadMemory(vaddr, size);
|
||||
}
|
||||
}
|
||||
return TryReadBacking(vaddr, data, size);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user