Lines Matching refs:qreg
43 static struct qreg
56 struct qreg **regs,
65 *regs = reralloc(c, *regs, struct qreg, *size);
92 static struct qreg
95 struct qreg indirect_offset = ntq_get_src(c, intr->src[0], 0);
115 static struct qreg
122 struct qreg offset = ntq_get_src(c, intr->src[1], 0);
160 static struct qreg *
163 struct qreg *qregs = ralloc_array(c->def_ht, struct qreg,
176 * If it's a NIR reg, then we need to update the existing qreg assigned to the
178 * new MOVs, we require that the incoming qreg either be a uniform, or be
186 struct qreg result)
199 struct qreg *qregs;
215 struct qreg *qregs = entry->data;
249 static struct qreg
264 struct qreg *qregs = entry->data;
268 static struct qreg
274 struct qreg r = ntq_get_src(c, instr->src[src].src,
283 static inline struct qreg
284 qir_SAT(struct vc4_compile *c, struct qreg val)
291 static struct qreg
292 ntq_rcp(struct vc4_compile *c, struct qreg x)
294 struct qreg r = qir_RCP(c, x);
304 static struct qreg
305 ntq_rsq(struct vc4_compile *c, struct qreg x)
307 struct qreg r = qir_RSQ(c, x);
320 static struct qreg
321 ntq_umul(struct vc4_compile *c, struct qreg src0, struct qreg src1)
323 struct qreg src0_hi = qir_SHR(c, src0,
325 struct qreg src1_hi = qir_SHR(c, src1,
328 struct qreg hilo = qir_MUL24(c, src0_hi, src1);
329 struct qreg lohi = qir_MUL24(c, src0, src1_hi);
330 struct qreg lolo = qir_MUL24(c, src0, src1);
337 static struct qreg
338 ntq_scale_depth_texture(struct vc4_compile *c, struct qreg src)
340 struct qreg depthf = qir_ITOF(c, qir_SHR(c, src,
366 struct qreg addr;
380 struct qreg tex = qir_TEX_RESULT(c);
385 struct qreg scaled = ntq_scale_depth_texture(c, tex);
398 struct qreg s, t, r, lod, compare;
450 struct qreg texture_u[] = {
504 struct qreg tex = qir_TEX_RESULT(c);
509 struct qreg normalized = ntq_scale_depth_texture(c, tex);
510 struct qreg depth_output;
512 struct qreg u0 = qir_uniform_f(c, 0.0f);
513 struct qreg u1 = qir_uniform_f(c, 1.0f);
574 static struct qreg
575 ntq_ffract(struct vc4_compile *c, struct qreg src)
577 struct qreg trunc = qir_ITOF(c, qir_FTOI(c, src));
578 struct qreg diff = qir_FSUB(c, src, trunc);
591 static struct qreg
592 ntq_ffloor(struct vc4_compile *c, struct qreg src)
594 struct qreg result = qir_ITOF(c, qir_FTOI(c, src));
612 static struct qreg
613 ntq_fceil(struct vc4_compile *c, struct qreg src)
615 struct qreg result = qir_ITOF(c, qir_FTOI(c, src));
628 static struct qreg
629 ntq_shrink_sincos_input_range(struct vc4_compile *c, struct qreg x)
639 struct qreg scaled_x =
643 struct qreg x_frac = qir_FSUB(c, scaled_x,
655 static struct qreg
656 ntq_fsin(struct vc4_compile *c, struct qreg src)
666 struct qreg x = ntq_shrink_sincos_input_range(c, src);
667 struct qreg x2 = qir_FMUL(c, x, x);
668 struct qreg sum = qir_FMUL(c, x, qir_uniform_f(c, coeff[0]));
680 static struct qreg
681 ntq_fcos(struct vc4_compile *c, struct qreg src)
692 struct qreg x_frac = ntq_shrink_sincos_input_range(c, src);
693 struct qreg sum = qir_uniform_f(c, coeff[0]);
694 struct qreg x2 = qir_FMUL(c, x_frac, x_frac);
695 struct qreg x = x2; /* Current x^2, x^4, or x^6 */
708 static struct qreg
709 ntq_fsign(struct vc4_compile *c, struct qreg src)
711 struct qreg t = qir_get_temp(c);
746 static struct qreg
751 struct qreg vary = {
825 struct qreg result = qir_get_temp(c);
845 struct qreg rep = ntq_get_src(c,
854 struct qreg src;
882 static struct qreg
883 ntq_emit_ibfe(struct vc4_compile *c, struct qreg base, struct qreg offset,
884 struct qreg bits)
899 static struct qreg
900 ntq_emit_ubfe(struct vc4_compile *c, struct qreg base, struct qreg offset,
901 struct qreg bits)
921 ntq_emit_comparison(struct vc4_compile *c, struct qreg *dest,
953 struct qreg src0 = ntq_get_alu_src(c, compare_instr, 0);
954 struct qreg src1 = ntq_get_alu_src(c, compare_instr, 1);
995 static struct qreg ntq_emit_bcsel(struct vc4_compile *c, nir_alu_instr *instr,
996 struct qreg *src)
1007 struct qreg dest;
1016 static struct qreg
1017 ntq_fddx(struct vc4_compile *c, struct qreg src)
1025 struct qreg from_left = qir_ROT_MUL(c, src, 1);
1026 struct qreg from_right = qir_ROT_MUL(c, src, 15);
1037 static struct qreg
1038 ntq_fddy(struct vc4_compile *c, struct qreg src)
1043 struct qreg from_bottom = qir_ROT_MUL(c, src, 2);
1044 struct qreg from_top = qir_ROT_MUL(c, src, 14);
1069 struct qreg srcs[4];
1085 struct qreg src = ntq_get_src(c, instr->src[0].src,
1096 struct qreg src[nir_op_infos[instr->op].num_inputs];
1101 struct qreg result;
1312 struct qreg color;
1366 emit_scaled_viewport_write(struct vc4_compile *c, struct qreg rcp_w)
1368 struct qreg packed = qir_get_temp(c);
1371 struct qreg scale =
1374 struct qreg packed_chan = packed;
1389 emit_zs_write(struct vc4_compile *c, struct qreg rcp_w)
1391 struct qreg zscale = qir_uniform(c, QUNIFORM_VIEWPORT_Z_SCALE, 0);
1392 struct qreg zoffset = qir_uniform(c, QUNIFORM_VIEWPORT_Z_OFFSET, 0);
1402 emit_rcp_wc_write(struct vc4_compile *c, struct qreg rcp_w)
1410 struct qreg point_size;
1444 struct qreg rcp_w = ntq_rcp(c, c->outputs[c->output_position_index + 3]);
1479 struct qreg rcp_w = ntq_rcp(c, c->outputs[c->output_position_index + 3]);
1633 * Sets up the mapping from nir_register to struct qreg *.
1635 * Each nir_register gets a struct qreg per 32-bit component being stored.
1642 struct qreg *qregs = ralloc_array(c->def_ht, struct qreg,
1656 struct qreg *qregs = ntq_init_ssa_def(c, &instr->def);
1666 struct qreg *qregs = ntq_init_ssa_def(c, &instr->def);
1832 struct qreg cond = ntq_get_src(c, instr->src[0], 0);