[Mesa-dev] [PATCH] nir: Update shader info when adding discards

Eric Anholt eric at anholt.net
Sat Aug 27 01:13:50 UTC 2016


vc4 is about to start using the shader info field to set up discard
handling.
---
 src/compiler/nir/nir_lower_bitmap.c | 2 ++
 src/compiler/nir/nir_lower_clip.c   | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/compiler/nir/nir_lower_bitmap.c b/src/compiler/nir/nir_lower_bitmap.c
index bd5c30f8dc19..216bedf57403 100644
--- a/src/compiler/nir/nir_lower_bitmap.c
+++ b/src/compiler/nir/nir_lower_bitmap.c
@@ -107,6 +107,8 @@ lower_bitmap(nir_shader *shader, nir_builder *b,
    discard = nir_intrinsic_instr_create(shader, nir_intrinsic_discard_if);
    discard->src[0] = nir_src_for_ssa(cond);
    nir_builder_instr_insert(b, &discard->instr);
+
+   shader->info.fs.uses_discard = true;
 }
 
 static void
diff --git a/src/compiler/nir/nir_lower_clip.c b/src/compiler/nir/nir_lower_clip.c
index 80db653a4286..b74e6cca39f4 100644
--- a/src/compiler/nir/nir_lower_clip.c
+++ b/src/compiler/nir/nir_lower_clip.c
@@ -286,6 +286,8 @@ lower_clip_fs(nir_function_impl *impl, unsigned ucp_enables,
                                               nir_intrinsic_discard_if);
          discard->src[0] = nir_src_for_ssa(cond);
          nir_builder_instr_insert(&b, &discard->instr);
+
+         b.shader->info.fs.uses_discard = true;
       }
    }
 }
-- 
2.9.3



More information about the mesa-dev mailing list