Lines Matching refs:nb
104 case 2: return build_mat2_det(&b->nb, cols); in build_mat_det()
105 case 3: return build_mat3_det(&b->nb, cols); in build_mat_det()
106 case 4: return build_mat4_det(&b->nb, cols); in build_mat_det()
156 elem[r] = build_mat_subdet(&b->nb, src, size, c, r); in matrix_inverse()
159 elem[r] = nir_fneg(&b->nb, elem[r]); in matrix_inverse()
162 adj_col[c] = nir_vec(&b->nb, elem, size); in matrix_inverse()
165 nir_ssa_def *det_inv = nir_frcp(&b->nb, build_mat_det(b, src)); in matrix_inverse()
169 val->elems[i]->def = nir_fmul(&b->nb, adj_col[i], det_inv); in matrix_inverse()
307 struct nir_builder *nb = &b->nb; in handle_glsl450_alu() local
325 dest->def = nir_radians(nb, src[0]); in handle_glsl450_alu()
328 dest->def = nir_degrees(nb, src[0]); in handle_glsl450_alu()
331 dest->def = nir_ftan(nb, src[0]); in handle_glsl450_alu()
335 nir_ssa_def *sign = nir_fsign(nb, src[0]); in handle_glsl450_alu()
336 nir_ssa_def *abs = nir_fabs(nb, src[0]); in handle_glsl450_alu()
337 dest->def = nir_fmul(nb, sign, nir_ffract(nb, abs)); in handle_glsl450_alu()
341 whole->def = nir_fmul(nb, sign, nir_ffloor(nb, abs)); in handle_glsl450_alu()
347 nir_ssa_def *sign = nir_fsign(nb, src[0]); in handle_glsl450_alu()
348 nir_ssa_def *abs = nir_fabs(nb, src[0]); in handle_glsl450_alu()
350 dest->elems[0]->def = nir_fmul(nb, sign, nir_ffract(nb, abs)); in handle_glsl450_alu()
351 dest->elems[1]->def = nir_fmul(nb, sign, nir_ffloor(nb, abs)); in handle_glsl450_alu()
356 dest->def = nir_sge(nb, src[1], src[0]); in handle_glsl450_alu()
360 dest->def = nir_fast_length(nb, src[0]); in handle_glsl450_alu()
363 dest->def = nir_fast_distance(nb, src[0], src[1]); in handle_glsl450_alu()
366 dest->def = nir_fast_normalize(nb, src[0]); in handle_glsl450_alu()
370 dest->def = nir_fexp(nb, src[0]); in handle_glsl450_alu()
374 dest->def = nir_flog(nb, src[0]); in handle_glsl450_alu()
378 dest->def = nir_fclamp(nb, src[0], src[1], src[2]); in handle_glsl450_alu()
381 nb->exact = true; in handle_glsl450_alu()
382 dest->def = nir_fclamp(nb, src[0], src[1], src[2]); in handle_glsl450_alu()
383 nb->exact = false; in handle_glsl450_alu()
386 dest->def = nir_uclamp(nb, src[0], src[1], src[2]); in handle_glsl450_alu()
389 dest->def = nir_iclamp(nb, src[0], src[1], src[2]); in handle_glsl450_alu()
393 dest->def = nir_cross3(nb, src[0], src[1]); in handle_glsl450_alu()
398 dest->def = nir_smoothstep(nb, src[0], src[1], src[2]); in handle_glsl450_alu()
404 nir_bcsel(nb, nir_flt(nb, nir_fdot(nb, src[2], src[1]), in handle_glsl450_alu()
405 NIR_IMM_FP(nb, 0.0)), in handle_glsl450_alu()
406 src[0], nir_fneg(nb, src[0])); in handle_glsl450_alu()
412 nir_a_minus_bc(nb, src[0], in handle_glsl450_alu()
414 nir_fmul(nb, nir_fdot(nb, src[0], src[1]), in handle_glsl450_alu()
415 NIR_IMM_FP(nb, 2.0))); in handle_glsl450_alu()
422 nir_ssa_def *n_dot_i = nir_fdot(nb, N, I); in handle_glsl450_alu()
423 nir_ssa_def *one = NIR_IMM_FP(nb, 1.0); in handle_glsl450_alu()
424 nir_ssa_def *zero = NIR_IMM_FP(nb, 0.0); in handle_glsl450_alu()
437 eta = nir_build_alu(nb, conversion_op, eta, NULL, NULL, NULL); in handle_glsl450_alu()
441 nir_a_minus_bc(nb, one, eta, in handle_glsl450_alu()
442 nir_fmul(nb, eta, nir_a_minus_bc(nb, one, n_dot_i, n_dot_i))); in handle_glsl450_alu()
444 nir_a_minus_bc(nb, nir_fmul(nb, eta, I), in handle_glsl450_alu()
445 nir_ffma(nb, eta, n_dot_i, nir_fsqrt(nb, k)), in handle_glsl450_alu()
448 dest->def = nir_bcsel(nb, nir_flt(nb, k, zero), zero, result); in handle_glsl450_alu()
455 nir_fmul_imm(nb, nir_fsub(nb, nir_fexp(nb, src[0]), in handle_glsl450_alu()
456 nir_fexp(nb, nir_fneg(nb, src[0]))), in handle_glsl450_alu()
463 nir_fmul_imm(nb, nir_fadd(nb, nir_fexp(nb, src[0]), in handle_glsl450_alu()
464 nir_fexp(nb, nir_fneg(nb, src[0]))), in handle_glsl450_alu()
479 nir_ssa_def *x = nir_fclamp(nb, src[0], in handle_glsl450_alu()
480 nir_imm_floatN_t(nb, -clamped_x, bit_size), in handle_glsl450_alu()
481 nir_imm_floatN_t(nb, clamped_x, bit_size)); in handle_glsl450_alu()
483 nir_fdiv(nb, nir_fsub(nb, nir_fexp(nb, x), in handle_glsl450_alu()
484 nir_fexp(nb, nir_fneg(nb, x))), in handle_glsl450_alu()
485 nir_fadd(nb, nir_fexp(nb, x), in handle_glsl450_alu()
486 nir_fexp(nb, nir_fneg(nb, x)))); in handle_glsl450_alu()
491 dest->def = nir_fmul(nb, nir_fsign(nb, src[0]), in handle_glsl450_alu()
492 nir_flog(nb, nir_fadd(nb, nir_fabs(nb, src[0]), in handle_glsl450_alu()
493 nir_fsqrt(nb, nir_ffma_imm2(nb, src[0], src[0], 1.0f))))); in handle_glsl450_alu()
496 dest->def = nir_flog(nb, nir_fadd(nb, src[0], in handle_glsl450_alu()
497 nir_fsqrt(nb, nir_ffma_imm2(nb, src[0], src[0], -1.0f)))); in handle_glsl450_alu()
500 nir_ssa_def *one = nir_imm_floatN_t(nb, 1.0, src[0]->bit_size); in handle_glsl450_alu()
502 nir_fmul_imm(nb, nir_flog(nb, nir_fdiv(nb, nir_fadd(nb, src[0], one), in handle_glsl450_alu()
503 nir_fsub(nb, one, src[0]))), in handle_glsl450_alu()
509 dest->def = build_asin(nb, src[0], 0.086566724, -0.03102955, true); in handle_glsl450_alu()
514 nir_fsub(nb, nir_imm_floatN_t(nb, M_PI_2f, src[0]->bit_size), in handle_glsl450_alu()
515 build_asin(nb, src[0], 0.08132463, -0.02363318, false)); in handle_glsl450_alu()
519 dest->def = nir_atan(nb, src[0]); in handle_glsl450_alu()
523 dest->def = nir_atan2(nb, src[0], src[1]); in handle_glsl450_alu()
527 dest->def = nir_frexp_sig(nb, src[0]); in handle_glsl450_alu()
531 exp->def = nir_frexp_exp(nb, src[0]); in handle_glsl450_alu()
538 dest->elems[0]->def = nir_frexp_sig(nb, src[0]); in handle_glsl450_alu()
539 dest->elems[1]->def = nir_frexp_exp(nb, src[0]); in handle_glsl450_alu()
549 b->nb.exact |= exact; in handle_glsl450_alu()
550 dest->def = nir_build_alu(&b->nb, op, src[0], src[1], src[2], NULL); in handle_glsl450_alu()
554 b->nb.exact = false; in handle_glsl450_alu()
578 nir_intrinsic_instr *intrin = nir_intrinsic_instr_create(b->nb.shader, op); in handle_glsl450_interpolation()
615 nir_builder_instr_insert(&b->nb, &intrin->instr); in handle_glsl450_interpolation()
619 def = nir_vector_extract(&b->nb, def, vec_deref->arr.index.ssa); in handle_glsl450_interpolation()