Lines Matching refs:regs

354     /* number of regs parsed outside of special handler */
489 } regs;
490 unsigned num_temp; /* ARRAY_SIZE(regs.r) */
772 if (tx->num_scratch >= ARRAY_SIZE(tx->regs.t)) {
774 return tx->regs.t[0];
776 if (ureg_dst_is_undef(tx->regs.t[tx->num_scratch]))
777 tx->regs.t[tx->num_scratch] = ureg_DECL_local_temporary(tx->ureg);
778 return tx->regs.t[tx->num_scratch++];
804 tx->regs.r = REALLOC(tx->regs.r,
805 k * sizeof(tx->regs.r[0]),
806 n * sizeof(tx->regs.r[0]));
808 tx->regs.r[k] = ureg_dst_undef();
811 if (ureg_dst_is_undef(tx->regs.r[idx]))
812 tx->regs.r[idx] = ureg_DECL_temporary(tx->ureg);
819 if (ureg_dst_is_undef(tx->regs.address))
820 tx->regs.address = ureg_DECL_address(tx->ureg);
821 if (ureg_dst_is_undef(tx->regs.a0))
822 tx->regs.a0 = ureg_DECL_temporary(tx->ureg);
898 assert(idx >= 0 && idx < ARRAY_SIZE(tx->regs.vT));
899 if (ureg_src_is_undef(tx->regs.vT[idx]))
900 tx->regs.vT[idx] = ureg_DECL_fs_input(tx->ureg, tx->texcoord_sn, idx,
935 if (ureg_dst_is_undef(tx->regs.rL[l])) {
937 tx->regs.rL[l] = ureg_DECL_local_temporary(tx->ureg);
943 return tx->regs.rL[l];
955 return ureg_scalar(ureg_src(tx->regs.rL[loop_level]), TGSI_SWIZZLE_Y);
1019 src = ureg_src(tx->regs.r[param->idx]);
1027 assert(!ureg_dst_is_undef(tx->regs.a0));
1031 ureg_ARL(ureg, tx->regs.address, ureg_src(tx->regs.a0));
1033 ureg_ARR(ureg, tx->regs.address, ureg_src(tx->regs.a0));
1034 src = ureg_src(tx->regs.address);
1038 src = ureg_src(tx->regs.tS[param->idx]);
1041 src = tx->regs.vT[param->idx];
1068 if (ureg_src_is_undef(tx->regs.v_consecutive)) {
1070 tx->regs.v_consecutive = ureg_src(ureg_DECL_array_temporary(ureg, 10, 0));
1072 if (!ureg_src_is_undef(tx->regs.v[i]))
1073 ureg_MOV(ureg, ureg_dst_array_offset(ureg_dst(tx->regs.v_consecutive), i), tx->regs.v[i]);
1075 ureg_MOV(ureg, ureg_dst_array_offset(ureg_dst(tx->regs.v_consecutive), i), ureg_imm4f(ureg, 0.0f, 0.0f, 0.0f, 1.0f));
1078 src = ureg_src_array_offset(tx->regs.v_consecutive, param->idx);
1080 assert(param->idx < ARRAY_SIZE(tx->regs.v));
1081 src = tx->regs.v[param->idx];
1089 if (ureg_dst_is_undef(tx->regs.predicate)) {
1092 tx->regs.predicate = ureg_DECL_temporary(tx->ureg);
1094 src = ureg_src(tx->regs.predicate);
1134 if (ureg_dst_is_undef(tx->regs.address))
1135 tx->regs.address = ureg_DECL_address(ureg);
1137 ureg_ARR(ureg, tx->regs.address, tx_get_loopal(tx));
1139 ureg_UARL(ureg, tx->regs.address, tx_get_loopal(tx));
1140 src = ureg_src(tx->regs.address);
1145 if (ureg_src_is_undef(tx->regs.vPos))
1146 tx->regs.vPos = nine_get_position_input(tx);
1150 ureg_ADD(ureg, wpos, tx->regs.vPos,
1154 src = tx->regs.vPos;
1158 if (ureg_src_is_undef(tx->regs.vFace)) {
1161 tx->regs.vFace =
1165 ureg_UCMP(ureg, tmp, ureg_scalar(tx->regs.vFace, TGSI_SWIZZLE_X),
1167 tx->regs.vFace = ureg_src(tmp);
1169 tx->regs.vFace = ureg_DECL_fs_input(ureg,
1173 tx->regs.vFace = ureg_scalar(tx->regs.vFace, TGSI_SWIZZLE_X);
1175 src = tx->regs.vFace;
1293 dst = tx->regs.r[param->idx];
1299 if (ureg_dst_is_undef(tx->regs.tS[param->idx]))
1300 tx->regs.tS[param->idx] = ureg_DECL_temporary(tx->ureg);
1301 dst = tx->regs.tS[param->idx];
1305 dst = ureg_dst(tx->regs.vT[param->idx]);
1308 dst = tx->regs.a0;
1315 if (ureg_dst_is_undef(tx->regs.oPos))
1316 tx->regs.oPos =
1318 dst = tx->regs.oPos;
1321 if (ureg_dst_is_undef(tx->regs.oFog))
1322 tx->regs.oFog =
1324 dst = tx->regs.oFog;
1327 if (ureg_dst_is_undef(tx->regs.oPts))
1328 tx->regs.oPts = ureg_DECL_temporary(tx->ureg);
1329 dst = tx->regs.oPts;
1343 assert(param->idx < ARRAY_SIZE(tx->regs.o));
1344 dst = tx->regs.o[param->idx];
1352 if (ureg_dst_is_undef(tx->regs.oCol[param->idx])) {
1355 tx->regs.oCol[0] = ureg_DECL_temporary(tx->ureg);
1357 tx->regs.oCol[param->idx] =
1361 dst = tx->regs.oCol[param->idx];
1367 if (ureg_dst_is_undef(tx->regs.oDepth))
1368 tx->regs.oDepth =
1371 dst = tx->regs.oDepth; /* XXX: must write .z component */
1374 if (ureg_dst_is_undef(tx->regs.predicate))
1375 tx->regs.predicate = ureg_DECL_temporary(tx->ureg);
1376 dst = tx->regs.predicate;
1394 tx->regs.predicate_dst = dst;
1395 dst = tx->regs.predicate_tmp;
1405 tx->regs.tdst = ureg_writemask(tx_scratch(tx), param->mask);
1406 return tx->regs.tdst;
1428 ureg_MUL(tx->ureg, rdst, ureg_src(tx->regs.tdst), ureg_imm1f(tx->ureg, f));
1445 assert(param->idx < ARRAY_SIZE(tx->regs.v));
1446 src = tx->regs.v[param->idx];
2291 assert(sem.reg.idx < ARRAY_SIZE(tx->regs.o));
2292 assert(ureg_dst_is_undef(tx->regs.o[sem.reg.idx]) && "Nine doesn't support yet packing");
2293 tx->regs.o[sem.reg.idx] = ureg_DECL_output_masked(
2297 tx->regs.oPos_out = tx->regs.o[sem.reg.idx];
2298 tx->regs.o[sem.reg.idx] = ureg_DECL_temporary(ureg);
2299 tx->regs.oPos = tx->regs.o[sem.reg.idx];
2303 tx->regs.o[sem.reg.idx] = ureg_DECL_temporary(ureg);
2304 tx->regs.oPts = tx->regs.o[sem.reg.idx];
2311 assert(sem.reg.idx < ARRAY_SIZE(tx->regs.v));
2312 assert(ureg_src_is_undef(tx->regs.v[sem.reg.idx]) && "Nine doesn't support yet packing");
2322 tx->regs.v[sem.reg.idx] = nine_get_position_input(tx);
2330 tx->regs.v[sem.reg.idx] = ureg_DECL_fs_input_centroid(
2501 ureg_MOV(ureg, ureg_writemask(ureg_saturate(dst), TGSI_WRITEMASK_XYZ), tx->regs.vT[s]);
2528 reg = tx->regs.vT[tx->insn.dst[0].idx];
2581 apply_ps1x_projection(tx, texcoord, tx->regs.vT[m], m);
2669 ureg_DP3(ureg, ureg_writemask(dst, TGSI_WRITEMASK_X), tx->regs.vT[m], src);
2670 ureg_DP3(ureg, ureg_writemask(dst, TGSI_WRITEMASK_Y), tx->regs.vT[m+1], src);
2700 ureg_DP3(ureg, ureg_writemask(dst, TGSI_WRITEMASK_X), tx->regs.vT[m], src);
2701 ureg_DP3(ureg, ureg_writemask(dst, TGSI_WRITEMASK_Y), tx->regs.vT[m+1], src);
2702 ureg_DP3(ureg, ureg_writemask(dst, TGSI_WRITEMASK_Z), tx->regs.vT[m+2], src);
2758 ureg_DP3(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), tx->regs.vT[m], src);
2783 ureg_DP3(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), tx->regs.vT[m], src);
2784 ureg_DP3(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_Y), tx->regs.vT[m+1], src);
2793 tx->regs.oDepth = ureg_DECL_output_masked(ureg, TGSI_SEMANTIC_POSITION, 0,
2795 ureg_MOV(ureg, tx->regs.oDepth, ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X));
2811 ureg_DP3(ureg, dst, tx->regs.vT[m], src);
2831 ureg_DP3(ureg, ureg_writemask(dst, TGSI_WRITEMASK_X), tx->regs.vT[m], src);
2832 ureg_DP3(ureg, ureg_writemask(dst, TGSI_WRITEMASK_Y), tx->regs.vT[m+1], src);
2833 ureg_DP3(ureg, ureg_writemask(dst, TGSI_WRITEMASK_Z), tx->regs.vT[m+2], src);
2849 ureg_MOV(ureg, ureg_writemask(E, TGSI_WRITEMASK_X), ureg_scalar(tx->regs.vT[m], TGSI_SWIZZLE_W));
2850 ureg_MOV(ureg, ureg_writemask(E, TGSI_WRITEMASK_Y), ureg_scalar(tx->regs.vT[m+1], TGSI_SWIZZLE_W));
2851 ureg_MOV(ureg, ureg_writemask(E, TGSI_WRITEMASK_Z), ureg_scalar(tx->regs.vT[m+2], TGSI_SWIZZLE_W));
2884 r5 = tx->regs.r[5];
2894 tx->regs.oDepth = ureg_DECL_output_masked(ureg, TGSI_SEMANTIC_POSITION, 0,
2896 ureg_MOV(ureg, tx->regs.oDepth, r5r);
2999 src[0] = tx->regs.vT[s];
3524 if (ureg_dst_is_undef(tx->regs.predicate_tmp)) {
3525 tx->regs.predicate_tmp = ureg_DECL_temporary(tx->ureg);
3526 tx->regs.predicate_dst = ureg_DECL_temporary(tx->ureg);
3540 ureg_CMP(tx->ureg, tx->regs.predicate_dst,
3542 ureg_src(tx->regs.predicate_tmp),
3543 ureg_src(tx->regs.predicate_dst));
3593 for (i = 0; i < ARRAY_SIZE(tx->regs.rL); ++i) {
3594 tx->regs.rL[i] = ureg_dst_undef();
3596 tx->regs.address = ureg_dst_undef();
3597 tx->regs.a0 = ureg_dst_undef();
3598 tx->regs.p = ureg_dst_undef();
3599 tx->regs.oDepth = ureg_dst_undef();
3600 tx->regs.vPos = ureg_src_undef();
3601 tx->regs.vFace = ureg_src_undef();
3602 for (i = 0; i < ARRAY_SIZE(tx->regs.o); ++i)
3603 tx->regs.o[i] = ureg_dst_undef();
3604 for (i = 0; i < ARRAY_SIZE(tx->regs.oCol); ++i)
3605 tx->regs.oCol[i] = ureg_dst_undef();
3606 for (i = 0; i < ARRAY_SIZE(tx->regs.vC); ++i)
3607 tx->regs.vC[i] = ureg_src_undef();
3608 for (i = 0; i < ARRAY_SIZE(tx->regs.vT); ++i)
3609 tx->regs.vT[i] = ureg_src_undef();
3662 tx->regs.oPos = ureg_DECL_output(tx->ureg, TGSI_SEMANTIC_POSITION, 0);
3709 FREE(tx->regs.r);
3727 * ureg_MUL(ureg, ureg_writemask(pos_tmp, TGSI_WRITEMASK_XYZ), ureg_src(tx->regs.oPos), c0);
3728 * ureg_ADD(ureg, ureg_writemask(tx->regs.oPos_out, TGSI_WRITEMASK_XYZ), ureg_src(pos_tmp), c1);
3730 ureg_MOV(ureg, ureg_writemask(tx->regs.oPos_out, TGSI_WRITEMASK_XYZ), ureg_src(tx->regs.oPos));
3801 shader_add_ps_fog_stage(tx, ureg_src(tx->regs.r[0]));
3803 shader_add_ps_fog_stage(tx, ureg_src(tx->regs.oCol[0]));
3807 if (IS_VS && tx->version.major < 3 && ureg_dst_is_undef(tx->regs.oFog) && info->fog_enable) {
3808 tx->regs.oFog = ureg_DECL_output(tx->ureg, TGSI_SEMANTIC_GENERIC, 16);
3809 ureg_MOV(tx->ureg, ureg_writemask(tx->regs.oFog, TGSI_WRITEMASK_X), ureg_imm1f(tx->ureg, 0.0f));
3815 if (IS_VS && !ureg_dst_is_undef(tx->regs.oPts)) {
3817 ureg_MAX(tx->ureg, tx->regs.oPts, ureg_src(tx->regs.oPts), ureg_imm1f(tx->ureg, info->point_size_min));
3818 ureg_MIN(tx->ureg, oPts, ureg_src(tx->regs.oPts), ureg_imm1f(tx->ureg, info->point_size_max));
4005 FREE(tx->regs.r);