- switch (target) {
- case BRW_SFID_MATH:
- err |= control(file, "math function", math_function,
- brw_inst_math_msg_function(brw, inst), &space);
- err |= control(file, "math saturate", math_saturate,
- brw_inst_math_msg_saturate(brw, inst), &space);
- err |= control(file, "math signed", math_signed,
- brw_inst_math_msg_signed_int(brw, inst), &space);
- err |= control(file, "math scalar", math_scalar,
- brw_inst_math_msg_data_type(brw, inst), &space);
- err |= control(file, "math precision", math_precision,
- brw_inst_math_msg_precision(brw, inst), &space);
- break;
- case BRW_SFID_SAMPLER:
- if (brw->gen >= 5) {
- format(file, " (%d, %d, %d, %d)",
- brw_inst_binding_table_index(brw, inst),
- brw_inst_sampler(brw, inst),
- brw_inst_sampler_msg_type(brw, inst),
- brw_inst_sampler_simd_mode(brw, inst));
- } else {
- format(file, " (%d, %d, %d, ",
- brw_inst_binding_table_index(brw, inst),
- brw_inst_sampler(brw, inst),
- brw_inst_sampler_msg_type(brw, inst));
- if (!brw->is_g4x) {
- err |= control(file, "sampler target format",
- sampler_target_format,
- brw_inst_sampler_return_format(brw, inst), NULL);
+
+ if (brw_inst_src1_reg_file(devinfo, inst) != BRW_IMMEDIATE_VALUE) {
+ format(file, " indirect");
+ } else {
+ switch (sfid) {
+ case BRW_SFID_MATH:
+ err |= control(file, "math function", math_function,
+ brw_inst_math_msg_function(devinfo, inst), &space);
+ err |= control(file, "math saturate", math_saturate,
+ brw_inst_math_msg_saturate(devinfo, inst), &space);
+ err |= control(file, "math signed", math_signed,
+ brw_inst_math_msg_signed_int(devinfo, inst), &space);
+ err |= control(file, "math scalar", math_scalar,
+ brw_inst_math_msg_data_type(devinfo, inst), &space);
+ err |= control(file, "math precision", math_precision,
+ brw_inst_math_msg_precision(devinfo, inst), &space);
+ break;
+ case BRW_SFID_SAMPLER:
+ if (devinfo->gen >= 5) {
+ err |= control(file, "sampler message", gen5_sampler_msg_type,
+ brw_inst_sampler_msg_type(devinfo, inst), &space);
+ err |= control(file, "sampler simd mode", gen5_sampler_simd_mode,
+ brw_inst_sampler_simd_mode(devinfo, inst), &space);
+ format(file, " Surface = %ld Sampler = %ld",
+ brw_inst_binding_table_index(devinfo, inst),
+ brw_inst_sampler(devinfo, inst));
+ } else {
+ format(file, " (%ld, %ld, %ld, ",
+ brw_inst_binding_table_index(devinfo, inst),
+ brw_inst_sampler(devinfo, inst),
+ brw_inst_sampler_msg_type(devinfo, inst));
+ if (!devinfo->is_g4x) {
+ err |= control(file, "sampler target format",
+ sampler_target_format,
+ brw_inst_sampler_return_format(devinfo, inst), NULL);
+ }
+ string(file, ")");