[UI] Fixed issue with freezing/crashing (BSOD) UI caused by incorrect fence

This commit is contained in:
Gliniak
2025-04-26 11:16:31 +02:00
parent be44b9ba33
commit 7797adf5f2
2 changed files with 11 additions and 4 deletions

View File

@@ -3134,7 +3134,8 @@ void D3D12CommandProcessor::CheckSubmissionFence(uint64_t await_submission) {
queue_operations_since_submission_fence_, fence_value)) &&
SUCCEEDED(
queue_operations_since_submission_fence_->SetEventOnCompletion(
fence_value, nullptr))) {
fence_value, fence_completion_event_))) {
WaitForSingleObject(fence_completion_event_, INFINITE);
queue_operations_done_since_submission_signal_ = false;
} else {
XELOGE(
@@ -3150,8 +3151,9 @@ void D3D12CommandProcessor::CheckSubmissionFence(uint64_t await_submission) {
uint64_t submission_completed_before = submission_completed_;
submission_completed_ = submission_fence_->GetCompletedValue();
if (submission_completed_ < await_submission) {
if (SUCCEEDED(submission_fence_->SetEventOnCompletion(await_submission,
nullptr))) {
if (SUCCEEDED(submission_fence_->SetEventOnCompletion(
await_submission, fence_completion_event_))) {
WaitForSingleObject(fence_completion_event_, INFINITE);
submission_completed_ = submission_fence_->GetCompletedValue();
}
}