Details
-
Bug
-
Resolution: Done
-
P2: Important
-
6.2.2
-
None
-
b083c27d0a (qt/qtbase/dev) b083c27d0a (qt/tqtc-qtbase/dev)
Description
Currently the QVulkanWindow doesn't populate `VkDeviceCreateInfo::pEnabledFeatures` which means that no features are enabled as per the spec:.
If an application wishes to enable all features supported by a device, it can simply pass in the VkPhysicalDeviceFeatures structure that was previously returned by vkGetPhysicalDeviceFeatures. To disable an individual feature, the application can set the desired member to VK_FALSE in the same structure. Setting pEnabledFeatures to NULL and not including a VkPhysicalDeviceFeatures2 in the pNext chain of VkDeviceCreateInfo is equivalent to setting all members of the structure to VK_FALSE
I'm not sure if this was an oversight (bug) or intentional (in which case this would be a user story to configure).
Worst case, no features are available to use. Best case, this leads to a lot of harmless validation layer spam.
A recommended simple solution would be to just pass in the results from the physical device as the spec recommends.
A more complex solution might involve setting these features via an interface similar to extensions.
Also, some features from extensions need to be set via the pNext memory of VkDeviceCreateInfo. It would be nice (but less critical) to support this as well.
This issue is preventing usage of QVulkanWindow in my case.