Mesa (main): zink/codegen: allow conditional enabling of instance extensions
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Jun 10 20:32:44 UTC 2021
Module: Mesa
Branch: main
Commit: bec1e8d3fdf41372317e67a2d81aafa0b27b793f
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bec1e8d3fdf41372317e67a2d81aafa0b27b793f
Author: Hoe Hao Cheng <haochengho12907 at gmail.com>
Date: Sun May 30 18:53:56 2021 +0800
zink/codegen: allow conditional enabling of instance extensions
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11036>
---
src/gallium/drivers/zink/zink_instance.py | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/zink/zink_instance.py b/src/gallium/drivers/zink/zink_instance.py
index 73f983ab323..299a680907f 100644
--- a/src/gallium/drivers/zink/zink_instance.py
+++ b/src/gallium/drivers/zink/zink_instance.py
@@ -137,7 +137,6 @@ zink_create_instance(struct zink_instance_info *instance_info)
%for ext in extensions:
if (!strcmp(extension_props[i].extensionName, ${ext.extension_name_literal()})) {
have_${ext.name_with_vendor()} = true;
- extensions[num_extensions++] = ${ext.extension_name_literal()};
}
%endfor
}
@@ -172,7 +171,17 @@ zink_create_instance(struct zink_instance_info *instance_info)
}
%for ext in extensions:
- instance_info->have_${ext.name_with_vendor()} = have_${ext.name_with_vendor()};
+<%
+ conditions = ""
+ if ext.enable_conds:
+ for cond in ext.enable_conds:
+ conditions += "&& (" + cond + ") "
+ conditions = conditions.strip()
+%>\
+ if (have_${ext.name_with_vendor()} ${conditions}) {
+ instance_info->have_${ext.name_with_vendor()} = have_${ext.name_with_vendor()};
+ extensions[num_extensions++] = ${ext.extension_name_literal()};
+ }
%endfor
%for layer in layers:
More information about the mesa-commit
mailing list