• Home
  • Raw
  • Download

Lines Matching refs:nb

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