Lines Matching defs:nb

193       nir_variable *ret_tmp = nir_local_variable_create(b->nb.impl,
196 ret_deref = nir_build_deref_var(&b->nb, ret_tmp);
202 nir_builder_instr_insert(&b->nb, &call->instr);
287 nir_ssa_def *ret = nir_build_alu(&b->nb, nir_alu_op_for_opencl_opcode(b, (enum OpenCLstd_Entrypoints)opcode),
290 ret = nir_u2u(&b->nb, ret, glsl_get_bit_size(dest_type->type));
474 return ret_deref ? nir_load_deref(&b->nb, ret_deref) : NULL;
482 nir_builder *nb = &b->nb;
488 return nir_iabs_diff(nb, srcs[0], srcs[1]);
490 return nir_uabs_diff(nb, srcs[0], srcs[1]);
492 return nir_bitselect(nb, srcs[0], srcs[1], srcs[2]);
494 return nir_imad_hi(nb, srcs[0], srcs[1], srcs[2]);
496 return nir_umad_hi(nb, srcs[0], srcs[1], srcs[2]);
498 return nir_imul24_relaxed(nb, srcs[0], srcs[1]);
500 return nir_umul24_relaxed(nb, srcs[0], srcs[1]);
502 return nir_iadd(nb, nir_imul24_relaxed(nb, srcs[0], srcs[1]), srcs[2]);
504 return nir_umad24_relaxed(nb, srcs[0], srcs[1], srcs[2]);
506 return nir_fclamp(nb, srcs[0], srcs[1], srcs[2]);
508 return nir_iclamp(nb, srcs[0], srcs[1], srcs[2]);
510 return nir_uclamp(nb, srcs[0], srcs[1], srcs[2]);
512 return nir_copysign(nb, srcs[0], srcs[1]);
515 return nir_cross4(nb, srcs[0], srcs[1]);
516 return nir_cross3(nb, srcs[0], srcs[1]);
518 return nir_fdim(nb, srcs[0], srcs[1]);
520 if (nb->shader->options->lower_fmod)
522 return nir_fmod(nb, srcs[0], srcs[1]);
524 return nir_fmad(nb, srcs[0], srcs[1], srcs[2]);
526 return nir_maxmag(nb, srcs[0], srcs[1]);
528 return nir_minmag(nb, srcs[0], srcs[1]);
530 return nir_nan(nb, srcs[0]);
532 return nir_nextafter(nb, srcs[0], srcs[1]);
534 return nir_normalize(nb, srcs[0]);
536 return nir_clz_u(nb, srcs[0]);
538 return nir_ctz_u(nb, srcs[0]);
540 return nir_select(nb, srcs[0], srcs[1], srcs[2]);
544 return nir_upsample(nb, srcs[0], srcs[1]);
546 return nir_fexp(nb, srcs[0]);
548 return nir_fexp2(nb, nir_fmul_imm(nb, srcs[0], log(10) / log(2)));
550 return nir_flog(nb, srcs[0]);
552 return nir_fmul_imm(nb, nir_flog2(nb, srcs[0]), log(2) / log(10));
554 return nir_ftan(nb, srcs[0]);
556 if (nb->shader->options->lower_ldexp)
558 return nir_ldexp(nb, srcs[0], srcs[1]);
561 if (nb->shader->options->lower_ffma32 && srcs[0]->bit_size == 32)
563 return nir_ffma(nb, srcs[0], srcs[1], srcs[2]);
614 return ret_deref ? nir_load_deref(&b->nb, ret_deref) : NULL;
639 nir_ssa_def *moffset = nir_imul_imm(&b->nb, offset,
659 deref = nir_alignment_deref_cast(&b->nb, deref, alignment, 0);
662 nir_ssa_def *coffset = nir_iadd_imm(&b->nb, moffset, i);
663 nir_deref_instr *arr_deref = nir_build_deref_ptr_as_array(&b->nb, deref, coffset);
672 ncomps[i] = nir_f2fN(&b->nb, ncomps[i],
678 ssa->def = nir_channel(&b->nb, val->def, i);
684 ssa->def = nir_f2f16(&b->nb, ssa->def);
686 ssa->def = nir_convert_alu_types(&b->nb, 16, ssa->def,
696 vtn_push_nir_ssa(b, w[2], nir_vec(&b->nb, ncomps, components));
771 vtn_push_nir_ssa(b, w_dest[1], nir_imm_int(&b->nb, -1));
816 nir_deref_instr *deref_var = nir_build_deref_var(&b->nb, var);
820 nir_build_deref_struct(&b->nb, deref_var, i - 1);
826 nir_store_deref(&b->nb, field_deref,
827 nir_imm_intN_t(&b->nb, idx, field_src->bit_size),
830 nir_store_deref(&b->nb, field_deref, field_src, ~0);
834 nir_ssa_def *fmt_idx = nir_imm_int(&b->nb, info_idx);
835 nir_ssa_def *ret = nir_printf(&b->nb, fmt_idx, &deref_var->dest.ssa);
845 nir_builder *nb = &b->nb;
846 nir_ssa_def *half = nir_imm_floatN_t(nb, 0.5, src->bit_size);
847 nir_ssa_def *truncated = nir_ftrunc(nb, src);
848 nir_ssa_def *remainder = nir_fsub(nb, src, truncated);
850 return nir_bcsel(nb, nir_fge(nb, nir_fabs(nb, remainder), half),
851 nir_fadd(nb, truncated, nir_fsign(nb, src)), truncated);
866 mask = nir_u2u32(&b->nb, mask);
867 mask = nir_iand(&b->nb, mask, nir_imm_intN_t(&b->nb, in_elems - 1, mask->bit_size));
869 outres[i] = nir_vector_extract(&b->nb, input, nir_channel(&b->nb, mask, i));
871 return nir_vec(&b->nb, outres, out_elems);
889 mask = nir_u2u32(&b->nb, mask);
890 mask = nir_iand(&b->nb, mask, nir_imm_intN_t(&b->nb, total_mask, mask->bit_size));
892 nir_ssa_def *this_mask = nir_channel(&b->nb, mask, i);
893 nir_ssa_def *vmask = nir_iand(&b->nb, this_mask, nir_imm_intN_t(&b->nb, half_mask, mask->bit_size));
894 nir_ssa_def *val0 = nir_vector_extract(&b->nb, input0, vmask);
895 nir_ssa_def *val1 = nir_vector_extract(&b->nb, input1, vmask);
896 nir_ssa_def *sel = nir_ilt(&b->nb, this_mask, nir_imm_intN_t(&b->nb, in_elems, mask->bit_size));
897 outres[i] = nir_bcsel(&b->nb, sel, val0, val1);
899 return nir_vec(&b->nb, outres, out_elems);