From 9e2c1e28a14bb7c5ec49d6e7638b07a9e03ddca9 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Fri, 16 Aug 2013 06:54:30 +1200 Subject: i965/vs: add vec4_instruction::depends_on_flags We're about to have an instruction that depends on the flags but isn't predicated. This lays the groundwork. Signed-off-by: Chris Forbes --- src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp | 4 ++-- src/mesa/drivers/dri/i965/brw_vec4.h | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp index 37e7db5f22e..5530683df84 100644 --- a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp +++ b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp @@ -821,7 +821,7 @@ vec4_instruction_scheduler::calculate_deps() add_dep(last_mrf_write[inst->base_mrf + i], n); } - if (inst->predicate) { + if (inst->depends_on_flags()) { assert(last_conditional_mod); add_dep(last_conditional_mod, n); } @@ -892,7 +892,7 @@ vec4_instruction_scheduler::calculate_deps() add_dep(n, last_mrf_write[inst->base_mrf + i], 2); } - if (inst->predicate) { + if (inst->depends_on_flags()) { add_dep(n, last_conditional_mod); } diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h index 18e0d567a74..ee14cd82600 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.h +++ b/src/mesa/drivers/dri/i965/brw_vec4.h @@ -185,6 +185,11 @@ public: bool is_send_from_grf(); bool can_reswizzle_dst(int dst_writemask, int swizzle, int swizzle_mask); void reswizzle_dst(int dst_writemask, int swizzle); + + bool depends_on_flags() + { + return predicate; + } }; /** -- cgit v1.2.3