mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-11 07:28:56 +02:00
bank_base unbalance keepalive
This commit is contained in:
parent
7b393be047
commit
46f7ed6256
1 changed files with 8 additions and 2 deletions
|
|
@ -8,6 +8,7 @@
|
|||
#include <utility>
|
||||
|
||||
#include "common/common_types.h"
|
||||
#include "common/logging.h"
|
||||
|
||||
namespace VideoCommon {
|
||||
|
||||
|
|
@ -46,8 +47,13 @@ public:
|
|||
}
|
||||
|
||||
void CloseReference(size_t how_many = 1) {
|
||||
if (how_many > references.load(std::memory_order_relaxed)) {
|
||||
UNREACHABLE();
|
||||
const size_t prev = references.load(std::memory_order_relaxed);
|
||||
if (how_many > prev) [[unlikely]] {
|
||||
LOG_CRITICAL(HW_GPU,
|
||||
"QueryBank CloseReference underflow keepalive: prev={} how_many={}",
|
||||
prev, how_many);
|
||||
references.store(0, std::memory_order_relaxed);
|
||||
return;
|
||||
}
|
||||
references.fetch_sub(how_many, std::memory_order_relaxed);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue