nir: Simplify nir_alu_instr_channel_used definition
Deduplicates the "get # of channels" logic which was the same between the helpers. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26084>
This commit is contained in:
@@ -2848,16 +2848,6 @@ nir_op_is_vec(nir_op op)
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
nir_alu_instr_channel_used(const nir_alu_instr *instr, unsigned src,
|
||||
unsigned channel)
|
||||
{
|
||||
if (nir_op_infos[instr->op].input_sizes[src] > 0)
|
||||
return channel < nir_op_infos[instr->op].input_sizes[src];
|
||||
|
||||
return channel < instr->def.num_components;
|
||||
}
|
||||
|
||||
nir_component_mask_t
|
||||
nir_alu_instr_src_read_mask(const nir_alu_instr *instr, unsigned src)
|
||||
{
|
||||
|
||||
@@ -1575,10 +1575,6 @@ typedef struct nir_alu_instr {
|
||||
|
||||
void nir_alu_src_copy(nir_alu_src *dest, const nir_alu_src *src);
|
||||
|
||||
/* is this source channel used? */
|
||||
bool
|
||||
nir_alu_instr_channel_used(const nir_alu_instr *instr, unsigned src,
|
||||
unsigned channel);
|
||||
nir_component_mask_t
|
||||
nir_alu_instr_src_read_mask(const nir_alu_instr *instr, unsigned src);
|
||||
/**
|
||||
@@ -1587,6 +1583,14 @@ nir_alu_instr_src_read_mask(const nir_alu_instr *instr, unsigned src);
|
||||
unsigned
|
||||
nir_ssa_alu_instr_src_components(const nir_alu_instr *instr, unsigned src);
|
||||
|
||||
/* is this source channel used? */
|
||||
static inline bool
|
||||
nir_alu_instr_channel_used(const nir_alu_instr *instr, unsigned src,
|
||||
unsigned channel)
|
||||
{
|
||||
return channel < nir_ssa_alu_instr_src_components(instr, src);
|
||||
}
|
||||
|
||||
bool
|
||||
nir_alu_instr_is_comparison(const nir_alu_instr *instr);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user