summaryrefslogtreecommitdiffstats
path: root/src/compiler
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2019-06-17 17:10:06 -0500
committerKenneth Graunke <[email protected]>2020-01-03 00:41:50 +0000
commit19ed12afd170c97180a9cc7eb6c5589d4c427a40 (patch)
tree82dfbe6648f3a43fe13f15bc2d81d47cc4341a97 /src/compiler
parent7a9c0fc0d778dd8ea6ed2c94efbe1374f9535a00 (diff)
st/nir: Optionally unify inputs_read/outputs_written when linking.
i965 and iris use inputs_read/outputs_written for a shader stage to determine the layout of input and output storage. Adjacent stages must agree on the layout, so adjacent input/output bitfields must match. This patch adds a new nir_shader_compiler_options::unify_interfaces flag which asks the linker to unify the input/output interfaces between adjacent stages. Reviewed-by: Timothy Arceri <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3249>
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/nir/nir.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h
index 53305ae7148..976fc59bff1 100644
--- a/src/compiler/nir/nir.h
+++ b/src/compiler/nir/nir.h
@@ -2840,6 +2840,12 @@ typedef struct nir_shader_compiler_options {
bool lower_to_scalar;
/**
+ * Should the linker unify inputs_read/outputs_written between adjacent
+ * shader stages which are linked into a single program?
+ */
+ bool unify_interfaces;
+
+ /**
* Should nir_lower_io() create load_interpolated_input intrinsics?
*
* If not, it generates regular load_input intrinsics and interpolation