diff options
author | Chris Forbes <[email protected]> | 2013-08-16 06:54:30 +1200 |
---|---|---|
committer | Chris Forbes <[email protected]> | 2013-08-16 07:21:43 +1200 |
commit | 9e2c1e28a14bb7c5ec49d6e7638b07a9e03ddca9 (patch) | |
tree | 874fdd762d31ad82a73347285ffce50ab103f7d3 /src/mesa/drivers/dri | |
parent | c5e2d0454b61d7dc44b1f0be00980cabad3db27d (diff) |
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 <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp | 4 | ||||
-rw-r--r-- | 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; + } }; /** |