mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-07-24 19:14:40 +00:00
to ensure that we're not unlocking submits too early
This commit is contained in:
parent
8f9436080e
commit
fcea53820b
@ -1455,6 +1455,7 @@ int PS4_SYSV_ABI sceGnmSubmitDone() {
|
||||
if (!liverpool->IsGpuIdle()) {
|
||||
submission_lock = true;
|
||||
}
|
||||
liverpool->NotifySubmitDone();
|
||||
return ORBIS_OK;
|
||||
}
|
||||
|
||||
|
@ -61,7 +61,11 @@ void Liverpool::Process(std::stop_token stoken) {
|
||||
--num_submits;
|
||||
}
|
||||
}
|
||||
num_submits.notify_all();
|
||||
|
||||
if (submit_done) {
|
||||
num_submits.notify_all();
|
||||
submit_done = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -777,6 +777,10 @@ public:
|
||||
return num_submits == 0;
|
||||
}
|
||||
|
||||
void NotifySubmitDone() {
|
||||
submit_done = true;
|
||||
}
|
||||
|
||||
void BindRasterizer(Vulkan::Rasterizer* rasterizer_) {
|
||||
rasterizer = rasterizer_;
|
||||
}
|
||||
@ -841,6 +845,7 @@ private:
|
||||
Vulkan::Rasterizer* rasterizer{};
|
||||
std::jthread process_thread{};
|
||||
std::atomic<u32> num_submits{};
|
||||
std::atomic<bool> submit_done{};
|
||||
};
|
||||
|
||||
static_assert(GFX6_3D_REG_INDEX(ps_program) == 0x2C08);
|
||||
|
Loading…
Reference in New Issue
Block a user