Dead code elimination now handles this. --- Depends on the previously sent 5 patch series.
src/mesa/drivers/dri/i965/brw_fs.cpp | 31 ------------------------------- src/mesa/drivers/dri/i965/brw_fs.h | 1 - 2 files changed, 32 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 39c6231..baf9166 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -3414,35 +3414,6 @@ fs_visitor::calculate_register_pressure() } } -/** - * Look for repeated FS_OPCODE_MOV_DISPATCH_TO_FLAGS and drop the later ones. - * - * The needs_unlit_centroid_workaround ends up producing one of these per - * channel of centroid input, so it's good to clean them up. - * - * An assumption here is that nothing ever modifies the dispatched pixels - * value that FS_OPCODE_MOV_DISPATCH_TO_FLAGS reads from, but the hardware - * dictates that anyway. - */ -void -fs_visitor::opt_drop_redundant_mov_to_flags() -{ - bool flag_mov_found[2] = {false}; - - foreach_block_and_inst_safe(block, fs_inst, inst, cfg) { - if (inst->is_control_flow()) { - memset(flag_mov_found, 0, sizeof(flag_mov_found)); - } else if (inst->opcode == FS_OPCODE_MOV_DISPATCH_TO_FLAGS) { - if (!flag_mov_found[inst->flag_subreg]) - flag_mov_found[inst->flag_subreg] = true; - else - inst->remove(block); - } else if (inst->writes_flag()) { - flag_mov_found[inst->flag_subreg] = false; - } - } -} - bool fs_visitor::run() { @@ -3518,8 +3489,6 @@ fs_visitor::run() assign_constant_locations(); demote_pull_constants(); - opt_drop_redundant_mov_to_flags(); - #define OPT(pass, args...) do { \ pass_num++; \ bool this_progress = pass(args); \ diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index d9150c3..ccfb12d 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -434,7 +434,6 @@ public: bool try_constant_propagate(fs_inst *inst, acp_entry *entry); bool opt_copy_propagate_local(void *mem_ctx, bblock_t *block, exec_list *acp); - void opt_drop_redundant_mov_to_flags(); bool opt_register_renaming(); bool register_coalesce(); bool compute_to_mrf(); -- 2.0.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev