Lines Matching refs:qreg

109                   struct qreg **regs,
118 *regs = reralloc(c, *regs, struct qreg, *size);
360 struct qreg tmud = vir_reg(QFILE_MAGIC, V3D_QPU_WADDR_TMUD);
376 struct qreg data = ntq_get_src(c, instr->src[0], i);
416 struct qreg tmud = vir_reg(QFILE_MAGIC, V3D_QPU_WADDR_TMUD);
418 struct qreg data = ntq_get_src(c, instr->src[1 + has_index], 0);
449 struct qreg base_offset,
465 struct qreg tmua;
473 struct qreg offset = base_offset;
478 struct qreg data = ntq_get_src(c, instr->src[offset_src], 0);
560 struct qreg base_offset;
721 static struct qreg *
724 struct qreg *qregs = ralloc_array(c->def_ht, struct qreg,
757 * If it's a NIR reg, then we need to update the existing qreg assigned to the
759 * new MOVs, we require that the incoming qreg either be a uniform, or be
767 struct qreg result)
783 struct qreg *qregs;
799 struct qreg *qregs = entry->data;
835 * This looks up the qreg associated with a particular ssa/reg used as a source
847 struct qreg
871 struct qreg *qregs = entry->data;
875 static struct qreg
881 struct qreg r = ntq_get_src(c, instr->src[src].src,
890 static struct qreg
891 ntq_minify(struct v3d_compile *c, struct qreg size, struct qreg level)
903 struct qreg lod = c->undef;
916 struct qreg size = vir_uniform(c, contents, unit);
974 static struct qreg
975 ntq_fsincos(struct v3d_compile *c, struct qreg src, bool is_cos)
977 struct qreg input = vir_FMUL(c, src, vir_uniform_f(c, 1.0f / M_PI));
981 struct qreg periods = vir_FROUND(c, input);
982 struct qreg sin_output = vir_SIN(c, vir_FSUB(c, input, periods));
988 static struct qreg
989 ntq_fsign(struct v3d_compile *c, struct qreg src)
991 struct qreg t = vir_get_temp(c);
1010 static struct qreg
1012 struct qreg vary, struct qreg w, struct qreg r5)
1017 static struct qreg
1019 struct qreg vary, struct qreg r5)
1024 static struct qreg
1026 struct qreg vary, struct qreg r5)
1032 static struct qreg
1036 struct qreg r3 = vir_reg(QFILE_MAGIC, V3D_QPU_WADDR_R3);
1037 struct qreg r5 = vir_reg(QFILE_MAGIC, V3D_QPU_WADDR_R5);
1040 struct qreg vary;
1075 struct qreg result;
1162 struct qreg src0 = ntq_get_alu_src(c, compare_instr, 0);
1163 struct qreg src1;
1167 struct qreg nop = vir_nop_reg();
1259 struct qreg qsrc = ntq_get_src(c, src, 0);
1279 static struct qreg
1282 struct qreg result =
1291 static struct qreg
1294 struct qreg result =
1303 static struct qreg
1304 f2f16_rtz(struct v3d_compile *c, struct qreg f32)
1322 struct qreg tmp;
1324 struct qreg result = vir_get_temp(c);
1326 struct qreg mantissa32 = vir_AND(c, f32, vir_uniform_ui(c, 0x007fffff));
1329 struct qreg sign = vir_AND(c, vir_SHR(c, f32, vir_uniform_ui(c, 16)),
1333 struct qreg exp32 = vir_AND(c, vir_SHR(c, f32, vir_uniform_ui(c, 23)),
1335 struct qreg exp16 = vir_ADD(c, exp32, vir_uniform_ui(c, -127 + 15));
1394 static struct qreg
1396 struct qreg value,
1402 struct qreg tmp = vir_MOV(c, value);
1435 struct qreg srcs[4];
1446 struct qreg src[nir_op_infos[instr->op].num_inputs];
1451 struct qreg result;
1535 struct qreg tmp = vir_AND(c, src[0],
1588 struct qreg tmp = vir_AND(c, src[0],
1778 struct qreg tmp = vir_FMOV(c, src[0]);
1784 struct qreg abs_src = vir_FMOV(c, src[0]);
1786 struct qreg threshold = vir_uniform_f(c, ldexpf(1.0, -14));
1791 struct qreg zero =
1846 struct qreg tlb_reg = vir_magic_reg(V3D_QPU_WADDR_TLB);
1847 struct qreg tlbu_reg = vir_magic_reg(V3D_QPU_WADDR_TLBU);
1891 struct qreg *color = c->msaa_per_sample_output ?
1895 struct qreg r = color[0];
1896 struct qreg g = color[1];
1897 struct qreg b = color[2];
1898 struct qreg a = color[3];
1959 struct qreg *color = &c->outputs[var->data.driver_location * 4];
1967 struct qreg tlbu_reg = vir_magic_reg(V3D_QPU_WADDR_TLBU);
2056 struct qreg val,
2057 struct qreg vpm_index,
2068 vir_VPM_WRITE(struct v3d_compile *c, struct qreg val, uint32_t vpm_index)
2217 static struct qreg
2223 struct qreg vpm = vir_reg(QFILE_VPM, vpm_index);
2490 * Sets up the mapping from nir_register to struct qreg *.
2492 * Each nir_register gets a struct qreg per 32-bit component being stored.
2499 struct qreg *qregs = ralloc_array(c->def_ht, struct qreg,
2517 struct qreg *qregs = ntq_init_ssa_def(c, &instr->def);
2587 struct qreg *color_reads_for_sample =
2634 struct qreg r, g, b, a;
2646 struct qreg rg = conf != 0xffffffff && i == 0 ?
2657 struct qreg ba = vir_TLB_COLOR_READ(c);
2667 struct qreg *color_reads =
2824 struct qreg vpm_offset = vir_uniform_ui(c, index++);
2831 struct qreg input = c->inputs[offset * 4 + comp];
2880 struct qreg offset = ntq_get_src(c, instr->src[1], 0);
2896 struct qreg val = ntq_get_src(c, instr->src[0], 0);
2923 struct qreg val = ntq_get_src(c, instr->src[0], 0);
2929 struct qreg offset = vir_ADD(c,
2955 ntq_get_sample_offset(struct v3d_compile *c, struct qreg sample_idx,
2956 struct qreg *sx, struct qreg *sy)
2960 struct qreg offset_x =
2971 struct qreg offset_y =
2984 struct qreg *out_x,
2985 struct qreg *out_y)
2987 struct qreg sample_mask;
2993 struct qreg i0 = vir_uniform_ui(c, 0);
2994 struct qreg i1 = vir_uniform_ui(c, 1);
2995 struct qreg i2 = vir_uniform_ui(c, 2);
2996 struct qreg i3 = vir_uniform_ui(c, 3);
2997 struct qreg i4 = vir_uniform_ui(c, 4);
2998 struct qreg i8 = vir_uniform_ui(c, 8);
3001 struct qreg F = vir_uniform_ui(c, 0);
3002 struct qreg T = vir_uniform_ui(c, ~0);
3003 struct qreg s0 = vir_XOR(c, vir_AND(c, sample_mask, i1), i1);
3006 struct qreg s1 = vir_XOR(c, vir_AND(c, sample_mask, i2), i2);
3009 struct qreg s2 = vir_XOR(c, vir_AND(c, sample_mask, i4), i4);
3012 struct qreg s3 = vir_XOR(c, vir_AND(c, sample_mask, i8), i8);
3017 struct qreg sample_idx = i3;
3026 struct qreg offset_x, offset_y;
3032 struct qreg s0_and_s3 = vir_AND(c, s0, s3);
3033 struct qreg s1_and_s2 = vir_AND(c, s1, s2);
3035 struct qreg use_center = vir_XOR(c, sample_mask, vir_uniform_ui(c, 0));
3041 struct qreg zero = vir_uniform_f(c, 0.0f);
3050 static struct qreg
3052 struct qreg p,
3053 struct qreg C,
3054 struct qreg offset_x,
3055 struct qreg offset_y,
3061 struct qreg sample_offset_x =
3063 struct qreg sample_offset_y =
3066 struct qreg scaleX =
3069 struct qreg scaleY =
3073 struct qreg pInterp =
3080 struct qreg w = c->payload_w;
3081 struct qreg wInterp =
3089 emit_ldunifa(struct v3d_compile *c, struct qreg *result)
3201 struct qreg base_offset = !is_ssbo ?
3206 struct qreg unifa = vir_reg(QFILE_MAGIC, V3D_QPU_WADDR_UNIFA);
3225 struct qreg data;
3255 struct qreg tmp;
3276 static inline struct qreg
3468 struct qreg qdest = ntq_emit_cond_to_bool(c, V3D_QPU_COND_IFA);
3603 struct qreg x = vir_AND(c, c->cs_payload[0],
3606 struct qreg y = vir_SHR(c, c->cs_payload[0],
3609 struct qreg z = vir_AND(c, c->cs_payload[1],
3639 struct qreg lii = emit_load_local_invocation_index(c);
3676 struct qreg col = ntq_get_src(c, instr->src[0], 0);
3678 struct qreg row = vir_uniform_ui(c, row_idx++);
3740 struct qreg offset_x, offset_y;
3741 struct qreg sample_idx = ntq_get_src(c, instr->src[0], 0);
3750 struct qreg offset_x =
3752 struct qreg offset_y =
3763 struct qreg offset_x, offset_y;
3793 struct qreg p = c->interp[input_idx].vp;
3794 struct qreg C = c->interp[input_idx].C;
3797 struct qreg offset_x = ntq_get_src(c, instr->src[0], 0);
3798 struct qreg offset_y = ntq_get_src(c, instr->src[0], 1);
3800 struct qreg result =
3820 struct qreg first = vir_FLAFIRST(c);
3826 struct qreg result = ntq_emit_cond_to_bool(c, V3D_QPU_COND_IFA);
4392 struct qreg wg_in_mem = vir_SHR(c, c->cs_payload[1],
4403 struct qreg shared_per_wg =