diff options
-rw-r--r-- | src/compiler/nir/nir_builder.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/compiler/nir/nir_builder.h b/src/compiler/nir/nir_builder.h index 4bd5628ff7d..36e0ae3ac63 100644 --- a/src/compiler/nir/nir_builder.h +++ b/src/compiler/nir/nir_builder.h @@ -264,6 +264,18 @@ nir_imm_int64(nir_builder *build, int64_t x) } static inline nir_ssa_def * +nir_imm_intN_t(nir_builder *build, uint64_t x, unsigned bit_size) +{ + nir_const_value v; + + memset(&v, 0, sizeof(v)); + assert(bit_size <= 64); + v.i64[0] = x & (~0ull >> (64 - bit_size)); + + return nir_build_imm(build, 1, bit_size, v); +} + +static inline nir_ssa_def * nir_imm_ivec4(nir_builder *build, int x, int y, int z, int w) { nir_const_value v; |