diff options
author | Jason Ekstrand <jason.ekstrand@intel.com> | 2016-09-15 21:02:37 -0700 |
---|---|---|
committer | Jason Ekstrand <jason.ekstrand@intel.com> | 2016-10-03 16:17:12 -0700 |
commit | 7697b4b98b155c818811709becdb408772371538 (patch) | |
tree | 61198eb2847f5e588b9e3ca0b553c4360a95e7fc | |
parent | 0176c6a69236466a7f4bd1cb41fc09d88a5b4778 (diff) |
nir: Add a nop intrinsic
This intrinsic has no destination, no sources, no variables, and can be
eliminated. In other words, it does nothing and will always get deleted by
dead code elimination. However, it does provide a quick-and-easy way to
temporarily tag a particular location in a NIR shader.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
-rw-r--r-- | src/compiler/nir/nir_intrinsics.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compiler/nir/nir_intrinsics.h b/src/compiler/nir/nir_intrinsics.h index b27a148c951..f24d894f091 100644 --- a/src/compiler/nir/nir_intrinsics.h +++ b/src/compiler/nir/nir_intrinsics.h @@ -41,6 +41,9 @@ #define ARR(...) { __VA_ARGS__ } +INTRINSIC(nop, 0, ARR(0), false, 0, 0, 0, xx, xx, xx, + NIR_INTRINSIC_CAN_ELIMINATE) + INTRINSIC(load_var, 0, ARR(0), true, 0, 1, 0, xx, xx, xx, NIR_INTRINSIC_CAN_ELIMINATE) INTRINSIC(store_var, 1, ARR(0), false, 0, 1, 1, WRMASK, xx, xx, 0) INTRINSIC(copy_var, 0, ARR(0), false, 0, 2, 0, xx, xx, xx, 0) |