KhronosGroup / KhronosGroup/Vulkan-Docs
The ordering guarantee for the returned elements of vkGetPhysicalDeviceQueueFamilyProperties
- Dominant language
- JavaScript
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 2
Description
The 1.2.192 specification claims the following ordering guarantee for the returned elements of `VkPhysicalDeviceMemoryProperties`:
>
> For each pair of elements **X** and **Y** returned in `memoryTypes`, **X** must be placed at a lower index position than **Y** if:
>
> - the set of bit flags returned in the `propertyFlags` member of **X** is a strict subset of the set of bit flags returned in the `propertyFlags` member of **Y**; or
>
> - the `propertyFlags` members of **X** and **Y** are equal, and **X** belongs to a memory heap with greater performance (as determined in an implementation-specific manner)
>
What about the ordering of the returned elements of `vkGetPhysicalDeviceQueueFamilyProperties`? The specification doesn't say anything about it, though a similar guarantee would be useful - queue family selection algorithms would benefit from this. More specifically it **could** be:
>
> For each pair of elements **X** and **Y** returned in `pQueueFamilyProperties`, **X** must be placed at a lower index position than **Y** if:
>
> - the set of bit flags returned in the `queueFlags` member of **X** is a strict subset of the set of bit flags returned in the `queueFlags` member of **Y**; or
>
> - the `queueFlags` members of **X** and **Y** are equal, and **X** belongs to a queue family with greater performance (as determined in an implementation-specific manner)
>
Is it something that could be added to the specification in the future?
Contributor guide
Assessment
This issue has not been assessed yet.