[Mesa-dev] [PATCH 1/7] nir/builder: Add a nir_build_ivec4() convenience helper.

Kenneth Graunke kenneth at whitecape.org
Wed Jan 13 20:33:11 PST 2016


nir_build_ivec4 is more readable and succinct than using nir_build_imm
directly, even if you have C99.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
 src/glsl/nir/nir_builder.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/glsl/nir/nir_builder.h b/src/glsl/nir/nir_builder.h
index cfaaf8e..88ba3a1 100644
--- a/src/glsl/nir/nir_builder.h
+++ b/src/glsl/nir/nir_builder.h
@@ -121,6 +121,20 @@ nir_imm_int(nir_builder *build, int x)
 }
 
 static inline nir_ssa_def *
+nir_imm_ivec4(nir_builder *build, int x, int y, int z, int w)
+{
+   nir_const_value v;
+
+   memset(&v, 0, sizeof(v));
+   v.i[0] = x;
+   v.i[1] = y;
+   v.i[2] = z;
+   v.i[3] = w;
+
+   return nir_build_imm(build, 4, v);
+}
+
+static inline nir_ssa_def *
 nir_build_alu(nir_builder *build, nir_op op, nir_ssa_def *src0,
               nir_ssa_def *src1, nir_ssa_def *src2, nir_ssa_def *src3)
 {
-- 
2.7.0



More information about the mesa-dev mailing list