diff options
-rw-r--r-- | src/intel/compiler/brw_eu_emit.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/intel/compiler/brw_eu_emit.c b/src/intel/compiler/brw_eu_emit.c index 323ba20bb8c..7bbc5d30b98 100644 --- a/src/intel/compiler/brw_eu_emit.c +++ b/src/intel/compiler/brw_eu_emit.c @@ -3555,12 +3555,14 @@ brw_float_controls_mode(struct brw_codegen *p, * thread control field to ‘switch’ for an instruction that uses * control register as an explicit operand." */ - brw_inst_set_thread_control(p->devinfo, inst, BRW_THREAD_SWITCH); + if (p->devinfo->gen < 12) + brw_inst_set_thread_control(p->devinfo, inst, BRW_THREAD_SWITCH); if (mode) { brw_inst *inst_or = brw_OR(p, brw_cr0_reg(0), brw_cr0_reg(0), brw_imm_ud(mode)); brw_inst_set_exec_size(p->devinfo, inst_or, BRW_EXECUTE_1); - brw_inst_set_thread_control(p->devinfo, inst_or, BRW_THREAD_SWITCH); + if (p->devinfo->gen < 12) + brw_inst_set_thread_control(p->devinfo, inst_or, BRW_THREAD_SWITCH); } } |