summaryrefslogtreecommitdiffstats
path: root/src/compiler
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-09-15 21:02:37 -0700
committerJason Ekstrand <[email protected]>2016-10-03 16:17:12 -0700
commit7697b4b98b155c818811709becdb408772371538 (patch)
tree61198eb2847f5e588b9e3ca0b553c4360a95e7fc /src/compiler
parent0176c6a69236466a7f4bd1cb41fc09d88a5b4778 (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 <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: "12.0" <[email protected]>
Diffstat (limited to 'src/compiler')
-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 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)