mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-12-29 11:35:29 +03:00
Ensure textures are clean before paging them out
This commit is contained in:
parent
1a2351386d
commit
7670c83405
@ -752,9 +752,13 @@ namespace skyline::gpu {
|
||||
cycle = lCycle;
|
||||
}
|
||||
|
||||
if (gpuDirty)
|
||||
{
|
||||
std::scoped_lock lock{stateMutex};
|
||||
|
||||
if (dirtyState == DirtyState::Clean && gpuDirty)
|
||||
gpu.state.nce->PageOutRegions(*trapHandle); // All data can be paged out from the guest as the guest mirror won't be used
|
||||
}
|
||||
}
|
||||
|
||||
void Texture::SynchronizeHostInline(const vk::raii::CommandBuffer &commandBuffer, const std::shared_ptr<FenceCycle> &pCycle, bool gpuDirty) {
|
||||
if (!guest)
|
||||
@ -785,8 +789,12 @@ namespace skyline::gpu {
|
||||
cycle = pCycle;
|
||||
}
|
||||
|
||||
if (gpuDirty)
|
||||
gpu.state.nce->PageOutRegions(*trapHandle);
|
||||
{
|
||||
std::scoped_lock lock{stateMutex};
|
||||
|
||||
if (dirtyState == DirtyState::Clean && gpuDirty)
|
||||
gpu.state.nce->PageOutRegions(*trapHandle); // All data can be paged out from the guest as the guest mirror won't be used
|
||||
}
|
||||
}
|
||||
|
||||
void Texture::SynchronizeGuest(bool cpuDirty, bool skipTrap) {
|
||||
|
Loading…
Reference in New Issue
Block a user