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:
@@ -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));
|
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 *
|
static inline nir_def *
|
||||||
nir_fclamp(nir_builder *b,
|
nir_fclamp(nir_builder *b,
|
||||||
nir_def *x, nir_def *min_val, nir_def *max_val)
|
nir_def *x, nir_def *min_val, nir_def *max_val)
|
||||||
|
Reference in New Issue
Block a user