Create separate graphics queue instead of reusing the main queue when transfer queue family is unsupported.

This commit is contained in:
Skyth
2025-12-31 16:46:34 +03:00
parent 1559ab34c6
commit 2bc63ddf08

View File

@@ -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);