From 21ad75d4b9d838de608a04a73a45df3096950097 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 6 Feb 2023 23:53:35 -0500 Subject: [PATCH] panfrost: Lower clip_fs late This pass works both early and late, so this is an easy one to sink down. Signed-off-by: Alyssa Rosenzweig Reviewed-by: Boris Brezillon Part-of: --- src/gallium/drivers/panfrost/pan_shader.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/panfrost/pan_shader.c b/src/gallium/drivers/panfrost/pan_shader.c index 8997cd2..98ffb86 100644 --- a/src/gallium/drivers/panfrost/pan_shader.c +++ b/src/gallium/drivers/panfrost/pan_shader.c @@ -104,10 +104,6 @@ panfrost_shader_compile(struct panfrost_screen *screen, const nir_shader *ir, NIR_PASS_V(s, nir_lower_texcoord_replace, key->fs.sprite_coord_enable, true /* point coord is sysval */, false /* Y-invert */); } - - if (key->fs.clip_plane_enable) { - NIR_PASS_V(s, nir_lower_clip_fs, key->fs.clip_plane_enable, false); - } } else if (s->info.stage == MESA_SHADER_VERTEX) { inputs.fixed_varying_mask = fixed_varying_mask; @@ -118,6 +114,12 @@ panfrost_shader_compile(struct panfrost_screen *screen, const nir_shader *ir, util_dynarray_init(&out->binary, NULL); pan_shader_preprocess(s, inputs.gpu_id); + if (s->info.stage == MESA_SHADER_FRAGMENT) { + if (key->fs.clip_plane_enable) { + NIR_PASS_V(s, nir_lower_clip_fs, key->fs.clip_plane_enable, false); + } + } + if (dev->arch <= 5 && s->info.stage == MESA_SHADER_FRAGMENT) { NIR_PASS_V(s, pan_lower_framebuffer, key->fs.rt_formats, pan_raw_format_mask_midgard(key->fs.rt_formats), 0, -- 2.7.4