From 201aef9d1370ff524f856b725d2328c4f48199e8 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Tue, 24 Feb 2015 12:48:56 -0800 Subject: [PATCH] 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 --- src/mesa/drivers/dri/i965/brw_fs_fp.cpp | 3 +++ 1 file changed, 3 insertions(+) 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; } -- 2.30.2