KhronosGroup / KhronosGroup/Vulkan-Docs

Guarantee queue family 0 = graphics + compute in a future maintenance extension

Open
#2,809 0 comments 3 reactions 1 assignee View on GitHub

@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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.