diff options
author | Francisco Jerez <[email protected]> | 2016-05-18 19:17:31 -0700 |
---|---|---|
committer | Francisco Jerez <[email protected]> | 2016-05-27 23:22:10 -0700 |
commit | fdae8b9f91089aea3d4b88ddb62a39ac687bb9be (patch) | |
tree | 673a8a70a3187dc7ee62ec574324196937ae3b49 | |
parent | 0b4cd91071fdf9802559974aa9fd32ac4bbd7439 (diff) |
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 <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_eu_emit.c | 24 |
1 files 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); |