aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris/iris_program.c
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-11-09 01:08:36 -0800
committerKenneth Graunke <[email protected]>2019-02-21 10:26:09 -0800
commit2876dd1a37996880cec8e612b89712aa11010950 (patch)
tree8ecc67e8096a12e1d65e55131cc847ea6dde096a /src/gallium/drivers/iris/iris_program.c
parent80c856cbee8bf3980c1bbfd8d9a8f2c4ca81036e (diff)
iris: lower user clip planes
Diffstat (limited to 'src/gallium/drivers/iris/iris_program.c')
-rw-r--r--src/gallium/drivers/iris/iris_program.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_program.c b/src/gallium/drivers/iris/iris_program.c
index 773d4e5ebb3..10e0161f851 100644
--- a/src/gallium/drivers/iris/iris_program.c
+++ b/src/gallium/drivers/iris/iris_program.c
@@ -540,6 +540,14 @@ iris_compile_vs(struct iris_context *ice,
nir_shader *nir = nir_shader_clone(mem_ctx, ish->nir);
+ if (key->nr_userclip_plane_consts) {
+ nir_function_impl *impl = nir_shader_get_entrypoint(nir);
+ nir_lower_clip_vs(nir, (1 << key->nr_userclip_plane_consts) - 1, true);
+ nir_lower_io_to_temporaries(nir, impl, true, false);
+ nir_lower_global_vars_to_local(nir);
+ nir_lower_vars_to_ssa(nir);
+ }
+
// XXX: alt mode
assign_common_binding_table_offsets(devinfo, nir, prog_data, 0);