[vk] Handling threading missuse of VkQueue
This commit is contained in:
@@ -177,6 +177,8 @@ try
|
||||
|
||||
RendererVulkan::~RendererVulkan() {
|
||||
scheduler.RegisterOnSubmit([] {});
|
||||
// Acquire submit_mutex before WaitIdle to prevent simultaneous queue access
|
||||
std::scoped_lock lock{scheduler.submit_mutex};
|
||||
void(device.GetLogical().WaitIdle());
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,8 @@ BlitScreen::~BlitScreen() = default;
|
||||
void BlitScreen::WaitIdle() {
|
||||
present_manager.WaitPresent();
|
||||
scheduler.Finish();
|
||||
device.GetLogical().WaitIdle();
|
||||
// Note: scheduler.Finish() already waits for GPU and synchronizes submit_mutex
|
||||
// Calling device.WaitIdle() here causes threading errors (simultaneous queue access)
|
||||
}
|
||||
|
||||
void BlitScreen::SetWindowAdaptPass() {
|
||||
|
||||
Reference in New Issue
Block a user