From f1e5418f402c7ac087b1c127cb4476d0d02e0073 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Tue, 11 Nov 2014 15:56:58 -0800 Subject: i965: Don't treat IF or WHILE with cmod as writing the flag. Sandybridge's IF and WHILE instructions can do an embedded comparison with conditional mod. Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_vec4.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/mesa/drivers/dri/i965/brw_vec4.h') diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h index 7d814ca65bd..abdab993be9 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.h +++ b/src/mesa/drivers/dri/i965/brw_vec4.h @@ -234,7 +234,9 @@ public: bool writes_flag() { - return conditional_mod && opcode != BRW_OPCODE_SEL; + return (conditional_mod && (opcode != BRW_OPCODE_SEL && + opcode != BRW_OPCODE_IF && + opcode != BRW_OPCODE_WHILE)); } }; -- cgit v1.2.3