path: root/src/gallium/drivers/vc4
diff options
authorKenneth Graunke <>2017-05-21 19:26:15 -0700
committerKenneth Graunke <>2018-11-19 14:33:16 -0800
commit5b682143da1a24f4c66279fb5c6f9deefcb8a986 (patch)
tree7484fbbfac996271afd74710049607ef20466f25 /src/gallium/drivers/vc4
parentd0f746b6458e375a7f58f4f46a36f16dbb7089e1 (diff)
nir: Make nir_lower_clip_vs optionally work with variables.
The way nir_lower_clip_vs() works with store_output intrinsics makes a ton of assumptions about the driver_location field. In i965 and iris, I'd rather do this lowering early and work with variables. v3d may want to switch to that as well, and ir3 could too, but I'm not sure exactly what would need updating. For now, handle both methods. Reviewed-by: Eric Anholt <>
Diffstat (limited to 'src/gallium/drivers/vc4')
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/vc4/vc4_program.c b/src/gallium/drivers/vc4/vc4_program.c
index bc9bd76ae95..b98baca30cf 100644
--- a/src/gallium/drivers/vc4/vc4_program.c
+++ b/src/gallium/drivers/vc4/vc4_program.c
@@ -2363,7 +2363,8 @@ vc4_shader_ntq(struct vc4_context *vc4, enum qstage stage,
if (stage == QSTAGE_FRAG) {
NIR_PASS_V(c->s, nir_lower_clip_fs, c->key->ucp_enables);
} else {
- NIR_PASS_V(c->s, nir_lower_clip_vs, c->key->ucp_enables);
+ NIR_PASS_V(c->s, nir_lower_clip_vs,
+ c->key->ucp_enables, false);
NIR_PASS_V(c->s, nir_lower_io_to_scalar,