<hch12907>
apparently quite a number of extensions promoted in VK1.3 *do not* have their features struct promoted
<hch12907>
that makes me sad.
<hch12907>
for context: I was taking a look at #4392. (if you have VkPhysicalDeviceVulkanXYFeatures, then you cannot include VkExtensionNameFeatures, where ExtensionName == an extension promoted in VK version X.Y)
<hch12907>
therefore I had to find a way to map VkPhysicalDeviceVulkanXYFeatures to various VkExtensionNameFeatures structs, or vice versa
<hch12907>
in vulkan <=1.2 this is simple since the contents of VkExtensionNameFeatures were basically copy-and-pasted into VkPhysicalDeviceVulkanXYFeatures, and the mapping was 1:1
<hch12907>
but 1.3 broke the 1:1 mapping by not promoting some structs
<hch12907>
hmm.. rubber duck debugging strikes again: why are we using VkPhysicalDeviceVulkanXYFeatures when we can simply use VkExtensionNameFeatures?
<hch12907>
zmike: the (have_vulkan12 && have_EXT_shader_subgroup_ballot) in zink_screen.c:469 seems weird? the spec says that extension has been superseded by VK1.1 subgroup operations, I'd imagine that the extension would be useless in 1.2.
<hch12907>
self-replying to my rubber duck question: some stuff are exclusive to VkPhysicalDeviceVulkanXYFeatures.
<zmike>
hch12907: I think just go with your gut on everything and we can work it out during review
<zmike>
I'm down with a high fever for some number of days so prob not gonna be too coherent