Lines Matching defs:ureg

440     struct ureg_program *ureg;
714 tx->lconstf[n].reg = ureg_imm4f(tx->ureg, f[0], f[1], f[2], f[3]);
740 ureg_imm4i(tx->ureg, i[0], i[1], i[2], i[3]) :
741 ureg_imm4f(tx->ureg, i[0], i[1], i[2], i[3]);
765 ureg_imm1u(tx->ureg, b ? 0xffffffff : 0) :
766 ureg_imm1f(tx->ureg, b ? 1.0f : 0.0f);
777 tx->regs.t[tx->num_scratch] = ureg_DECL_local_temporary(tx->ureg);
812 tx->regs.r[idx] = ureg_DECL_temporary(tx->ureg);
820 tx->regs.address = ureg_DECL_address(tx->ureg);
822 tx->regs.a0 = ureg_DECL_temporary(tx->ureg);
831 struct ureg_src src_tg4[3] = {src0, ureg_imm1f(tx->ureg, 0.f), src1};
839 ureg_tex_insn(tx->ureg, TGSI_OPCODE_TG4, &tmp, 1, target, TGSI_RETURN_TYPE_FLOAT,
841 ureg_MOV(tx->ureg, dst, ureg_swizzle(ureg_src(tmp), NINE_SWIZZLE4(Z, X, Y, W)));
862 ureg_MOV(tx->ureg, dst, src);
865 ureg_RCP(tx->ureg, tmp, ureg_scalar(src, dim-1));
866 ureg_MUL(tx->ureg, dst, tx_src_scalar(tmp), src);
884 ureg_TEX(tx->ureg, dst, target, src0, src1);
886 ureg_TXP(tx->ureg, dst, target, src0, src1);
890 ureg_TEX(tx->ureg, dst, target, ureg_src(tmp), src1);
900 tx->regs.vT[idx] = ureg_DECL_fs_input(tx->ureg, tx->texcoord_sn, idx,
919 ureg_fixup_label(tx->ureg, tx->loop_labels[tx->loop_depth],
920 ureg_get_instruction_number(tx->ureg));
937 tx->regs.rL[l] = ureg_DECL_local_temporary(tx->ureg);
983 ureg_fixup_label(tx->ureg, tx->cond_labels[tx->cond_depth],
984 ureg_get_instruction_number(tx->ureg));
996 struct ureg_program *ureg = tx->ureg;
999 return ureg_DECL_system_value(ureg, TGSI_SEMANTIC_POSITION, 0);
1001 return ureg_DECL_fs_input(ureg, TGSI_SEMANTIC_POSITION,
1008 struct ureg_program *ureg = tx->ureg;
1031 ureg_ARL(ureg, tx->regs.address, ureg_src(tx->regs.a0));
1033 ureg_ARR(ureg, tx->regs.address, ureg_src(tx->regs.a0));
1051 ureg, TGSI_SEMANTIC_COLOR, param->idx,
1070 tx->regs.v_consecutive = ureg_src(ureg_DECL_array_temporary(ureg, 10, 0));
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));
1092 tx->regs.predicate = ureg_DECL_temporary(tx->ureg);
1099 src = ureg_DECL_sampler(ureg, param->idx);
1112 ureg_MIN(ureg, tmp, src, ureg_imm1f(ureg, 1.0f));
1113 ureg_MAX(ureg, tmp, ureg_src(tmp), ureg_imm1f(ureg, -1.0f));
1122 src = ureg_imm1f(ureg, 0.0f);
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));
1150 ureg_ADD(ureg, wpos, tx->regs.vPos,
1151 ureg_imm4f(ureg, -0.5f, -0.5f, 0.0f, 0.0f));
1160 tmp = ureg_DECL_temporary(ureg);
1162 ureg_DECL_system_value(ureg, TGSI_SEMANTIC_FACE, 0);
1165 ureg_UCMP(ureg, tmp, ureg_scalar(tx->regs.vFace, TGSI_SWIZZLE_X),
1166 ureg_imm1f(ureg, 1), ureg_imm1f(ureg, -1));
1169 tx->regs.vFace = ureg_DECL_fs_input(ureg,
1192 ureg_RCP(ureg, ureg_writemask(tmp, NINED3DSP_WRITEMASK_3), ureg_scalar(src, TGSI_SWIZZLE_W));
1193 ureg_MUL(ureg, tmp, src, ureg_swizzle(ureg_src(tmp), NINE_SWIZZLE4(W,W,W,W)));
1199 ureg_RCP(ureg, ureg_writemask(tmp, NINED3DSP_WRITEMASK_2), ureg_scalar(src, TGSI_SWIZZLE_Z));
1200 ureg_MUL(ureg, tmp, src, ureg_swizzle(ureg_src(tmp), NINE_SWIZZLE4(Z,Z,Z,Z)));
1226 ureg_ADD(ureg, tmp, src, ureg_imm1f(ureg, -0.5f));
1231 ureg_ADD(ureg, tmp, ureg_imm1f(ureg, 0.5f), ureg_negate(src));
1237 ureg_NOT(ureg, tmp, src);
1242 ureg_ADD(ureg, tmp, ureg_imm1f(ureg, 1.0f), ureg_negate(src));
1248 ureg_ADD(ureg, tmp, ureg_imm1f(ureg, 1.0f), ureg_negate(src));
1257 ureg_MAD(ureg, tmp, src, ureg_imm1f(ureg, 2.0f), ureg_imm1f(ureg, -1.0f));
1262 ureg_MAD(ureg, tmp, src, ureg_imm1f(ureg, -2.0f), ureg_imm1f(ureg, 1.0f));
1267 ureg_ADD(ureg, tmp, src, src);
1272 ureg_ADD(ureg, tmp, src, src);
1300 tx->regs.tS[param->idx] = ureg_DECL_temporary(tx->ureg);
1317 ureg_DECL_output(tx->ureg, TGSI_SEMANTIC_POSITION, 0);
1323 ureg_saturate(ureg_DECL_output(tx->ureg, TGSI_SEMANTIC_GENERIC, 16));
1328 tx->regs.oPts = ureg_DECL_temporary(tx->ureg);
1340 dst = ureg_DECL_output(tx->ureg, tx->texcoord_sn, param->idx);
1355 tx->regs.oCol[0] = ureg_DECL_temporary(tx->ureg);
1358 ureg_DECL_output(tx->ureg, TGSI_SEMANTIC_COLOR, param->idx);
1369 ureg_DECL_output_masked(tx->ureg, TGSI_SEMANTIC_POSITION, 0,
1375 tx->regs.predicate = ureg_DECL_temporary(tx->ureg);
1428 ureg_MUL(tx->ureg, rdst, ureg_src(tx->regs.tdst), ureg_imm1f(tx->ureg, f));
1477 struct ureg_program *ureg = tx->ureg;
1500 ureg_DP3(ureg, ureg_writemask(dst, m), src[0], src[1]);
1503 ureg_DP4(ureg, ureg_writemask(dst, m), src[0], src[1]);
1656 struct ureg_program *ureg = tx->ureg;
1661 ureg_ADD(ureg, dst, src0, ureg_negate(src1));
1667 struct ureg_program *ureg = tx->ureg;
1671 ureg_MOV(ureg, dst, ureg_abs(src));
1677 struct ureg_program *ureg = tx->ureg;
1682 ureg_MUL(ureg, ureg_writemask(dst, TGSI_WRITEMASK_XYZ),
1687 ureg_MAD(ureg, ureg_writemask(dst, TGSI_WRITEMASK_XYZ),
1693 ureg_MOV(ureg, ureg_writemask(dst, TGSI_WRITEMASK_W),
1694 ureg_imm1f(ureg, 1));
1725 ureg_CMP(tx->ureg, tx_dst_param(tx, &tx->insn.dst[0]),
1745 ureg_MOV(tx->ureg,
1756 ureg_SGT(tx->ureg, cgt, cnd, ureg_imm1f(tx->ureg, 0.5f));
1758 ureg_CMP(tx->ureg, dst, ureg_negate(ureg_src(cgt)),
1767 ureg_CAL(tx->ureg, &tx->inst_labels[tx->insn.src[0].idx]);
1773 struct ureg_program *ureg = tx->ureg;
1777 ureg_IF(ureg, src, tx_cond(tx));
1779 ureg_UIF(ureg, src, tx_cond(tx));
1780 ureg_CAL(ureg, &tx->inst_labels[tx->insn.src[0].idx]);
1782 ureg_ENDIF(ureg);
1788 struct ureg_program *ureg = tx->ureg;
1800 ureg_MOV(ureg, ctr, src);
1801 ureg_BGNLOOP(tx->ureg, label);
1811 ureg_SGE(ureg, tmp, ureg_imm1f(ureg, 0.5f), ctrx);
1812 ureg_IF(ureg, tx_src_scalar(tmp), tx_cond(tx));
1815 ureg_ISGE(ureg, tmp, ureg_imm1i(ureg, 0), ctrx);
1816 ureg_UIF(ureg, tx_src_scalar(tmp), tx_cond(tx));
1818 ureg_BRK(ureg);
1820 ureg_ENDIF(ureg);
1831 ureg_RET(tx->ureg);
1838 struct ureg_program *ureg = tx->ureg;
1851 ureg_ADD(ureg, dst_ctrx, src_ctr, ureg_imm1f(ureg, -1.0f));
1852 ureg_ADD(ureg, dst_al, src_ctr, al_counter);
1854 ureg_UADD(ureg, dst_ctrx, src_ctr, ureg_imm1i(ureg, -1));
1855 ureg_UADD(ureg, dst_al, src_ctr, al_counter);
1857 ureg_ENDLOOP(tx->ureg, tx_endloop(tx));
1871 tx->inst_labels[n] = ureg_get_instruction_number(tx->ureg);
1877 struct ureg_program *ureg = tx->ureg;
1886 ureg_MOV(ureg, tmp, src);
1889 ureg_COS(ureg, ureg_writemask(dst, TGSI_WRITEMASK_X),
1891 ureg_SIN(ureg, ureg_writemask(dst, TGSI_WRITEMASK_Y),
1898 ureg_SSG(tx->ureg,
1906 struct ureg_program *ureg = tx->ureg;
1921 ureg_MOV(ureg, ctr, rep);
1922 ureg_BGNLOOP(ureg, label);
1931 ureg_SGE(ureg, tmp, ureg_imm1f(ureg, 0.5f), ctrx);
1932 ureg_IF(ureg, tx_src_scalar(tmp), tx_cond(tx));
1935 ureg_ISGE(ureg, tmp, ureg_imm1i(ureg, 0), ctrx);
1936 ureg_UIF(ureg, tx_src_scalar(tmp), tx_cond(tx));
1938 ureg_BRK(ureg);
1940 ureg_ENDIF(ureg);
1947 struct ureg_program *ureg = tx->ureg;
1954 ureg_ADD(ureg, dst_ctrx, src_ctr, ureg_imm1f(ureg, -1.0f));
1956 ureg_UADD(ureg, dst_ctrx, src_ctr, ureg_imm1i(ureg, -1));
1958 ureg_ENDLOOP(tx->ureg, tx_endloop(tx));
1965 ureg_ENDIF(tx->ureg);
1974 ureg_UIF(tx->ureg, src, tx_cond(tx));
1976 ureg_IF(tx->ureg, src, tx_cond(tx));
2004 ureg_insn(tx->ureg, cmp_op, &tmp, 1, src, 2, 0);
2005 ureg_IF(tx->ureg, ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X), tx_cond(tx));
2011 ureg_ELSE(tx->ureg, tx_elsecond(tx));
2022 ureg_insn(tx->ureg, cmp_op, &tmp, 1, src, 2, 0);
2023 ureg_IF(tx->ureg, ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X), tx_cond(tx));
2024 ureg_BRK(tx->ureg);
2026 ureg_ENDIF(tx->ureg);
2242 struct ureg_program *ureg = tx->ureg;
2268 ureg_DECL_sampler(ureg, sem.reg.idx);
2280 ureg_DECL_vs_input(ureg, sem.reg.idx);
2294 ureg, tgsi.Name, tgsi.Index, sem.reg.mask, 0, 1);
2298 tx->regs.o[sem.reg.idx] = ureg_DECL_temporary(ureg);
2303 tx->regs.o[sem.reg.idx] = ureg_DECL_temporary(ureg);
2331 ureg, tgsi.Name, tgsi.Index,
2338 ureg_DECL_output_masked(ureg, tgsi.Name, tgsi.Index, sem.reg.mask,
2370 ureg_POW(tx->ureg, dst, ureg_abs(src[0]), src[1]);
2405 struct ureg_program *ureg = tx->ureg;
2409 ureg_RCP(ureg, tmp, src);
2412 ureg_MIN(ureg, tmp, ureg_imm1f(ureg, FLT_MAX/2.f), ureg_src(tmp));
2413 ureg_MAX(ureg, dst, ureg_imm1f(ureg, -FLT_MAX/2.f), ureg_src(tmp));
2420 struct ureg_program *ureg = tx->ureg;
2424 ureg_RSQ(ureg, tmp, ureg_abs(src));
2426 ureg_MIN(ureg, dst, ureg_imm1f(ureg, FLT_MAX), ureg_src(tmp));
2432 struct ureg_program *ureg = tx->ureg;
2436 ureg_LG2(ureg, tmp, ureg_abs(src));
2438 ureg_MOV(ureg, dst, tx_src_scalar(tmp));
2440 ureg_MAX(ureg, dst, ureg_imm1f(ureg, -FLT_MAX), tx_src_scalar(tmp));
2447 struct ureg_program *ureg = tx->ureg;
2451 ureg_LIT(ureg, tmp, src);
2455 ureg_CMP(ureg, ureg_writemask(dst, TGSI_WRITEMASK_Z),
2457 ureg_src(tmp), ureg_imm1f(ureg, 0.0f));
2458 ureg_MOV(ureg, ureg_writemask(dst, TGSI_WRITEMASK_XYW), ureg_src(tmp));
2464 struct ureg_program *ureg = tx->ureg;
2469 ureg_DP3(ureg, tmp, src, src);
2470 ureg_RSQ(ureg, tmp, nrm);
2472 ureg_MIN(ureg, tmp, ureg_imm1f(ureg, FLT_MAX), nrm);
2473 ureg_MUL(ureg, dst, src, nrm);
2488 ureg_DP2(tx->ureg, tmp, src[0], src[1]);
2489 ureg_ADD(tx->ureg, dst, src[2], dp2);
2496 struct ureg_program *ureg = tx->ureg;
2501 ureg_MOV(ureg, ureg_writemask(ureg_saturate(dst), TGSI_WRITEMASK_XYZ), tx->regs.vT[s]);
2502 ureg_MOV(ureg, ureg_writemask(dst, TGSI_WRITEMASK_W), ureg_imm1f(tx->ureg, 1.0f));
2509 struct ureg_program *ureg = tx->ureg;
2515 ureg_MOV(ureg, dst, src);
2532 ureg_KILL_IF(tx->ureg, reg);
2539 struct ureg_program *ureg = tx->ureg;
2549 sample = ureg_DECL_sampler(ureg, m);
2584 ureg_MAD(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), m00,
2587 ureg_MAD(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), m10,
2592 ureg_MAD(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_Y), m01,
2595 ureg_MAD(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_Y), m11,
2602 ureg_TEX(ureg, dst, ps1x_sampler_type(tx->info, m), ureg_src(tmp), sample);
2605 ureg_TEX(ureg, tmp, ps1x_sampler_type(tx->info, m), ureg_src(tmp), sample);
2606 ureg_MAD(ureg, tmp2, NINE_APPLY_SWIZZLE(src, Z),
2608 ureg_MUL(ureg, dst, ureg_src(tmp), ureg_src(tmp2));
2618 struct ureg_program *ureg = tx->ureg;
2626 sample = ureg_DECL_sampler(ureg, m);
2628 ureg_TEX(ureg, dst, ps1x_sampler_type(tx->info, m), ureg_swizzle(src, NINE_SWIZZLE4(W,X,X,X)), sample);
2635 struct ureg_program *ureg = tx->ureg;
2643 sample = ureg_DECL_sampler(ureg, m);
2645 ureg_TEX(ureg, dst, ps1x_sampler_type(tx->info, m), ureg_swizzle(src, NINE_SWIZZLE4(Y,Z,Z,Z)), sample);
2657 struct ureg_program *ureg = tx->ureg;
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);
2672 sample = ureg_DECL_sampler(ureg, m + 1);
2674 ureg_TEX(ureg, dst, ps1x_sampler_type(tx->info, m + 1), ureg_src(dst), sample);
2686 struct ureg_program *ureg = tx->ureg;
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);
2704 sample = ureg_DECL_sampler(ureg, m + 2);
2711 ureg_DP3(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), ureg_src(dst), ureg_src(dst));
2712 ureg_RCP(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X));
2714 ureg_DP3(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_Y), ureg_src(dst), E);
2716 ureg_MUL(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_Y));
2718 ureg_MUL(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X), ureg_imm1f(ureg, 2.0f));
2719 ureg_MUL(ureg, tmp, ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X), ureg_src(dst));
2721 ureg_ADD(ureg, tmp, ureg_src(tmp), ureg_negate(E));
2722 ureg_TEX(ureg, dst, ps1x_sampler_type(tx->info, m + 2), ureg_src(tmp), sample);
2729 struct ureg_program *ureg = tx->ureg;
2737 sample = ureg_DECL_sampler(ureg, m);
2739 ureg_TEX(ureg, dst, ps1x_sampler_type(tx->info, m), src, sample);
2746 struct ureg_program *ureg = tx->ureg;
2758 ureg_DP3(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), tx->regs.vT[m], src);
2759 ureg_MOV(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_YZ), ureg_imm1f(ureg, 0.0f));
2761 sample = ureg_DECL_sampler(ureg, m);
2763 ureg_TEX(ureg, dst, ps1x_sampler_type(tx->info, m), ureg_src(tmp), sample);
2770 struct ureg_program *ureg = tx->ureg;
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);
2786 ureg_RCP(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_Z), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_Y));
2788 ureg_MUL(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_Z));
2790 ureg_CMP(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), ureg_negate(ureg_abs(ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_Y))),
2791 ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X), ureg_imm1f(ureg, 1.0f));
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));
2802 struct ureg_program *ureg = tx->ureg;
2811 ureg_DP3(ureg, dst, tx->regs.vT[m], src);
2818 struct ureg_program *ureg = tx->ureg;
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);
2837 ureg_MOV(ureg, ureg_writemask(dst, TGSI_WRITEMASK_W), ureg_imm1f(ureg, 1.0f));
2840 sample = ureg_DECL_sampler(ureg, m + 2);
2842 ureg_TEX(ureg, dst, ps1x_sampler_type(tx->info, m + 2), ureg_src(dst), sample);
2845 sample = ureg_DECL_sampler(ureg, m + 2);
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));
2855 ureg_DP3(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), ureg_src(dst), ureg_src(dst));
2856 ureg_RCP(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X));
2858 ureg_DP3(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_Y), ureg_src(dst), ureg_src(E));
2860 ureg_MUL(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_Y));
2862 ureg_MUL(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X), ureg_imm1f(ureg, 2.0f));
2863 ureg_MUL(ureg, tmp, ureg_scalar(ureg_src(tmp), TGSI_SWIZZLE_X), ureg_src(dst));
2865 ureg_ADD(ureg, tmp, ureg_src(tmp), ureg_negate(ureg_src(E)));
2866 ureg_TEX(ureg, dst, ps1x_sampler_type(tx->info, m + 2), ureg_src(tmp), sample);
2876 struct ureg_program *ureg = tx->ureg;
2888 ureg_RCP(ureg, ureg_writemask(r5, TGSI_WRITEMASK_Z), r5g);
2889 ureg_MUL(ureg, ureg_writemask(r5, TGSI_WRITEMASK_X), r5r, ureg_scalar(ureg_src(r5), TGSI_SWIZZLE_Z));
2891 ureg_CMP(ureg, ureg_writemask(r5, TGSI_WRITEMASK_X), ureg_negate(ureg_abs(r5g)),
2892 r5r, ureg_imm1f(ureg, 1.0f));
2894 tx->regs.oDepth = ureg_DECL_output_masked(ureg, TGSI_SEMANTIC_POSITION, 0,
2896 ureg_MOV(ureg, tx->regs.oDepth, r5r);
2903 struct ureg_program *ureg = tx->ureg;
2923 ureg_MAD(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), m00,
2926 ureg_MAD(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_X), m10,
2930 ureg_MAD(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_Y), m01,
2933 ureg_MAD(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_Y), m11,
2935 ureg_MOV(ureg, ureg_writemask(dst, TGSI_WRITEMASK_XY), ureg_src(tmp));
2944 struct ureg_program *ureg = tx->ureg;
2960 ureg_TEX(ureg, dst, target, src[0], src[1]);
2963 ureg_TXP(ureg, dst, target, src[0], src[1]);
2966 ureg_TXB(ureg, dst, target, src[0], src[1]);
2977 struct ureg_program *ureg = tx->ureg;
2984 ureg_TEX(ureg, dst, t, src, ureg_DECL_sampler(ureg, s));
2991 struct ureg_program *ureg = tx->ureg;
3000 src[1] = ureg_DECL_sampler(ureg, s);
3025 ureg_TXD(tx->ureg, dst, target, src[0], src[2], src[3], src[1]);
3044 ureg_TXL(tx->ureg, dst, target, src[0], src[1]);
3056 ureg_insn(tx->ureg, cmp_op, &dst, 1, src, 2, 0);
3063 ureg_IF(tx->ureg, src, tx_cond(tx));
3064 ureg_BRK(tx->ureg);
3066 ureg_ENDIF(tx->ureg);
3235 ureg_insn(tx->ureg, tx->insn.info->opcode,
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,
3619 tx->ureg = ureg_create(info->type);
3620 if (!tx->ureg) {
3662 tx->regs.oPos = ureg_DECL_output(tx->ureg, TGSI_SEMANTIC_POSITION, 0);
3664 ureg_property(tx->ureg, TGSI_PROPERTY_FS_COORD_ORIGIN, TGSI_FS_COORD_ORIGIN_UPPER_LEFT);
3666 ureg_property(tx->ureg, TGSI_PROPERTY_FS_COORD_PIXEL_CENTER, TGSI_FS_COORD_PIXEL_CENTER_INTEGER);
3671 ureg_property(tx->ureg, TGSI_PROPERTY_LEGACY_MATH_RULES, 1);
3718 struct ureg_program *ureg = tx->ureg;
3721 /* struct ureg_dst pos_tmp = ureg_DECL_temporary(ureg);*/
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));
3736 struct ureg_program *ureg = tx->ureg;
3737 struct ureg_dst oCol0 = ureg_DECL_output(ureg, TGSI_SEMANTIC_COLOR, 0);
3743 ureg_MOV(ureg, oCol0, src_col);
3750 ureg_RCP(ureg, depth, ureg_scalar(nine_get_position_input(tx), TGSI_SWIZZLE_W));
3751 ureg_MUL(ureg, depth, ureg_src(depth), ureg_scalar(nine_get_position_input(tx), TGSI_SWIZZLE_Z));
3761 ureg_ADD(ureg, fog_factor, fog_end, ureg_negate(ureg_src(depth)));
3762 ureg_MUL(ureg, ureg_saturate(fog_factor), tx_src_scalar(fog_factor), fog_coeff);
3765 ureg_MUL(ureg, fog_factor, ureg_src(depth), fog_density);
3766 ureg_MUL(ureg, fog_factor, tx_src_scalar(fog_factor), ureg_imm1f(ureg, -1.442695f));
3767 ureg_EX2(ureg, fog_factor, tx_src_scalar(fog_factor));
3770 ureg_MUL(ureg, fog_factor, ureg_src(depth), fog_density);
3771 ureg_MUL(ureg, fog_factor, tx_src_scalar(fog_factor), tx_src_scalar(fog_factor));
3772 ureg_MUL(ureg, fog_factor, tx_src_scalar(fog_factor), ureg_imm1f(ureg, -1.442695f));
3773 ureg_EX2(ureg, fog_factor, tx_src_scalar(fog_factor));
3775 fog_vs = ureg_scalar(ureg_DECL_fs_input(ureg, TGSI_SEMANTIC_GENERIC, 16,
3778 ureg_MOV(ureg, fog_factor, fog_vs);
3781 ureg_LRP(ureg, ureg_writemask(oCol0, TGSI_WRITEMASK_XYZ),
3783 ureg_MOV(ureg, ureg_writemask(oCol0, TGSI_WRITEMASK_W), src_col);
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));
3813 ureg_property(tx->ureg, TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION, TRUE);
3816 struct ureg_dst oPts = ureg_DECL_output(tx->ureg, TGSI_SEMANTIC_PSIZE, 0);
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));
3825 ureg_END(tx->ureg);
3881 nine_ureg_create_shader(struct ureg_program *ureg,
3889 tgsi_tokens = ureg_finalize(ureg);
3988 ureg_destroy(tx->ureg);
4000 ureg_destroy(tx->ureg);
4129 ureg_DECL_constant2D(tx->ureg, 0, tx->num_slots-1, 0);
4131 ureg_DECL_constant2D(tx->ureg, 0, 4095, 0);
4132 ureg_DECL_constant2D(tx->ureg, 0, 4095, 1);
4133 ureg_DECL_constant2D(tx->ureg, 0, 2047, 2);
4134 ureg_DECL_constant2D(tx->ureg, 0, 511, 3);
4138 ureg_DECL_constant2D(tx->ureg, 0, 2, 4); /* Viewport data */
4141 const struct tgsi_token *toks = ureg_get_tokens(tx->ureg, NULL);
4151 info->cso = nine_create_shader_with_so_and_destroy(tx->ureg, pipe, &(info->so));
4153 info->cso = nine_create_shader_with_so_and_destroy(tx->ureg, pipe, NULL);