handle DingDong (#4418)

When the rptr and wptr are equal, the ring is idle
This commit is contained in:
Kravickas 2026-05-15 06:29:34 +02:00 committed by GitHub
parent 85b6f5f505
commit 44692090d2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -308,6 +308,10 @@ void PS4_SYSV_ABI sceGnmDingDong(u32 gnm_vqid, u32 next_offs_dw) {
auto& offs_dw = asc_next_offs_dw[vqid];
if (next_offs_dw == offs_dw) {
return;
}
if (next_offs_dw < offs_dw && next_offs_dw != 0) {
// For cases if a submission is split at the end of the ring buffer, we need to submit it in
// two parts to handle the wrap