From: Kenneth Graunke Date: Tue, 24 Feb 2015 20:48:56 +0000 (-0800) Subject: i965/fp: Emit discard jumps. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=201aef9d1370ff524f856b725d2328c4f48199e8;p=mesa.git i965/fp: Emit discard jumps. This should improve the performance of any shaders using the KIL instruction. I'm a bit surprised we missed this. Unfortunately, I have not been able to measure any performance improvements from this patch. It does make ARB_fragment_program behave similarly to GLSL code. Signed-off-by: Kenneth Graunke Reviewed-by: Matt Turner --- diff --git a/src/mesa/drivers/dri/i965/brw_fs_fp.cpp b/src/mesa/drivers/dri/i965/brw_fs_fp.cpp index 6d08bf7b539..c4064da88a0 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_fp.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_fp.cpp @@ -250,6 +250,9 @@ fs_visitor::emit_fragment_program_code() fs_reg(0.0f), BRW_CONDITIONAL_GE)); cmp->predicate = BRW_PREDICATE_NORMAL; cmp->flag_subreg = 1; + + if (brw->gen >= 6) + emit_discard_jump(); } break; }