summaryrefslogtreecommitdiff
path: root/src/compiler/isaspec
diff options
context:
space:
mode:
authorRob Clark <robdclark@chromium.org>2021-11-14 12:00:07 -0800
committerMarge Bot <emma+marge@anholt.net>2021-11-16 18:44:22 +0000
commitfac9d22773015377256444e79df07fa32cab628f (patch)
treefc4c6c2c42cdcfcefbad95aefe1382c873a3e577 /src/compiler/isaspec
parentaa93896156c7f076e5de1831292297084655cda3 (diff)
downloadmesa-fac9d22773015377256444e79df07fa32cab628f.tar.gz
isaspec: Add prototypes for expr evaluators
Add function prototypes for generated expr evaluators, to avoid a use- before-declaration issue if an expression references a derived field. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13787>
Diffstat (limited to 'src/compiler/isaspec')
-rwxr-xr-xsrc/compiler/isaspec/encode.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/compiler/isaspec/encode.py b/src/compiler/isaspec/encode.py
index bc19209e743..1bb0f925da6 100755
--- a/src/compiler/isaspec/encode.py
+++ b/src/compiler/isaspec/encode.py
@@ -465,6 +465,14 @@ ${s.expr_name(leaf.get_root(), expr)}(struct encode_state *s, struct bitset_para
## the context in which they are used to know the correct src type
%for root in s.encode_roots():
+% for leaf in s.encode_leafs(root):
+% for expr in s.bitset_used_exprs(leaf):
+static inline int64_t ${s.expr_name(leaf.get_root(), expr)}(struct encode_state *s, struct bitset_params *p, ${leaf.get_root().encode.type} src);
+% endfor
+% endfor
+%endfor
+
+%for root in s.encode_roots():
<%
rendered_exprs = []
%>