KhronosGroup / KhronosGroup/Vulkan-Docs
Guarantee queue family 0 = graphics + compute in a future maintenance extension
@r-potter is already working on this.
Since Sep 9, 2026.
- Dominant language
- JavaScript
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 2
Description
In the queue chapter:
If an implementation exposes any queue family that supports graphics operations, at least one queue family of at least one physical device exposed by the implementation must support both graphics and compute operations.
This only guarantees a graphics+compute queue exists somewhere, so technically correct code have to enumerate and search every queue family. However, if you run a script (using gpuinfo-vulkan-query) you can see that in practice said family is index 0 in 100% of reported implementations:
Reports with a graphics-capable queue family: 44819
...of those, family 0 is graphics+compute: 44819
Percentage (per report): 100.0%
Reports skipped (couldn't parse queue family schema): 0
I think it would be beneficial for a future maintenance extension to formalize this, e.g:
If maintenanceN is supported, and a physical device exposes a queue family that supports graphics operations, that physical device's queue family with index 0 must support both graphics and compute operations.
This would let developers and tutorials rely on queue family 0 directly, instead of writing (and teaching) enumeration code for a case that doesn't happen in practice. Simplifying initialization code for most developers and letting tutorials rely on it with confidence.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.