summaryrefslogtreecommitdiffstats
path: root/src/compiler/nir/nir_intrinsics.h
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2016-09-15 21:02:37 -0700
committerJason Ekstrand <jason.ekstrand@intel.com>2016-10-03 16:17:12 -0700
commit7697b4b98b155c818811709becdb408772371538 (patch)
tree61198eb2847f5e588b9e3ca0b553c4360a95e7fc /src/compiler/nir/nir_intrinsics.h
parent0176c6a69236466a7f4bd1cb41fc09d88a5b4778 (diff)
downloadexternal_mesa3d-7697b4b98b155c818811709becdb408772371538.zip
external_mesa3d-7697b4b98b155c818811709becdb408772371538.tar.gz
external_mesa3d-7697b4b98b155c818811709becdb408772371538.tar.bz2
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>
Diffstat (limited to 'src/compiler/nir/nir_intrinsics.h')
-rw-r--r--src/compiler/nir/nir_intrinsics.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compiler/nir/nir_intrinsics.h b/src/compiler/nir/nir_intrinsics.h
index b27a148..f24d894 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)