Lines Matching refs:num_components
158 nir_ssa_undef(nir_builder *build, unsigned num_components, unsigned bit_size)
161 nir_ssa_undef_instr_create(build->shader, num_components, bit_size);
173 nir_build_imm(nir_builder *build, unsigned num_components,
177 nir_load_const_instr_create(build->shader, num_components, bit_size);
181 memcpy(load_const->value, value, sizeof(nir_const_value) * num_components);
189 nir_imm_zero(nir_builder *build, unsigned num_components, unsigned bit_size)
192 nir_load_const_instr_create(build->shader, num_components, bit_size);
363 unsigned num_components, unsigned bit_size);
369 nir_vec(nir_builder *build, nir_ssa_def **comp, unsigned num_components)
371 return nir_build_alu_src_arr(build, nir_op_vec(num_components), comp);
375 nir_vec_scalars(nir_builder *build, nir_ssa_scalar *comp, unsigned num_components);
378 nir_mov_alu(nir_builder *build, nir_alu_src src, unsigned num_components)
381 if (src.src.is_ssa && src.src.ssa->num_components == num_components) {
383 for (unsigned i = 0; i < num_components; i++) {
392 nir_ssa_dest_init(&mov->instr, &mov->dest.dest, num_components,
395 mov->dest.write_mask = (1 << num_components) - 1;
407 unsigned num_components)
409 assert(num_components <= NIR_MAX_VEC_COMPONENTS);
414 for (unsigned i = 0; i < num_components && i < NIR_MAX_VEC_COMPONENTS; i++) {
420 if (num_components == src->num_components && is_identity_swizzle)
423 return nir_mov_alu(build, alu_src, num_components);
430 assert(src0->num_components == src1->num_components);
431 switch (src0->num_components) {
449 switch (src0->num_components) {
471 switch (src0->num_components) {
538 if (c_const < vec->num_components)
544 for (unsigned i = 0; i < vec->num_components; i++)
546 return nir_select_from_ssa_def_array(b, comps, vec->num_components, c);
555 assert(scalar->num_components == 1);
556 assert(c < vec->num_components);
558 nir_op vec_op = nir_op_vec(vec->num_components);
561 for (unsigned i = 0; i < vec->num_components; i++) {
579 assert(scalar->num_components == 1);
580 assert(c->num_components == 1);
585 if (c_const < vec->num_components)
594 nir_build_imm(b, vec->num_components,
876 assert(src->num_components * src->bit_size == dest_bit_size);
898 for (unsigned i = 0; i < src->num_components; i++) {
909 assert(src->num_components == 1);
987 srcs[src_idx]->num_components;
1023 assert((src->bit_size * src->num_components) % dest_bit_size == 0);
1025 (src->bit_size * src->num_components) / dest_bit_size;
1032 nir_trim_vector(nir_builder *b, nir_ssa_def *src, unsigned num_components)
1034 assert(src->num_components >= num_components);
1035 if (src->num_components == num_components)
1038 return nir_channels(b, src, nir_component_mask(num_components));
1043 * If the value already contains >= num_components, it is returned without change.
1046 nir_pad_vector(nir_builder *b, nir_ssa_def *src, unsigned num_components)
1048 assert(src->num_components <= num_components);
1049 if (src->num_components == num_components)
1055 for (; i < src->num_components; i++)
1057 for (; i < num_components; i++)
1060 return nir_vec_scalars(b, components, num_components);
1065 * bit size. If the value already contains >= num_components, it is returned
1070 unsigned num_components)
1072 assert(src->num_components <= num_components);
1073 if (src->num_components == num_components)
1079 for (; i < src->num_components; i++)
1081 for (; i < num_components; i++)
1084 return nir_vec_scalars(b, components, num_components);
1104 nir_resize_vector(nir_builder *b, nir_ssa_def *src, unsigned num_components)
1106 if (src->num_components < num_components)
1107 return nir_pad_vector(b, src, num_components);
1109 return nir_trim_vector(b, src, num_components);
1113 nir_ssa_for_src(nir_builder *build, nir_src src, int num_components);
1163 parent->dest.ssa.num_components,
1201 parent->dest.ssa.num_components,
1223 parent->dest.ssa.num_components,
1246 parent->dest.ssa.num_components,
1268 parent->num_components, parent->bit_size, NULL);
1290 parent->dest.ssa.num_components,
1353 return nir_ssa_for_src(build, nir_src_for_reg(reg), reg->num_components);
1360 assert(reg->num_components == def->num_components);
1366 mov->dest.write_mask = write_mask & BITFIELD_MASK(reg->num_components);
1391 writemask &= (1u << value->num_components) - 1u;
1499 unsigned num_components, unsigned bit_size)
1503 load->num_components = num_components;
1507 num_components, bit_size, NULL);
1519 store->num_components = value->num_components;
1523 write_mask & BITFIELD_MASK(value->num_components));
1531 unsigned num_components, unsigned bit_size)
1535 load->num_components = num_components;
1539 num_components, bit_size, NULL);
1550 return nir_build_load_param(build, param->num_components, param->bit_size, param_idx);
1601 unsigned num_components = op == nir_intrinsic_load_barycentric_model ? 3 : 2;
1603 nir_ssa_dest_init(&bary->instr, &bary->dest, num_components, 32, NULL);