Fix: Vulkan: Submission runner crash on start
In `init_submission_pool`, the submission runner was started before initializing the queues it uses, leading to a race condition that could result in a crash. Pull Request: https://projects.blender.org/blender/blender/pulls/144795
This commit is contained in:
committed by
Jeroen Bakker
parent
3d7c8d022e
commit
0f8eb1b944
@@ -300,7 +300,6 @@ void VKDevice::init_submission_pool()
|
||||
{
|
||||
CLOG_TRACE(&LOG, "Create submission pool");
|
||||
submission_pool_ = BLI_task_pool_create_background_serial(this, TASK_PRIORITY_HIGH);
|
||||
BLI_task_pool_push(submission_pool_, VKDevice::submission_runner, nullptr, false, nullptr);
|
||||
submitted_render_graphs_ = BLI_thread_queue_init();
|
||||
unused_render_graphs_ = BLI_thread_queue_init();
|
||||
|
||||
@@ -309,6 +308,8 @@ void VKDevice::init_submission_pool()
|
||||
VkSemaphoreCreateInfo vk_semaphore_create_info = {
|
||||
VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO, &vk_semaphore_type_create_info, 0};
|
||||
vkCreateSemaphore(vk_device_, &vk_semaphore_create_info, nullptr, &vk_timeline_semaphore_);
|
||||
|
||||
BLI_task_pool_push(submission_pool_, VKDevice::submission_runner, nullptr, false, nullptr);
|
||||
}
|
||||
|
||||
void VKDevice::deinit_submission_pool()
|
||||
|
||||
Reference in New Issue
Block a user