It's unnecessary, and makes pattern matching for simple clear programs more difficult.
Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> --- src/mesa/drivers/dri/i965/brw_fs.cpp | 3 ++- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 3aee822..e79dfc9 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -3036,7 +3036,8 @@ fs_visitor::run() if (failed) return false; - emit(FS_OPCODE_PLACEHOLDER_HALT); + if (fp->UsesKill) + emit(FS_OPCODE_PLACEHOLDER_HALT); if (key->alpha_test_func) emit_alpha_test(); diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index c16401b..3ed6e94 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -2061,6 +2061,7 @@ fs_visitor::visit(ir_discard *ir) /* For performance, after a discard, jump to the end of the shader. * Only jump if all relevant channels have been discarded. */ + assert(fp->UsesKill); fs_inst *discard_jump = emit(FS_OPCODE_DISCARD_JUMP); discard_jump->flag_subreg = 1; -- 2.0.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev