Create separate graphics queue instead of reusing the main queue when transfer queue family is unsupported.#114476
Merged
akien-mga merged 1 commit intogodotengine:masterfrom Jan 6, 2026
Conversation
… transfer queue family is unsupported.
Member
|
An older Rift Riff version also crashed on an Adreno 7xx device. ( There are Adreno 6xx and 7xx devices without My Samsung Tab S7 (Adreno 650) doesn't have it either; no crashes have been reproducible so far. |
clayjohn
approved these changes
Jan 6, 2026
Member
clayjohn
left a comment
There was a problem hiding this comment.
This makes sense to me and should be a relatively safe change.
Since the underlying issue is hard to reproduce as it is a race condition in code that doesn't run every frame, I think we should just merge this and evaluate the results
Member
|
Thanks! |
Member
|
Cherry-picked for 4.5.2. |
rivie13
pushed a commit
to rivie13/Phoenix-Agentic-Engine
that referenced
this pull request
Feb 16, 2026
…e-separate-graphics-queue-for-transfer Create separate graphics queue instead of reusing the main queue when transfer queue family is unsupported.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Maybe fixes #112160 and fixes #112161. I haven't been able to reproduce the issue yet, but I'll post an update once I do.
When the device does not support transfer queues, Godot falls back to using the main graphics queue for transfer workers. This causes race conditions with the main command buffers, as they try to access and modify the vectors containing image acquisition semaphores at the same time.
I tried to resolve this more cleanly by making the semaphores part of RD, but the changes grew out of scope for a simple bug fix. In the meantime, this change makes the behavior match the case where a transfer queue family is supported.