Lines Matching defs:ureg
203 struct ureg_program *ureg;
423 struct ureg_program *ureg,
450 struct ureg_program *ureg,
460 struct ureg_dst temp = ureg_DECL_temporary(sx->ureg);
462 ureg_MOV(ureg,
466 ureg_MOV(ureg, ureg_writemask(temp, writemask),
473 ureg_MOV(ureg, ureg_writemask(temp, writemask),
488 struct ureg_program *ureg,
495 reg = ureg_DECL_vs_input(ureg, dst->base.index[0].imm);
497 dcl_base_input(sx, ureg, dst, reg, dst->base.index[0].imm,
503 struct ureg_program *ureg,
515 ureg_DECL_input(ureg,
519 dcl_base_input(sx, ureg, dst, reg, dst->base.index[1].imm,
526 sx->prim_id = ureg_DECL_system_value(ureg, TGSI_SEMANTIC_PRIMID, 0);
532 struct ureg_program *ureg,
540 reg = ureg_DECL_system_value(ureg, translate_system_name(dcl_siv_name), 0);
542 dcl_base_input(sx, ureg, dst, reg, dst->base.index[0].imm,
548 struct ureg_program *ureg,
558 reg = ureg_DECL_input(ureg,
562 dcl_base_input(sx, ureg, dst, reg, dst->base.index[1].imm,
568 struct ureg_program *ureg,
576 reg = ureg_DECL_fs_input(ureg,
581 dcl_base_input(sx, ureg, dst, reg, dst->base.index[0].imm,
587 struct ureg_program *ureg,
596 ureg_property(ureg,
599 ureg_property(ureg,
604 reg = ureg_DECL_fs_input(ureg,
612 struct ureg_dst tmp = ureg_DECL_temporary(ureg);
616 ureg_CMP(ureg, tmp, reg,
617 ureg_imm1i(ureg, 0), ureg_imm1i(ureg, -1));
622 dcl_base_input(sx, ureg, dst, reg, dst->base.index[0].imm,
628 struct ureg_program *ureg,
636 reg = ureg_DECL_fs_input(ureg,
644 struct ureg_dst tmp = ureg_DECL_temporary(ureg);
646 ureg_MOV(ureg, tmp, reg);
647 ureg_RCP(ureg, ureg_writemask(tmp, TGSI_WRITEMASK_W),
652 dcl_base_input(sx, ureg, dst, reg, dst->base.index[0].imm,
694 reg = ureg_src(ureg_DECL_temporary(sx->ureg));
699 reg = ureg_src(ureg_DECL_temporary(sx->ureg));
774 reg = ureg_DECL_temporary(sx->ureg);
810 reg = ureg_src(ureg_DECL_temporary(sx->ureg));
949 reg = ureg_imm4f(sx->ureg,
956 reg = ureg_imm4i(sx->ureg,
963 reg = ureg_imm4u(sx->ureg,
971 reg = ureg_src(ureg_DECL_temporary(sx->ureg));
1165 sample_ureg_emit(struct ureg_program *ureg,
1183 offsetreg = ureg_imm3i(ureg,
1194 ureg_tex_insn(ureg,
1203 typedef void (*unary_ureg_func)(struct ureg_program *ureg, struct ureg_dst dst,
1206 expand_unary_to_scalarf(struct ureg_program *ureg, unary_ureg_func func,
1209 struct ureg_dst tmp = ureg_DECL_temporary(ureg);
1214 ureg_MOV(ureg, tmp, src);
1219 func(ureg, scalar_dst,
1224 func(ureg, scalar_dst,
1229 func(ureg, scalar_dst,
1234 func(ureg, scalar_dst,
1237 ureg_release_temporary(ureg, tmp);
1246 struct ureg_program *ureg = NULL;
1278 ureg = ureg_create(PIPE_SHADER_FRAGMENT);
1281 ureg = ureg_create(PIPE_SHADER_VERTEX);
1284 ureg = ureg_create(PIPE_SHADER_GEOMETRY);
1288 assert(ureg);
1289 sx.ureg = ureg;
1299 expand_unary_to_scalarf(ureg, ureg_EX2, &sx, &opcode);
1302 expand_unary_to_scalarf(ureg, ureg_SQRT, &sx, &opcode);
1305 expand_unary_to_scalarf(ureg, ureg_RSQ, &sx, &opcode);
1308 expand_unary_to_scalarf(ureg, ureg_LG2, &sx, &opcode);
1312 ureg_IMUL_HI(ureg,
1319 ureg_UMUL(ureg,
1341 struct ureg_dst too_large = ureg_DECL_temporary(ureg);
1342 struct ureg_dst tmp = ureg_DECL_temporary(ureg);
1343 ureg_FSGE(ureg, too_large,
1345 ureg_imm1f(ureg, 2147483648.0f));
1346 ureg_F2I(ureg, tmp,
1348 ureg_UCMP(ureg,
1351 ureg_imm1i(ureg, 0x7fffffff),
1353 ureg_release_temporary(ureg, too_large);
1354 ureg_release_temporary(ureg, tmp);
1365 struct ureg_dst too_large = ureg_DECL_temporary(ureg);
1366 struct ureg_dst tmp = ureg_DECL_temporary(ureg);
1367 ureg_FSGE(ureg, too_large,
1369 ureg_imm1f(ureg, 4294967296.0f));
1374 ureg_MAX(ureg, tmp,
1375 ureg_imm1f(ureg, 0.0f),
1377 ureg_F2U(ureg, tmp,
1379 ureg_UCMP(ureg,
1382 ureg_imm1u(ureg, 0xffffffff),
1384 ureg_release_temporary(ureg, too_large);
1385 ureg_release_temporary(ureg, tmp);
1401 ureg_DECL_sampler(ureg, resource);
1404 ureg_TXF(ureg,
1415 sample_ureg_emit(ureg, TGSI_OPCODE_SAMPLE_I, 2, &opcode,
1426 ureg_DECL_immediate_block_uint(ureg,
1442 ureg_DECL_sampler(ureg, resource);
1445 ureg_TXQ(ureg,
1453 struct ureg_dst r0 = ureg_DECL_temporary(ureg);
1464 ureg_SVIEWINFO(ureg, r0,
1476 ureg_MOV(ureg, dstreg, tsrc);
1480 ureg_I2F(ureg, dstreg, tsrc);
1494 ureg_I2F(ureg, r0, ureg_src(r0));
1504 ureg_RCP(ureg, dstregmasked, ureg_scalar(tsrc, dst_swizzle));
1507 ureg_MOV(ureg, dstregmasked, ureg_scalar(tsrc, dst_swizzle));
1511 ureg_release_temporary(ureg, r0);
1522 ureg_TEX(ureg,
1535 sample_ureg_emit(ureg, TGSI_OPCODE_SAMPLE, 3, &opcode,
1544 struct ureg_dst r0 = ureg_DECL_temporary(ureg);
1559 ureg_MOV(ureg,
1562 ureg_MOV(ureg,
1569 ureg_TEX(ureg,
1576 ureg_release_temporary(ureg, r0);
1585 sample_ureg_emit(ureg, TGSI_OPCODE_SAMPLE_C, 4, &opcode,
1594 struct ureg_dst r0 = ureg_DECL_temporary(ureg);
1610 ureg_MOV(ureg,
1613 ureg_MOV(ureg,
1616 ureg_MOV(ureg,
1618 ureg_imm1f(ureg, 0.0f));
1620 ureg_TXL(ureg,
1627 ureg_release_temporary(ureg, r0);
1636 sample_ureg_emit(ureg, TGSI_OPCODE_SAMPLE_C_LZ, 4, &opcode,
1645 struct ureg_dst r0 = ureg_DECL_temporary(ureg);
1652 ureg_MOV(ureg,
1655 ureg_MOV(ureg,
1659 ureg_TXL(ureg,
1666 ureg_release_temporary(ureg, r0);
1675 sample_ureg_emit(ureg, TGSI_OPCODE_SAMPLE_L, 4, &opcode,
1687 ureg_TXD(ureg,
1704 sample_ureg_emit(ureg, TGSI_OPCODE_SAMPLE_D, 5, &opcode,
1713 struct ureg_dst r0 = ureg_DECL_temporary(ureg);
1720 ureg_MOV(ureg,
1723 ureg_MOV(ureg,
1727 ureg_TXB(ureg,
1734 ureg_release_temporary(ureg, r0);
1743 sample_ureg_emit(ureg, TGSI_OPCODE_SAMPLE_B, 4, &opcode,
1751 struct ureg_dst src0 = ureg_DECL_temporary(ureg);
1752 ureg_MOV(ureg, src0, translate_src_operand(&sx, &opcode.src[0], OF_FLOAT));
1757 ureg_SIN(ureg, ureg_writemask(dst, TGSI_WRITEMASK_X),
1759 ureg_SIN(ureg, ureg_writemask(dst, TGSI_WRITEMASK_Y),
1761 ureg_SIN(ureg, ureg_writemask(dst, TGSI_WRITEMASK_Z),
1763 ureg_SIN(ureg, ureg_writemask(dst, TGSI_WRITEMASK_W),
1770 ureg_COS(ureg, ureg_writemask(dst, TGSI_WRITEMASK_X),
1772 ureg_COS(ureg, ureg_writemask(dst, TGSI_WRITEMASK_Y),
1774 ureg_COS(ureg, ureg_writemask(dst, TGSI_WRITEMASK_Z),
1776 ureg_COS(ureg, ureg_writemask(dst, TGSI_WRITEMASK_W),
1779 ureg_release_temporary(ureg, src0);
1784 struct ureg_dst src0 = ureg_DECL_temporary(ureg);
1785 struct ureg_dst src1 = ureg_DECL_temporary(ureg);
1786 ureg_MOV(ureg, src0, translate_src_operand(&sx, &opcode.src[0], OF_UINT));
1787 ureg_MOV(ureg, src1, translate_src_operand(&sx, &opcode.src[1], OF_UINT));
1789 ureg_UDIV(ureg,
1795 ureg_UMOD(ureg,
1800 ureg_release_temporary(ureg, src0);
1801 ureg_release_temporary(ureg, src1);
1806 ureg_UMUL_HI(ureg,
1813 ureg_UMUL(ureg,
1833 ureg_DECL_sampler_view(ureg, res_index, target,
1853 ureg_DECL_constant2D(ureg,
1865 ureg_DECL_sampler(ureg,
1874 ureg_property(sx.ureg,
1880 ureg_property(sx.ureg,
1886 ureg_property(sx.ureg,
1904 ureg_property(sx.ureg,
1911 ureg_property(sx.ureg,
1918 ureg_property(sx.ureg,
1925 ureg_property(sx.ureg,
1932 ureg_property(sx.ureg,
1945 ureg_property(sx.ureg,
1952 dcl_vs_input(&sx, ureg, &opcode.dst[0]);
1955 dcl_gs_input(&sx, ureg, &opcode.dst[0]);
1961 dcl_sgv_input(&sx, ureg, &opcode.dst[0], opcode.dcl_siv_name);
1966 dcl_siv_input(&sx, ureg, &opcode.dst[0], opcode.dcl_siv_name);
1971 dcl_ps_input(&sx, ureg, &opcode.dst[0],
1977 dcl_ps_sgv_input(&sx, ureg, &opcode.dst[0],
1983 dcl_ps_siv_input(&sx, ureg, &opcode.dst[0],
1995 sx.output_depth = ureg_DECL_output_masked(ureg, TGSI_SEMANTIC_POSITION, 0, TGSI_WRITEMASK_Z, 0, 1);
2002 dcl_base_output(&sx, ureg,
2003 ureg_DECL_output(ureg,
2013 unsigned nr_outputs = ureg_get_nr_outputs(ureg);
2017 dcl_base_output(&sx, ureg,
2018 ureg_DECL_output(ureg,
2030 unsigned nr_outputs = ureg_get_nr_outputs(ureg);
2051 ureg_property(ureg, TGSI_PROPERTY_NUM_CLIPDIST_ENABLED,
2055 ureg_property(ureg, TGSI_PROPERTY_NUM_CULLDIST_ENABLED,
2064 ureg_property(ureg, TGSI_PROPERTY_NUM_CULLDIST_ENABLED,
2068 dcl_base_output(&sx, ureg,
2070 ureg,
2084 unsigned nr_outputs = ureg_get_nr_outputs(ureg);
2088 dcl_base_output(&sx, ureg,
2089 ureg_DECL_output(ureg,
2105 sx.temps[sx.declared_temps + i] = ureg_DECL_temporary(ureg);
2127 sx.temps[sx.declared_temps + i] = ureg_DECL_temporary(ureg);
2137 struct ureg_dst src_nz = ureg_DECL_temporary(ureg);
2138 ureg_USEQ(ureg, src_nz, src, ureg_imm1u(ureg, 0));
2139 ureg_UIF(ureg, ureg_src(src_nz), &label);
2140 ureg_release_temporary(ureg, src_nz);;
2142 ureg_UIF(ureg, translate_src_operand(&sx, &opcode.src[0], OF_INT), &label);
2157 struct ureg_dst src_nz = ureg_DECL_temporary(ureg);
2158 ureg_USEQ(ureg, src_nz, src, ureg_imm1u(ureg, 0));
2159 ureg_UIF(ureg, ureg_src(src_nz), &label);
2160 ureg_release_temporary(ureg, src_nz);
2163 ureg_UIF(ureg, translate_src_operand(&sx, &opcode.src[0], OF_INT), &label);
2167 ureg_RET(ureg);
2170 ureg_CONT(ureg);
2175 ureg_CAL(ureg, &tgsi_token_label);
2180 ureg_KILL(ureg);
2183 ureg_BRK(ureg);
2189 ureg_ENDIF(ureg);
2196 ureg_ENDSUB(ureg);
2198 tgsi_inst_no = ureg_get_instruction_number(ureg);
2199 ureg_BGNSUB(ureg);
2207 ureg_CAL(ureg, &tgsi_token_label);
2212 ureg_EMIT(ureg, ureg_imm1u(ureg, 0));
2215 ureg_ENDPRIM(ureg, ureg_imm1u(ureg, 0));
2218 ureg_EMIT(ureg, ureg_imm1u(ureg, 0));
2219 ureg_ENDPRIM(ureg, ureg_imm1u(ureg, 0));
2261 ureg_insn(ureg,
2274 ureg_ENDSUB(ureg);
2277 ureg_END(ureg);
2282 ureg_fixup_label(sx.ureg,
2293 tokens = ureg_get_tokens(ureg, &nr_tokens);
2295 ureg_destroy(ureg);