summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2018-11-09 14:13:36 -0800
committerFrancisco Jerez <currojerez@riseup.net>2019-10-11 12:24:16 -0700
commita66ea33991a8542144997a55649878cde07e3e3e (patch)
treed4e4289d895571ac18f54bf1070182d52e33b451
parent8a5fad0d926a18ef998dc866dff9e466778c899c (diff)
downloadmesa-a66ea33991a8542144997a55649878cde07e3e3e.tar.gz
intel/eu/gen12: Don't set DD control, it's gone.
A future lowering pass will simulate the same behavior originally provided by NoDDChk/NoDDClr at the IR level by using appropriate SWSB annotations. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-rw-r--r--src/intel/compiler/brw_eu_emit.c6
-rw-r--r--src/intel/compiler/brw_fs_generator.cpp12
2 files changed, 12 insertions, 6 deletions
diff --git a/src/intel/compiler/brw_eu_emit.c b/src/intel/compiler/brw_eu_emit.c
index 42dc2617fb0..323ba20bb8c 100644
--- a/src/intel/compiler/brw_eu_emit.c
+++ b/src/intel/compiler/brw_eu_emit.c
@@ -1221,9 +1221,11 @@ brw_F32TO16(struct brw_codegen *p, struct brw_reg dst, struct brw_reg src)
}
if (needs_zero_fill) {
- brw_inst_set_no_dd_clear(devinfo, inst, true);
+ if (devinfo->gen < 12)
+ brw_inst_set_no_dd_clear(devinfo, inst, true);
inst = brw_MOV(p, suboffset(dst, 1), brw_imm_w(0));
- brw_inst_set_no_dd_check(devinfo, inst, true);
+ if (devinfo->gen < 12)
+ brw_inst_set_no_dd_check(devinfo, inst, true);
}
brw_pop_insn_state(p);
diff --git a/src/intel/compiler/brw_fs_generator.cpp b/src/intel/compiler/brw_fs_generator.cpp
index 4b7b3183ef7..2f6309750bd 100644
--- a/src/intel/compiler/brw_fs_generator.cpp
+++ b/src/intel/compiler/brw_fs_generator.cpp
@@ -658,8 +658,10 @@ fs_generator::generate_quad_swizzle(const fs_inst *inst,
4 * inst->dst.stride, 1, 4 * inst->dst.stride),
stride(suboffset(src, BRW_GET_SWZ(swiz, c)), 4, 1, 0));
- brw_inst_set_no_dd_clear(devinfo, insn, c < 3);
- brw_inst_set_no_dd_check(devinfo, insn, c > 0);
+ if (devinfo->gen < 12) {
+ brw_inst_set_no_dd_clear(devinfo, insn, c < 3);
+ brw_inst_set_no_dd_check(devinfo, insn, c > 0);
+ }
}
break;
@@ -2271,8 +2273,10 @@ fs_generator::generate_code(const cfg_t *cfg, int dispatch_width,
if (inst->conditional_mod)
brw_inst_set_cond_modifier(p->devinfo, last, inst->conditional_mod);
- brw_inst_set_no_dd_clear(p->devinfo, last, inst->no_dd_clear);
- brw_inst_set_no_dd_check(p->devinfo, last, inst->no_dd_check);
+ if (devinfo->gen < 12) {
+ brw_inst_set_no_dd_clear(p->devinfo, last, inst->no_dd_clear);
+ brw_inst_set_no_dd_check(p->devinfo, last, inst->no_dd_check);
+ }
}
}