nir/builder: Add nir_extract_i8_imm and nir_extract_u8_imm helpers

v2: Fix problems with 16-bit src0.

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24899>
This commit is contained in:
Ian Romanick
2023-07-21 17:01:35 -07:00
committed by Marge Bot
parent 58c7ad6ace
commit 69d086c6c4

View File

@@ -1020,6 +1020,18 @@ nir_ubitfield_extract_imm(nir_builder *build, nir_def *x, uint32_t offset, uint3
return nir_ubitfield_extract(build, x, nir_imm_int(build, offset), nir_imm_int(build, size));
}
static inline nir_def *
nir_extract_u8_imm(nir_builder *b, nir_def *a, unsigned i)
{
return nir_extract_u8(b, a, nir_imm_intN_t(b, i, a->bit_size));
}
static inline nir_def *
nir_extract_i8_imm(nir_builder *b, nir_def *a, unsigned i)
{
return nir_extract_i8(b, a, nir_imm_intN_t(b, i, a->bit_size));
}
static inline nir_def *
nir_fclamp(nir_builder *b,
nir_def *x, nir_def *min_val, nir_def *max_val)