Lines Matching refs:nb

194       nir_variable *ret_tmp = nir_local_variable_create(b->nb.impl,
197 ret_deref = nir_build_deref_var(&b->nb, ret_tmp);
203 nir_builder_instr_insert(&b->nb, &call->instr);
288 nir_ssa_def *ret = nir_build_alu(&b->nb, nir_alu_op_for_opencl_opcode(b, (enum OpenCLstd_Entrypoints)opcode),
291 ret = nir_u2u(&b->nb, ret, glsl_get_bit_size(dest_type->type));
475 return ret_deref ? nir_load_deref(&b->nb, ret_deref) : NULL;
483 nir_builder *nb = &b->nb;
489 return nir_iabs_diff(nb, srcs[0], srcs[1]);
491 return nir_uabs_diff(nb, srcs[0], srcs[1]);
493 return nir_bitselect(nb, srcs[0], srcs[1], srcs[2]);
495 return nir_imad_hi(nb, srcs[0], srcs[1], srcs[2]);
497 return nir_umad_hi(nb, srcs[0], srcs[1], srcs[2]);
499 return nir_imul24_relaxed(nb, srcs[0], srcs[1]);
501 return nir_umul24_relaxed(nb, srcs[0], srcs[1]);
503 return nir_iadd(nb, nir_imul24_relaxed(nb, srcs[0], srcs[1]), srcs[2]);
505 return nir_umad24_relaxed(nb, srcs[0], srcs[1], srcs[2]);
507 return nir_fclamp(nb, srcs[0], srcs[1], srcs[2]);
509 return nir_iclamp(nb, srcs[0], srcs[1], srcs[2]);
511 return nir_uclamp(nb, srcs[0], srcs[1], srcs[2]);
513 return nir_copysign(nb, srcs[0], srcs[1]);
516 return nir_cross4(nb, srcs[0], srcs[1]);
517 return nir_cross3(nb, srcs[0], srcs[1]);
519 return nir_fdim(nb, srcs[0], srcs[1]);
521 if (nb->shader->options->lower_fmod)
523 return nir_fmod(nb, srcs[0], srcs[1]);
525 return nir_fmad(nb, srcs[0], srcs[1], srcs[2]);
527 return nir_maxmag(nb, srcs[0], srcs[1]);
529 return nir_minmag(nb, srcs[0], srcs[1]);
531 return nir_nan(nb, srcs[0]);
533 return nir_nextafter(nb, srcs[0], srcs[1]);
535 return nir_normalize(nb, srcs[0]);
537 return nir_clz_u(nb, srcs[0]);
539 return nir_ctz_u(nb, srcs[0]);
541 return nir_select(nb, srcs[0], srcs[1], srcs[2]);
545 return nir_upsample(nb, srcs[0], srcs[1]);
547 return nir_fexp(nb, srcs[0]);
549 return nir_fexp2(nb, nir_fmul_imm(nb, srcs[0], log(10) / log(2)));
551 return nir_flog(nb, srcs[0]);
553 return nir_fmul_imm(nb, nir_flog2(nb, srcs[0]), log(2) / log(10));
555 return nir_ftan(nb, srcs[0]);
557 if (nb->shader->options->lower_ldexp)
559 return nir_ldexp(nb, srcs[0], srcs[1]);
562 if (nb->shader->options->lower_ffma32 && srcs[0]->bit_size == 32)
564 return nir_ffma(nb, srcs[0], srcs[1], srcs[2]);
615 return ret_deref ? nir_load_deref(&b->nb, ret_deref) : NULL;
640 nir_ssa_def *moffset = nir_imul_imm(&b->nb, offset,
660 deref = nir_alignment_deref_cast(&b->nb, deref, alignment, 0);
663 nir_ssa_def *coffset = nir_iadd_imm(&b->nb, moffset, i);
664 nir_deref_instr *arr_deref = nir_build_deref_ptr_as_array(&b->nb, deref, coffset);
673 ncomps[i] = nir_f2fN(&b->nb, ncomps[i],
679 ssa->def = nir_channel(&b->nb, val->def, i);
685 ssa->def = nir_f2f16(&b->nb, ssa->def);
687 ssa->def = nir_convert_alu_types(&b->nb, 16, ssa->def,
697 vtn_push_nir_ssa(b, w[2], nir_vec(&b->nb, ncomps, components));
772 vtn_push_nir_ssa(b, w_dest[1], nir_imm_int(&b->nb, -1));
815 nir_variable *var = nir_local_variable_create(b->nb.impl, struct_type, NULL);
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);