diff --git a/src/gallium/drivers/zink/zink_device_info.py b/src/gallium/drivers/zink/zink_device_info.py index ba9d9f760ea..5494b9e103e 100644 --- a/src/gallium/drivers/zink/zink_device_info.py +++ b/src/gallium/drivers/zink/zink_device_info.py @@ -329,30 +329,10 @@ zink_get_physical_device_info(struct zink_screen *screen) %for ext in extensions: <%helpers:guard ext="${ext}"> if (!strcmp(extensions[i].extensionName, "${ext.name}")) { - %if ext.core_since: - %for version in versions: - %if ext.core_since.struct_version == version.struct_version: - if (${version.version()} >= screen->vk_version) { - %if not (ext.has_features or ext.has_properties): - info->have_${ext.name_with_vendor()} = true; - %else: - support_${ext.name_with_vendor()} = true; - %endif - } else { - %if not (ext.has_features or ext.has_properties): - info->have_${ext.name_with_vendor()} = true; - %else: - support_${ext.name_with_vendor()} = true; - %endif - } - %endif - %endfor - %else: %if not (ext.has_features or ext.has_properties): info->have_${ext.name_with_vendor()} = true; %else: support_${ext.name_with_vendor()} = true; - %endif %endif } @@ -363,6 +343,22 @@ zink_get_physical_device_info(struct zink_screen *screen) } } + %for version in versions: + if (${version.version()} <= screen->vk_version) { + %for ext in extensions: + %if ext.core_since and ext.core_since.struct_version == version.struct_version: + <%helpers:guard ext="${ext}"> + %if not (ext.has_features or ext.has_properties): + info->have_${ext.name_with_vendor()} = true; + %else: + support_${ext.name_with_vendor()} = true; + %endif + + %endif + %endfor + } + %endfor + // get device features if (screen->vk.GetPhysicalDeviceFeatures2) { // check for device extension features