From fdae8b9f91089aea3d4b88ddb62a39ac687bb9be Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Wed, 18 May 2016 19:17:31 -0700 Subject: [PATCH] i965/eu: Stop using p->compressed to specify the exec size of control flow instructions. p->compressed won't work for SIMD32, we should just be using the execution size value specified via p->current instead. Reviewed-by: Jason Ekstrand --- src/mesa/drivers/dri/i965/brw_eu_emit.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c index 0f8035edb18..2982faace45 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c @@ -1411,8 +1411,8 @@ gen6_IF(struct brw_codegen *p, enum brw_conditional_mod conditional, insn = next_insn(p, BRW_OPCODE_IF); brw_set_dest(p, insn, brw_imm_w(0)); - brw_inst_set_exec_size(devinfo, insn, p->compressed ? BRW_EXECUTE_16 - : BRW_EXECUTE_8); + brw_inst_set_exec_size(devinfo, insn, + brw_inst_exec_size(devinfo, p->current)); brw_inst_set_gen6_jump_count(devinfo, insn, 0); brw_set_src0(p, insn, src0); brw_set_src1(p, insn, src1); @@ -1698,8 +1698,8 @@ brw_BREAK(struct brw_codegen *p) p->if_depth_in_loop[p->loop_stack_depth]); } brw_inst_set_qtr_control(devinfo, insn, BRW_COMPRESSION_NONE); - brw_inst_set_exec_size(devinfo, insn, p->compressed ? BRW_EXECUTE_16 - : BRW_EXECUTE_8); + brw_inst_set_exec_size(devinfo, insn, + brw_inst_exec_size(devinfo, p->current)); return insn; } @@ -1724,8 +1724,8 @@ brw_CONT(struct brw_codegen *p) p->if_depth_in_loop[p->loop_stack_depth]); } brw_inst_set_qtr_control(devinfo, insn, BRW_COMPRESSION_NONE); - brw_inst_set_exec_size(devinfo, insn, p->compressed ? BRW_EXECUTE_16 - : BRW_EXECUTE_8); + brw_inst_set_exec_size(devinfo, insn, + brw_inst_exec_size(devinfo, p->current)); return insn; } @@ -1745,11 +1745,8 @@ gen6_HALT(struct brw_codegen *p) } brw_inst_set_qtr_control(devinfo, insn, BRW_COMPRESSION_NONE); - if (p->compressed) { - brw_inst_set_exec_size(devinfo, insn, BRW_EXECUTE_16); - } else { - brw_inst_set_exec_size(devinfo, insn, BRW_EXECUTE_8); - } + brw_inst_set_exec_size(devinfo, insn, + brw_inst_exec_size(devinfo, p->current)); return insn; } @@ -1855,8 +1852,9 @@ brw_WHILE(struct brw_codegen *p) brw_set_src1(p, insn, retype(brw_null_reg(), BRW_REGISTER_TYPE_D)); } - brw_inst_set_exec_size(devinfo, insn, p->compressed ? BRW_EXECUTE_16 - : BRW_EXECUTE_8); + brw_inst_set_exec_size(devinfo, insn, + brw_inst_exec_size(devinfo, p->current)); + } else { if (p->single_program_flow) { insn = next_insn(p, BRW_OPCODE_ADD); -- 2.30.2