zink/codegen: do not include compilation structs with extension structs
authorHoe Hao Cheng <haochengho12907@gmail.com>
Sun, 1 May 2022 09:29:08 +0000 (17:29 +0800)
committerMarge Bot <emma+marge@anholt.net>
Fri, 3 Jun 2022 13:06:34 +0000 (13:06 +0000)
commit07565e8852970777ffe552f20444de4cd8e2f4c8
treeed392975964b1665392a292a2779c36b1c10717d
parent0d344e96c0ff0ba385411f1411ef6a51049fcc0c
zink/codegen: do not include compilation structs with extension structs

(compilation structs refer to VkPhysicalDeviceVulkanXYFeatures/Properties, as
they consist of all features added by extensions promoted in VK X.Y)

The spec prohibits this, so instead we map the fields in the compilation
structs onto the fields in extension structs.

Some extensions' feature/properties structs are not promoted, and the spec
allows including both compilation structs and extension structs in such cases.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16265>
src/gallium/drivers/zink/zink_device_info.py