From 2bc63ddf0839d648ed149f02ce921b625b133f11 Mon Sep 17 00:00:00 2001 From: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com> Date: Wed, 31 Dec 2025 16:46:34 +0300 Subject: [PATCH] Create separate graphics queue instead of reusing the main queue when transfer queue family is unsupported. --- servers/rendering/rendering_device.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/servers/rendering/rendering_device.cpp b/servers/rendering/rendering_device.cpp index cbcd18410e..4f286b4f4d 100644 --- a/servers/rendering/rendering_device.cpp +++ b/servers/rendering/rendering_device.cpp @@ -6999,16 +6999,15 @@ Error RenderingDevice::initialize(RenderingContextDriver *p_context, DisplayServ ERR_FAIL_COND_V(!main_queue, FAILED); transfer_queue_family = driver->command_queue_family_get(RDD::COMMAND_QUEUE_FAMILY_TRANSFER_BIT); - if (transfer_queue_family) { - // Create the transfer queue. - transfer_queue = driver->command_queue_create(transfer_queue_family); - ERR_FAIL_COND_V(!transfer_queue, FAILED); - } else { - // Use main queue as the transfer queue. - transfer_queue = main_queue; + if (!transfer_queue_family) { + // Use main queue family if transfer queue family is not supported. transfer_queue_family = main_queue_family; } + // Create the transfer queue. + transfer_queue = driver->command_queue_create(transfer_queue_family); + ERR_FAIL_COND_V(!transfer_queue, FAILED); + if (present_queue_family) { // Create the present queue. present_queue = driver->command_queue_create(present_queue_family);