Lines Matching refs:nb
110 return build_det(&b->nb, cols, size);
127 elem[r] = build_mat_subdet(&b->nb, cols, size, c, r);
130 elem[r] = nir_fneg(&b->nb, elem[r]);
133 adj_col[c] = nir_vec(&b->nb, elem, size);
136 nir_ssa_def *det_inv = nir_frcp(&b->nb, build_det(&b->nb, cols, size));
140 val->elems[i]->def = nir_fmul(&b->nb, adj_col[i], det_inv);
278 struct nir_builder *nb = &b->nb;
336 dest->def = nir_radians(nb, src[0]);
339 dest->def = nir_degrees(nb, src[0]);
342 dest->def = nir_ftan(nb, src[0]);
346 nir_ssa_def *inf = nir_imm_floatN_t(&b->nb, INFINITY, src[0]->bit_size);
348 nir_imm_intN_t(&b->nb, (uint64_t)1 << (src[0]->bit_size - 1),
350 nir_ssa_def *sign = nir_fsign(nb, src[0]);
351 nir_ssa_def *abs = nir_fabs(nb, src[0]);
358 dest->def = nir_bcsel(nb,
359 nir_ieq(nb, abs, inf),
360 nir_iand(nb, src[0], sign_bit),
361 nir_fmul(nb, sign, nir_ffract(nb, abs)));
365 whole->def = nir_fmul(nb, sign, nir_ffloor(nb, abs));
371 nir_ssa_def *inf = nir_imm_floatN_t(&b->nb, INFINITY, src[0]->bit_size);
373 nir_imm_intN_t(&b->nb, (uint64_t)1 << (src[0]->bit_size - 1),
375 nir_ssa_def *sign = nir_fsign(nb, src[0]);
376 nir_ssa_def *abs = nir_fabs(nb, src[0]);
380 dest->elems[0]->def = nir_bcsel(nb,
381 nir_ieq(nb, abs, inf),
382 nir_iand(nb, src[0], sign_bit),
383 nir_fmul(nb, sign, nir_ffract(nb, abs)));
384 dest->elems[1]->def = nir_fmul(nb, sign, nir_ffloor(nb, abs));
401 const bool exact = nb->exact;
402 nb->exact = true;
404 nir_ssa_def *cmp = nir_slt(nb, src[1], src[0]);
406 nb->exact = exact;
407 dest->def = nir_fsub(nb, nir_imm_floatN_t(nb, 1.0f, cmp->bit_size), cmp);
412 dest->def = nir_fast_length(nb, src[0]);
415 dest->def = nir_fast_distance(nb, src[0], src[1]);
418 dest->def = nir_fast_normalize(nb, src[0]);
422 dest->def = nir_fexp(nb, src[0]);
426 dest->def = nir_flog(nb, src[0]);
430 dest->def = nir_fclamp(nb, src[0], src[1], src[2]);
433 nb->exact = true;
434 dest->def = nir_fclamp(nb, src[0], src[1], src[2]);
435 nb->exact = false;
438 dest->def = nir_uclamp(nb, src[0], src[1], src[2]);
441 dest->def = nir_iclamp(nb, src[0], src[1], src[2]);
445 dest->def = nir_cross3(nb, src[0], src[1]);
450 dest->def = nir_smoothstep(nb, src[0], src[1], src[2]);
456 nir_bcsel(nb, nir_flt(nb, nir_fdot(nb, src[2], src[1]),
457 NIR_IMM_FP(nb, 0.0)),
458 src[0], nir_fneg(nb, src[0]));
464 nir_a_minus_bc(nb, src[0],
466 nir_fmul(nb, nir_fdot(nb, src[0], src[1]),
467 NIR_IMM_FP(nb, 2.0)));
474 nir_ssa_def *n_dot_i = nir_fdot(nb, N, I);
475 nir_ssa_def *one = NIR_IMM_FP(nb, 1.0);
476 nir_ssa_def *zero = NIR_IMM_FP(nb, 0.0);
489 eta = nir_build_alu(nb, conversion_op, eta, NULL, NULL, NULL);
493 nir_a_minus_bc(nb, one, eta,
494 nir_fmul(nb, eta, nir_a_minus_bc(nb, one, n_dot_i, n_dot_i)));
496 nir_a_minus_bc(nb, nir_fmul(nb, eta, I),
497 nir_ffma(nb, eta, n_dot_i, nir_fsqrt(nb, k)),
500 dest->def = nir_bcsel(nb, nir_flt(nb, k, zero), zero, result);
507 nir_fmul_imm(nb, nir_fsub(nb, nir_fexp(nb, src[0]),
508 nir_fexp(nb, nir_fneg(nb, src[0]))),
515 nir_fmul_imm(nb, nir_fadd(nb, nir_fexp(nb, src[0]),
516 nir_fexp(nb, nir_fneg(nb, src[0]))),
531 nir_ssa_def *x = nir_fclamp(nb, src[0],
532 nir_imm_floatN_t(nb, -clamped_x, bit_size),
533 nir_imm_floatN_t(nb, clamped_x, bit_size));
541 const bool exact = nb->exact;
543 nb->exact = true;
544 nir_ssa_def *is_regular = nir_flt(nb,
545 nir_imm_floatN_t(nb, 0, bit_size),
546 nir_fabs(nb, src[0]));
551 nir_ssa_def *flushed = nir_fmul(nb,
553 nir_imm_floatN_t(nb, 1.0, bit_size));
554 nb->exact = exact;
556 dest->def = nir_bcsel(nb,
558 nir_fdiv(nb, nir_fsub(nb, nir_fexp(nb, x),
559 nir_fexp(nb, nir_fneg(nb, x))),
560 nir_fadd(nb, nir_fexp(nb, x),
561 nir_fexp(nb, nir_fneg(nb, x)))),
567 dest->def = nir_fmul(nb, nir_fsign(nb, src[0]),
568 nir_flog(nb, nir_fadd(nb, nir_fabs(nb, src[0]),
569 nir_fsqrt(nb, nir_ffma_imm2(nb, src[0], src[0], 1.0f)))));
572 dest->def = nir_flog(nb, nir_fadd(nb, src[0],
573 nir_fsqrt(nb, nir_ffma_imm2(nb, src[0], src[0], -1.0f))));
576 nir_ssa_def *one = nir_imm_floatN_t(nb, 1.0, src[0]->bit_size);
578 nir_fmul_imm(nb, nir_flog(nb, nir_fdiv(nb, nir_fadd(nb, src[0], one),
579 nir_fsub(nb, one, src[0]))),
585 dest->def = build_asin(nb, src[0], 0.086566724, -0.03102955, true);
590 nir_fsub(nb, nir_imm_floatN_t(nb, M_PI_2f, src[0]->bit_size),
591 build_asin(nb, src[0], 0.08132463, -0.02363318, false));
595 dest->def = nir_atan(nb, src[0]);
599 dest->def = nir_atan2(nb, src[0], src[1]);
603 dest->def = nir_frexp_sig(nb, src[0]);
607 exp->def = nir_frexp_exp(nb, src[0]);
614 dest->elems[0]->def = nir_frexp_sig(nb, src[0]);
615 dest->elems[1]->def = nir_frexp_exp(nb, src[0]);
625 b->nb.exact |= exact;
626 dest->def = nir_build_alu(&b->nb, op, src[0], src[1], src[2], NULL);
630 b->nb.exact = false;
657 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(b->nb.shader, op);
694 nir_builder_instr_insert(&b->nb, &intrin->instr);
698 def = nir_vector_extract(&b->nb, def, vec_deref->arr.index.ssa);