nir/builder: add nir_{ine,ibfe,ubfe}_imm() helper
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15854>
This commit is contained in:
@@ -668,6 +668,12 @@ nir_ieq_imm(nir_builder *build, nir_ssa_def *x, uint64_t y)
|
|||||||
return nir_ieq(build, x, nir_imm_intN_t(build, y, x->bit_size));
|
return nir_ieq(build, x, nir_imm_intN_t(build, y, x->bit_size));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline nir_ssa_def *
|
||||||
|
nir_ine_imm(nir_builder *build, nir_ssa_def *x, uint64_t y)
|
||||||
|
{
|
||||||
|
return nir_ine(build, x, nir_imm_intN_t(build, y, x->bit_size));
|
||||||
|
}
|
||||||
|
|
||||||
/* Use nir_iadd(x, -y) for reversing parameter ordering */
|
/* Use nir_iadd(x, -y) for reversing parameter ordering */
|
||||||
static inline nir_ssa_def *
|
static inline nir_ssa_def *
|
||||||
nir_isub_imm(nir_builder *build, uint64_t y, nir_ssa_def *x)
|
nir_isub_imm(nir_builder *build, uint64_t y, nir_ssa_def *x)
|
||||||
@@ -795,6 +801,18 @@ nir_udiv_imm(nir_builder *build, nir_ssa_def *x, uint64_t y)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline nir_ssa_def *
|
||||||
|
nir_ibfe_imm(nir_builder *build, nir_ssa_def *x, uint32_t offset, uint32_t size)
|
||||||
|
{
|
||||||
|
return nir_ibfe(build, x, nir_imm_int(build, offset), nir_imm_int(build, size));
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline nir_ssa_def *
|
||||||
|
nir_ubfe_imm(nir_builder *build, nir_ssa_def *x, uint32_t offset, uint32_t size)
|
||||||
|
{
|
||||||
|
return nir_ubfe(build, x, nir_imm_int(build, offset), nir_imm_int(build, size));
|
||||||
|
}
|
||||||
|
|
||||||
static inline nir_ssa_def *
|
static inline nir_ssa_def *
|
||||||
nir_fclamp(nir_builder *b,
|
nir_fclamp(nir_builder *b,
|
||||||
nir_ssa_def *x, nir_ssa_def *min_val, nir_ssa_def *max_val)
|
nir_ssa_def *x, nir_ssa_def *min_val, nir_ssa_def *max_val)
|
||||||
|
Reference in New Issue
Block a user