KhronosGroup / KhronosGroup/Vulkan-Portability
Device extensions should not be enumerated if instance level dependencies are not satisfied
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 45
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
Spinning off from https://github.com/KhronosGroup/Vulkan-Docs/issues/1567. Just raising this for awareness, since the example provided involved the portability extension
The spec says that:
Any device extension that has an instance extension dependency that is not enabled by vkCreateInstance is considered to be unsupported, hence it must not be returned by vkEnumerateDeviceExtensionProperties for any VkPhysicalDevice child of the instance.
This means that VK_KHR_portability_subset should not be enumerated if VK_KHR_get_device_properties2 is not enabled at the instance level (or an equivalent Core version which contains the promoted extension).
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Start by tracing the implementation of vkEnumerateDeviceExtensionProperties and how instance extension dependencies are represented. Compare its device-extension results with the requirement quoted in this issue, especially for VK_KHR_portability_subset and VK_KHR_get_device_properties2. Done means dependent device extensions are omitted when the required instance extension or equivalent core version is unavailable.
Written by the indexing model from the issue text.
Assessment
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100