Lines Matching defs:devinfo
36 brw_has_jip(const struct intel_device_info *devinfo, enum opcode opcode)
38 if (devinfo->ver < 6)
51 brw_has_uip(const struct intel_device_info *devinfo, enum opcode opcode)
53 if (devinfo->ver < 6)
56 return (devinfo->ver >= 7 && opcode == BRW_OPCODE_IF) ||
57 (devinfo->ver >= 8 && opcode == BRW_OPCODE_ELSE) ||
64 has_branch_ctrl(const struct intel_device_info *devinfo, enum opcode opcode)
66 if (devinfo->ver < 8)
93 is_split_send(UNUSED const struct intel_device_info *devinfo, unsigned opcode)
95 if (devinfo->ver >= 12)
397 dp_rc_msg_type(const struct intel_device_info *devinfo)
399 return (devinfo->ver >= 9 ? dp_rc_msg_type_gfx9 :
400 devinfo->ver >= 7 ? dp_rc_msg_type_gfx7 :
401 devinfo->ver >= 6 ? dp_rc_msg_type_gfx6 :
896 const struct intel_device_info *devinfo = isa->devinfo;
897 enum brw_reg_type type = brw_inst_dst_type(devinfo, inst);
901 if (is_split_send(devinfo, brw_inst_opcode(isa, inst))) {
905 if (devinfo->ver >= 12) {
906 err |= reg(file, brw_inst_send_dst_reg_file(devinfo, inst),
907 brw_inst_dst_da_reg_nr(devinfo, inst));
909 } else if (brw_inst_dst_address_mode(devinfo, inst) == BRW_ADDRESS_DIRECT) {
910 err |= reg(file, brw_inst_send_dst_reg_file(devinfo, inst),
911 brw_inst_dst_da_reg_nr(devinfo, inst));
912 unsigned subreg_nr = brw_inst_dst_da16_subreg_nr(devinfo, inst);
918 if (brw_inst_dst_ia_subreg_nr(devinfo, inst))
919 format(file, ".%"PRIu64, brw_inst_dst_ia_subreg_nr(devinfo, inst) /
921 if (brw_inst_send_dst_ia16_addr_imm(devinfo, inst))
922 format(file, " %d", brw_inst_send_dst_ia16_addr_imm(devinfo, inst));
926 } else if (brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_1) {
927 if (brw_inst_dst_address_mode(devinfo, inst) == BRW_ADDRESS_DIRECT) {
928 err |= reg(file, brw_inst_dst_reg_file(devinfo, inst),
929 brw_inst_dst_da_reg_nr(devinfo, inst));
932 if (brw_inst_dst_da1_subreg_nr(devinfo, inst))
933 format(file, ".%"PRIu64, brw_inst_dst_da1_subreg_nr(devinfo, inst) /
937 brw_inst_dst_hstride(devinfo, inst), NULL);
942 if (brw_inst_dst_ia_subreg_nr(devinfo, inst))
943 format(file, ".%"PRIu64, brw_inst_dst_ia_subreg_nr(devinfo, inst) /
945 if (brw_inst_dst_ia1_addr_imm(devinfo, inst))
946 format(file, " %d", brw_inst_dst_ia1_addr_imm(devinfo, inst));
949 brw_inst_dst_hstride(devinfo, inst), NULL);
954 if (brw_inst_dst_address_mode(devinfo, inst) == BRW_ADDRESS_DIRECT) {
955 err |= reg(file, brw_inst_dst_reg_file(devinfo, inst),
956 brw_inst_dst_da_reg_nr(devinfo, inst));
959 if (brw_inst_dst_da16_subreg_nr(devinfo, inst))
963 brw_inst_da16_writemask(devinfo, inst), NULL);
975 dest_3src(FILE *file, const struct intel_device_info *devinfo,
978 bool is_align1 = brw_inst_3src_access_mode(devinfo, inst) == BRW_ALIGN_1;
984 if (devinfo->ver < 10 && is_align1)
987 if (devinfo->ver == 6 && brw_inst_3src_a16_dst_reg_file(devinfo, inst))
989 else if (devinfo->ver >= 12)
990 reg_file = brw_inst_3src_a1_dst_reg_file(devinfo, inst);
991 else if (is_align1 && brw_inst_3src_a1_dst_reg_file(devinfo, inst))
996 err |= reg(file, reg_file, brw_inst_3src_dst_reg_nr(devinfo, inst));
1001 type = brw_inst_3src_a1_dst_type(devinfo, inst);
1002 subreg_nr = brw_inst_3src_a1_dst_subreg_nr(devinfo, inst);
1004 type = brw_inst_3src_a16_dst_type(devinfo, inst);
1005 subreg_nr = brw_inst_3src_a16_dst_subreg_nr(devinfo, inst) * 4;
1015 brw_inst_3src_a16_dst_writemask(devinfo, inst), NULL);
1040 const struct intel_device_info *devinfo,
1049 if (devinfo->ver >= 8 && is_logic_instruction(opcode))
1070 const struct intel_device_info *devinfo,
1081 if (devinfo->ver >= 8 && is_logic_instruction(opcode))
1123 const struct intel_device_info *devinfo,
1136 if (devinfo->ver >= 8 && is_logic_instruction(opcode))
1162 vstride_from_align1_3src_vstride(const struct intel_device_info *devinfo,
1168 if (devinfo->ver >= 12)
1248 src0_3src(FILE *file, const struct intel_device_info *devinfo,
1259 bool is_align1 = brw_inst_3src_access_mode(devinfo, inst) == BRW_ALIGN_1;
1261 if (devinfo->ver < 10 && is_align1)
1265 if (devinfo->ver >= 12 && !brw_inst_3src_a1_src0_is_imm(devinfo, inst)) {
1266 _file = brw_inst_3src_a1_src0_reg_file(devinfo, inst);
1267 } else if (brw_inst_3src_a1_src0_reg_file(devinfo, inst) ==
1270 } else if (brw_inst_3src_a1_src0_type(devinfo, inst) ==
1275 uint16_t imm_val = brw_inst_3src_a1_src0_imm(devinfo, inst);
1276 enum brw_reg_type type = brw_inst_3src_a1_src0_type(devinfo, inst);
1288 reg_nr = brw_inst_3src_src0_reg_nr(devinfo, inst);
1289 subreg_nr = brw_inst_3src_a1_src0_subreg_nr(devinfo, inst);
1290 type = brw_inst_3src_a1_src0_type(devinfo, inst);
1292 devinfo, brw_inst_3src_a1_src0_vstride(devinfo, inst));
1294 brw_inst_3src_a1_src0_hstride(devinfo, inst));
1298 reg_nr = brw_inst_3src_src0_reg_nr(devinfo, inst);
1299 subreg_nr = brw_inst_3src_a16_src0_subreg_nr(devinfo, inst) * 4;
1300 type = brw_inst_3src_a16_src_type(devinfo, inst);
1302 if (brw_inst_3src_a16_src0_rep_ctrl(devinfo, inst)) {
1319 brw_inst_3src_src0_negate(devinfo, inst), NULL);
1320 err |= control(file, "abs", _abs, brw_inst_3src_src0_abs(devinfo, inst), NULL);
1329 err |= src_swizzle(file, brw_inst_3src_a16_src0_swizzle(devinfo, inst));
1335 src1_3src(FILE *file, const struct intel_device_info *devinfo,
1346 bool is_align1 = brw_inst_3src_access_mode(devinfo, inst) == BRW_ALIGN_1;
1348 if (devinfo->ver < 10 && is_align1)
1352 if (devinfo->ver >= 12) {
1353 _file = brw_inst_3src_a1_src1_reg_file(devinfo, inst);
1354 } else if (brw_inst_3src_a1_src1_reg_file(devinfo, inst) ==
1361 reg_nr = brw_inst_3src_src1_reg_nr(devinfo, inst);
1362 subreg_nr = brw_inst_3src_a1_src1_subreg_nr(devinfo, inst);
1363 type = brw_inst_3src_a1_src1_type(devinfo, inst);
1366 devinfo, brw_inst_3src_a1_src1_vstride(devinfo, inst));
1368 brw_inst_3src_a1_src1_hstride(devinfo, inst));
1372 reg_nr = brw_inst_3src_src1_reg_nr(devinfo, inst);
1373 subreg_nr = brw_inst_3src_a16_src1_subreg_nr(devinfo, inst) * 4;
1374 type = brw_inst_3src_a16_src_type(devinfo, inst);
1376 if (brw_inst_3src_a16_src1_rep_ctrl(devinfo, inst)) {
1393 brw_inst_3src_src1_negate(devinfo, inst), NULL);
1394 err |= control(file, "abs", _abs, brw_inst_3src_src1_abs(devinfo, inst), NULL);
1403 err |= src_swizzle(file, brw_inst_3src_a16_src1_swizzle(devinfo, inst));
1409 src2_3src(FILE *file, const struct intel_device_info *devinfo,
1420 bool is_align1 = brw_inst_3src_access_mode(devinfo, inst) == BRW_ALIGN_1;
1422 if (devinfo->ver < 10 && is_align1)
1426 if (devinfo->ver >= 12 && !brw_inst_3src_a1_src2_is_imm(devinfo, inst)) {
1427 _file = brw_inst_3src_a1_src2_reg_file(devinfo, inst);
1428 } else if (brw_inst_3src_a1_src2_reg_file(devinfo, inst) ==
1433 uint16_t imm_val = brw_inst_3src_a1_src2_imm(devinfo, inst);
1434 enum brw_reg_type type = brw_inst_3src_a1_src2_type(devinfo, inst);
1446 reg_nr = brw_inst_3src_src2_reg_nr(devinfo, inst);
1447 subreg_nr = brw_inst_3src_a1_src2_subreg_nr(devinfo, inst);
1448 type = brw_inst_3src_a1_src2_type(devinfo, inst);
1454 brw_inst_3src_a1_src2_hstride(devinfo, inst));
1456 brw_inst_3src_a1_src2_hstride(devinfo, inst));
1460 reg_nr = brw_inst_3src_src2_reg_nr(devinfo, inst);
1461 subreg_nr = brw_inst_3src_a16_src2_subreg_nr(devinfo, inst) * 4;
1462 type = brw_inst_3src_a16_src_type(devinfo, inst);
1464 if (brw_inst_3src_a16_src2_rep_ctrl(devinfo, inst)) {
1481 brw_inst_3src_src2_negate(devinfo, inst), NULL);
1482 err |= control(file, "abs", _abs, brw_inst_3src_src2_abs(devinfo, inst), NULL);
1491 err |= src_swizzle(file, brw_inst_3src_a16_src2_swizzle(devinfo, inst));
1500 const struct intel_device_info *devinfo = isa->devinfo;
1504 format(file, "0x%016"PRIx64"UQ", brw_inst_imm_uq(devinfo, inst));
1507 format(file, "0x%016"PRIx64"Q", brw_inst_imm_uq(devinfo, inst));
1510 format(file, "0x%08xUD", brw_inst_imm_ud(devinfo, inst));
1513 format(file, "%dD", brw_inst_imm_d(devinfo, inst));
1516 format(file, "0x%04xUW", (uint16_t) brw_inst_imm_ud(devinfo, inst));
1519 format(file, "%dW", (int16_t) brw_inst_imm_d(devinfo, inst));
1522 format(file, "0x%08xUV", brw_inst_imm_ud(devinfo, inst));
1528 brw_vf_to_float(brw_inst_imm_ud(devinfo, inst)),
1529 brw_vf_to_float(brw_inst_imm_ud(devinfo, inst) >> 8),
1530 brw_vf_to_float(brw_inst_imm_ud(devinfo, inst) >> 16),
1531 brw_vf_to_float(brw_inst_imm_ud(devinfo, inst) >> 24));
1534 format(file, "0x%08xV", brw_inst_imm_ud(devinfo, inst));
1543 format(file, "/* %-gF */", brw_inst_imm_df(devinfo, inst));
1547 format(file, " /* %-gF */", brw_inst_imm_f(devinfo, inst));
1553 format(file, "/* %-gDF */", brw_inst_imm_df(devinfo, inst));
1568 const struct intel_device_info *devinfo,
1588 const struct intel_device_info *devinfo,
1606 const struct intel_device_info *devinfo,
1620 const struct intel_device_info *devinfo = isa->devinfo;
1622 if (is_split_send(devinfo, brw_inst_opcode(isa, inst))) {
1623 if (devinfo->ver >= 12) {
1625 devinfo,
1627 brw_inst_send_src0_reg_file(devinfo, inst),
1628 brw_inst_src0_da_reg_nr(devinfo, inst),
1630 } else if (brw_inst_send_src0_address_mode(devinfo, inst) == BRW_ADDRESS_DIRECT) {
1632 devinfo,
1635 brw_inst_src0_da_reg_nr(devinfo, inst),
1636 brw_inst_src0_da16_subreg_nr(devinfo, inst));
1639 devinfo,
1641 brw_inst_send_src0_ia16_addr_imm(devinfo, inst),
1642 brw_inst_src0_ia_subreg_nr(devinfo, inst));
1644 } else if (brw_inst_src0_reg_file(devinfo, inst) == BRW_IMMEDIATE_VALUE) {
1645 return imm(file, isa, brw_inst_src0_type(devinfo, inst), inst);
1646 } else if (brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_1) {
1647 if (brw_inst_src0_address_mode(devinfo, inst) == BRW_ADDRESS_DIRECT) {
1649 devinfo,
1651 brw_inst_src0_type(devinfo, inst),
1652 brw_inst_src0_reg_file(devinfo, inst),
1653 brw_inst_src0_vstride(devinfo, inst),
1654 brw_inst_src0_width(devinfo, inst),
1655 brw_inst_src0_hstride(devinfo, inst),
1656 brw_inst_src0_da_reg_nr(devinfo, inst),
1657 brw_inst_src0_da1_subreg_nr(devinfo, inst),
1658 brw_inst_src0_abs(devinfo, inst),
1659 brw_inst_src0_negate(devinfo, inst));
1662 devinfo,
1664 brw_inst_src0_type(devinfo, inst),
1665 brw_inst_src0_ia1_addr_imm(devinfo, inst),
1666 brw_inst_src0_ia_subreg_nr(devinfo, inst),
1667 brw_inst_src0_negate(devinfo, inst),
1668 brw_inst_src0_abs(devinfo, inst),
1669 brw_inst_src0_hstride(devinfo, inst),
1670 brw_inst_src0_width(devinfo, inst),
1671 brw_inst_src0_vstride(devinfo, inst));
1674 if (brw_inst_src0_address_mode(devinfo, inst) == BRW_ADDRESS_DIRECT) {
1676 devinfo,
1678 brw_inst_src0_type(devinfo, inst),
1679 brw_inst_src0_reg_file(devinfo, inst),
1680 brw_inst_src0_vstride(devinfo, inst),
1681 brw_inst_src0_da_reg_nr(devinfo, inst),
1682 brw_inst_src0_da16_subreg_nr(devinfo, inst),
1683 brw_inst_src0_abs(devinfo, inst),
1684 brw_inst_src0_negate(devinfo, inst),
1685 brw_inst_src0_da16_swiz_x(devinfo, inst),
1686 brw_inst_src0_da16_swiz_y(devinfo, inst),
1687 brw_inst_src0_da16_swiz_z(devinfo, inst),
1688 brw_inst_src0_da16_swiz_w(devinfo, inst));
1699 const struct intel_device_info *devinfo = isa->devinfo;
1701 if (is_split_send(devinfo, brw_inst_opcode(isa, inst))) {
1703 devinfo,
1705 brw_inst_send_src1_reg_file(devinfo, inst),
1706 brw_inst_send_src1_reg_nr(devinfo, inst),
1708 } else if (brw_inst_src1_reg_file(devinfo, inst) == BRW_IMMEDIATE_VALUE) {
1709 return imm(file, isa, brw_inst_src1_type(devinfo, inst), inst);
1710 } else if (brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_1) {
1711 if (brw_inst_src1_address_mode(devinfo, inst) == BRW_ADDRESS_DIRECT) {
1713 devinfo,
1715 brw_inst_src1_type(devinfo, inst),
1716 brw_inst_src1_reg_file(devinfo, inst),
1717 brw_inst_src1_vstride(devinfo, inst),
1718 brw_inst_src1_width(devinfo, inst),
1719 brw_inst_src1_hstride(devinfo, inst),
1720 brw_inst_src1_da_reg_nr(devinfo, inst),
1721 brw_inst_src1_da1_subreg_nr(devinfo, inst),
1722 brw_inst_src1_abs(devinfo, inst),
1723 brw_inst_src1_negate(devinfo, inst));
1726 devinfo,
1728 brw_inst_src1_type(devinfo, inst),
1729 brw_inst_src1_ia1_addr_imm(devinfo, inst),
1730 brw_inst_src1_ia_subreg_nr(devinfo, inst),
1731 brw_inst_src1_negate(devinfo, inst),
1732 brw_inst_src1_abs(devinfo, inst),
1733 brw_inst_src1_hstride(devinfo, inst),
1734 brw_inst_src1_width(devinfo, inst),
1735 brw_inst_src1_vstride(devinfo, inst));
1738 if (brw_inst_src1_address_mode(devinfo, inst) == BRW_ADDRESS_DIRECT) {
1740 devinfo,
1742 brw_inst_src1_type(devinfo, inst),
1743 brw_inst_src1_reg_file(devinfo, inst),
1744 brw_inst_src1_vstride(devinfo, inst),
1745 brw_inst_src1_da_reg_nr(devinfo, inst),
1746 brw_inst_src1_da16_subreg_nr(devinfo, inst),
1747 brw_inst_src1_abs(devinfo, inst),
1748 brw_inst_src1_negate(devinfo, inst),
1749 brw_inst_src1_da16_swiz_x(devinfo, inst),
1750 brw_inst_src1_da16_swiz_y(devinfo, inst),
1751 brw_inst_src1_da16_swiz_z(devinfo, inst),
1752 brw_inst_src1_da16_swiz_w(devinfo, inst));
1761 qtr_ctrl(FILE *file, const struct intel_device_info *devinfo,
1764 int qtr_ctl = brw_inst_qtr_control(devinfo, inst);
1765 int exec_size = 1 << brw_inst_exec_size(devinfo, inst);
1766 const unsigned nib_ctl = devinfo->ver < 7 ? 0 :
1767 brw_inst_nib_control(devinfo, inst);
1798 const struct intel_device_info *devinfo = isa->devinfo;
1800 const uint8_t x = brw_inst_swsb(devinfo, inst);
1801 const struct tgl_swsb swsb = tgl_swsb_decode(devinfo, opcode, x);
1829 write_label(FILE *file, const struct intel_device_info *devinfo,
1834 int to_bytes_scale = sizeof(brw_inst) / brw_jump_scale(devinfo);
1844 lsc_disassemble_ex_desc(const struct intel_device_info *devinfo,
1849 const unsigned addr_type = lsc_msg_desc_addr_type(devinfo, imm_desc);
1853 lsc_flat_ex_desc_base_offset(devinfo, imm_ex_desc));
1858 lsc_bss_ex_desc_index(devinfo, imm_ex_desc));
1862 lsc_bti_ex_desc_index(devinfo, imm_ex_desc));
1864 lsc_bti_ex_desc_base_offset(devinfo, imm_ex_desc));
1892 const struct intel_device_info *devinfo = isa->devinfo;
1900 if (brw_inst_pred_control(devinfo, inst)) {
1903 brw_inst_pred_inv(devinfo, inst), NULL);
1905 devinfo->ver >= 7 ? brw_inst_flag_reg_nr(devinfo, inst) : 0,
1906 brw_inst_flag_subreg_nr(devinfo, inst));
1907 if (brw_inst_access_mode(devinfo, inst) == BRW_ALIGN_1) {
1909 brw_inst_pred_control(devinfo, inst), NULL);
1912 brw_inst_pred_control(devinfo, inst), NULL);
1920 err |= control(file, "saturate", saturate, brw_inst_saturate(devinfo, inst),
1924 brw_inst_debug_control(devinfo, inst), NULL);
1929 brw_inst_math_function(devinfo, inst), NULL);
1934 brw_inst_cond_modifier(devinfo, inst), NULL);
1938 brw_inst_cond_modifier(devinfo, inst), NULL);
1944 if (brw_inst_cond_modifier(devinfo, inst) &&
1945 (devinfo->ver < 6 || (opcode != BRW_OPCODE_SEL &&
1950 devinfo->ver >= 7 ? brw_inst_flag_reg_nr(devinfo, inst) : 0,
1951 brw_inst_flag_subreg_nr(devinfo, inst));
1958 brw_inst_exec_size(devinfo, inst), NULL);
1962 if (opcode == BRW_OPCODE_SEND && devinfo->ver < 6)
1963 format(file, " %"PRIu64, brw_inst_base_mrf(devinfo, inst));
1965 if (brw_has_uip(devinfo, opcode)) {
1969 write_label(file, devinfo, root_label, offset, brw_inst_jip(devinfo, inst));
1973 write_label(file, devinfo, root_label, offset, brw_inst_uip(devinfo, inst));
1974 } else if (brw_has_jip(devinfo, opcode)) {
1976 if (devinfo->ver >= 7) {
1977 jip = brw_inst_jip(devinfo, inst);
1979 jip = brw_inst_gfx6_jump_count(devinfo, inst);
1984 write_label(file, devinfo, root_label, offset, jip);
1985 } else if (devinfo->ver < 6 && (opcode == BRW_OPCODE_BREAK ||
1989 format(file, "Jump: %d", brw_inst_gfx4_jump_count(devinfo, inst));
1991 format(file, "Pop: %"PRIu64, brw_inst_gfx4_pop_count(devinfo, inst));
1992 } else if (devinfo->ver < 6 && (opcode == BRW_OPCODE_IF ||
1997 format(file, "Jump: %d", brw_inst_gfx4_jump_count(devinfo, inst));
1998 } else if (devinfo->ver < 6 && opcode == BRW_OPCODE_ENDIF) {
2000 format(file, "Pop: %"PRIu64, brw_inst_gfx4_pop_count(devinfo, inst));
2006 err |= dest_3src(file, devinfo, inst);
2009 err |= src0_3src(file, devinfo, inst);
2012 err |= src1_3src(file, devinfo, inst);
2015 err |= src2_3src(file, devinfo, inst);
2034 enum brw_message_target sfid = brw_inst_sfid(devinfo, inst);
2038 if (is_split_send(devinfo, opcode)) {
2040 if (brw_inst_send_sel_reg32_desc(devinfo, inst)) {
2042 err |= src_send_desc_ia(file, devinfo, 0);
2045 imm_desc = brw_inst_send_desc(devinfo, inst);
2050 if (brw_inst_send_sel_reg32_ex_desc(devinfo, inst)) {
2052 err |= src_send_desc_ia(file, devinfo,
2053 brw_inst_send_ex_desc_ia_subreg_nr(devinfo, inst));
2056 imm_ex_desc = brw_inst_sends_ex_desc(devinfo, inst);
2060 if (brw_inst_src1_reg_file(devinfo, inst) != BRW_IMMEDIATE_VALUE) {
2067 imm_desc = brw_inst_send_desc(devinfo, inst);
2080 err |= control(file, "SFID", devinfo->ver >= 6 ? gfx6_sfid : gfx4_sfid,
2091 brw_inst_math_msg_function(devinfo, inst), &space);
2093 brw_inst_math_msg_saturate(devinfo, inst), &space);
2095 brw_inst_math_msg_signed_int(devinfo, inst), &space);
2097 brw_inst_math_msg_data_type(devinfo, inst), &space);
2099 brw_inst_math_msg_precision(devinfo, inst), &space);
2102 if (devinfo->ver >= 5) {
2104 brw_sampler_desc_msg_type(devinfo, imm_desc),
2107 brw_sampler_desc_simd_mode(devinfo, imm_desc),
2109 if (devinfo->ver >= 8 &&
2110 brw_sampler_desc_return_format(devinfo, imm_desc)) {
2114 brw_sampler_desc_binding_table_index(devinfo, imm_desc),
2115 brw_sampler_desc_sampler(devinfo, imm_desc));
2118 brw_sampler_desc_binding_table_index(devinfo, imm_desc),
2119 brw_sampler_desc_sampler(devinfo, imm_desc),
2120 brw_sampler_desc_msg_type(devinfo, imm_desc));
2121 if (devinfo->verx10 != 45) {
2124 brw_sampler_desc_return_format(devinfo, imm_desc),
2133 if (devinfo->ver >= 6) {
2135 brw_dp_desc_binding_table_index(devinfo, imm_desc),
2136 brw_dp_desc_msg_control(devinfo, imm_desc),
2137 brw_dp_desc_msg_type(devinfo, imm_desc),
2138 devinfo->ver >= 7 ? 0u :
2139 brw_dp_write_desc_write_commit(devinfo, imm_desc));
2141 bool is_965 = devinfo->verx10 == 40;
2145 brw_dp_read_desc_msg_type(devinfo, imm_desc),
2149 brw_dp_read_desc_msg_control(devinfo, imm_desc));
2152 brw_dp_desc_binding_table_index(devinfo, imm_desc));
2158 unsigned msg_type = brw_fb_write_desc_msg_type(devinfo, imm_desc);
2161 dp_rc_msg_type(devinfo), msg_type, &space);
2164 (devinfo->ver >= 6 ? GFX6_DATAPORT_WRITE_MESSAGE_RENDER_TARGET_WRITE
2169 brw_inst_rt_message_type(devinfo, inst), &space);
2170 if (devinfo->ver >= 6 && brw_inst_rt_slot_group(devinfo, inst))
2172 if (brw_fb_write_desc_last_render_target(devinfo, imm_desc))
2174 if (devinfo->ver >= 10 &&
2175 brw_fb_write_desc_coarse_write(devinfo, imm_desc))
2177 if (devinfo->ver < 7 &&
2178 brw_fb_write_desc_write_commit(devinfo, imm_desc))
2182 brw_fb_write_desc_msg_control(devinfo, imm_desc));
2186 brw_fb_desc_binding_table_index(devinfo, imm_desc));
2191 unsigned opcode = brw_inst_urb_opcode(devinfo, inst);
2193 format(file, " offset %"PRIu64, brw_inst_urb_global_offset(devinfo, inst));
2198 devinfo->ver >= 7 ? gfx7_urb_opcode
2202 if (devinfo->ver >= 7 &&
2203 brw_inst_urb_per_slot_offset(devinfo, inst)) {
2209 if (brw_inst_urb_channel_mask_present(devinfo, inst))
2213 brw_inst_urb_swizzle_control(devinfo, inst),
2217 if (devinfo->ver < 7) {
2219 brw_inst_urb_allocate(devinfo, inst), &space);
2221 brw_inst_urb_used(devinfo, inst), &space);
2223 if (devinfo->ver < 8) {
2225 brw_inst_urb_complete(devinfo, inst), &space);
2234 gfx7_gateway_subfuncid[brw_inst_gateway_subfuncid(devinfo, inst)]);
2240 assert(devinfo->has_lsc);
2242 const enum lsc_opcode op = lsc_msg_desc_opcode(devinfo, imm_desc);
2247 lsc_msg_desc_addr_size(devinfo, imm_desc),
2253 lsc_fence_msg_desc_scope(devinfo, imm_desc),
2257 lsc_fence_msg_desc_flush_type(devinfo, imm_desc),
2262 lsc_fence_msg_desc_backup_routing(devinfo, imm_desc),
2267 lsc_msg_desc_data_size(devinfo, imm_desc),
2273 lsc_msg_desc_cmask(devinfo, imm_desc),
2278 lsc_msg_desc_vect_size(devinfo, imm_desc),
2280 if (lsc_msg_desc_transpose(devinfo, imm_desc))
2289 lsc_msg_desc_cache_ctrl(devinfo, imm_desc),
2296 lsc_msg_desc_cache_ctrl(devinfo, imm_desc),
2301 format(file, " dst_len = %u,", lsc_msg_desc_dest_len(devinfo, imm_desc));
2302 format(file, " src0_len = %u,", lsc_msg_desc_src0_len(devinfo, imm_desc));
2303 format(file, " src1_len = %d", brw_message_ex_desc_ex_mlen(devinfo, imm_ex_desc));
2305 lsc_msg_desc_addr_type(devinfo, imm_desc), &space);
2311 if (devinfo->ver >= 7) {
2317 brw_dp_desc_msg_type(devinfo, imm_desc), &space);
2320 brw_dp_desc_binding_table_index(devinfo, imm_desc));
2322 switch (brw_inst_dp_msg_type(devinfo, inst)) {
2325 brw_dp_desc_msg_control(devinfo, imm_desc) & 0xf,
2330 unsigned msg_ctrl = brw_dp_desc_msg_control(devinfo, imm_desc);
2338 brw_dp_desc_msg_control(devinfo, imm_desc));
2347 if (devinfo->ver >= 7) {
2351 unsigned msg_ctrl = brw_dp_desc_msg_control(devinfo, imm_desc);
2355 brw_dp_desc_msg_type(devinfo, imm_desc), &space);
2358 brw_dp_desc_binding_table_index(devinfo, imm_desc));
2360 switch (brw_inst_dp_msg_type(devinfo, inst)) {
2408 if (devinfo->ver >= 7) {
2410 brw_inst_pi_nopersp(devinfo, inst) ? "linear" : "persp",
2411 pixel_interpolator_msg_types[brw_inst_pi_message_type(devinfo, inst)],
2412 brw_inst_pi_message_data(devinfo, inst));
2419 if (devinfo->has_ray_tracing) {
2421 brw_rt_trace_ray_desc_exec_size(devinfo, imm_desc));
2439 lsc_disassemble_ex_desc(devinfo, imm_desc, imm_ex_desc, file);
2442 format(file, "mlen %u", brw_message_desc_mlen(devinfo, imm_desc));
2445 brw_message_ex_desc_ex_mlen(devinfo, imm_ex_desc));
2448 format(file, " rlen %u", brw_message_desc_rlen(devinfo, imm_desc));
2456 brw_inst_access_mode(devinfo, inst), &space);
2457 if (devinfo->ver >= 6) {
2459 brw_inst_mask_control(devinfo, inst), &space);
2462 brw_inst_mask_control(devinfo, inst), &space);
2465 if (devinfo->ver < 12) {
2467 ((brw_inst_no_dd_check(devinfo, inst) << 1) |
2468 brw_inst_no_dd_clear(devinfo, inst)), &space);
2471 if (devinfo->ver >= 6)
2472 err |= qtr_ctrl(file, devinfo, inst);
2474 if (brw_inst_qtr_control(devinfo, inst) == BRW_COMPRESSION_COMPRESSED &&
2476 brw_inst_dst_reg_file(devinfo, inst) == BRW_MESSAGE_REGISTER_FILE &&
2477 brw_inst_dst_da_reg_nr(devinfo, inst) & BRW_MRF_COMPR4) {
2481 brw_inst_qtr_control(devinfo, inst), &space);
2485 if (devinfo->ver >= 12)
2490 (devinfo->ver >= 12 ? brw_inst_atomic_control(devinfo, inst) :
2491 brw_inst_thread_control(devinfo, inst)),
2493 if (has_branch_ctrl(devinfo, opcode)) {
2495 brw_inst_branch_control(devinfo, inst), &space);
2496 } else if (devinfo->ver >= 6) {
2498 brw_inst_acc_wr_control(devinfo, inst), &space);
2502 brw_inst_eot(devinfo, inst), &space);