static nir_alu_instr *
get_mul_for_src(nir_alu_src *src, unsigned num_components,
- uint8_t swizzle[4], bool *negate, bool *abs)
+ uint8_t *swizzle, bool *negate, bool *abs)
{
- uint8_t swizzle_tmp[4];
+ uint8_t swizzle_tmp[NIR_MAX_VEC_COMPONENTS];
assert(src->src.is_ssa && !src->abs && !src->negate);
nir_instr *instr = src->src.ssa->parent_instr;
* Expected output swizzle = zyxx
* If we reuse swizzle in the loop, then output swizzle would be zyzz.
*/
- memcpy(swizzle_tmp, swizzle, 4*sizeof(uint8_t));
+ memcpy(swizzle_tmp, swizzle, NIR_MAX_VEC_COMPONENTS*sizeof(uint8_t));
for (int i = 0; i < num_components; i++)
swizzle[i] = swizzle_tmp[src->swizzle[i]];
return false;
nir_alu_instr *mul;
- uint8_t add_mul_src, swizzle[4];
+ uint8_t add_mul_src, swizzle[NIR_MAX_VEC_COMPONENTS];
bool negate, abs;
for (add_mul_src = 0; add_mul_src < 2; add_mul_src++) {
- for (unsigned i = 0; i < 4; i++)
+ for (unsigned i = 0; i < NIR_MAX_VEC_COMPONENTS; i++)
swizzle[i] = i;
negate = false;