From: Chris Forbes Date: Thu, 15 Aug 2013 18:54:30 +0000 (+1200) Subject: i965/vs: add vec4_instruction::depends_on_flags X-Git-Tag: android-x86-4.4-r3~10273 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=9e2c1e28a14bb7c5ec49d6e7638b07a9e03ddca9;p=android-x86%2Fexternal-mesa.git 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 --- 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; + } }; /**