diff options
author | Paul Berry <[email protected]> | 2013-11-28 08:13:41 -0800 |
---|---|---|
committer | Paul Berry <[email protected]> | 2013-12-09 10:54:33 -0800 |
commit | e00b93a1f7b4bc7f5e887591c000524e13f80826 (patch) | |
tree | 4bfdfa0f56747019aed8c427fb3349adc1e53e7e /src/glsl/ir_hv_accept.cpp | |
parent | 2c17f97fe6a40e4a963fb4eec0ea0555f562b1be (diff) |
glsl/loops: replace loop controls with a normative bound.
This patch replaces the ir_loop fields "from", "to", "increment",
"counter", and "cmp" with a single integer ("normative_bound") that
serves the same purpose.
I've used the name "normative_bound" to emphasize the fact that the
back-end is required to emit code to prevent the loop from running
more than normative_bound times. (By contrast, an "informative" bound
would be a bound that is informational only).
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/glsl/ir_hv_accept.cpp')
-rw-r--r-- | src/glsl/ir_hv_accept.cpp | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/src/glsl/ir_hv_accept.cpp b/src/glsl/ir_hv_accept.cpp index a0fe3b95d35..2a1f70e5baa 100644 --- a/src/glsl/ir_hv_accept.cpp +++ b/src/glsl/ir_hv_accept.cpp @@ -87,36 +87,10 @@ ir_loop::accept(ir_hierarchical_visitor *v) if (s != visit_continue) return (s == visit_continue_with_parent) ? visit_continue : s; - if (this->counter) { - s = this->counter->accept(v); - if (s != visit_continue) - return (s == visit_continue_with_parent) ? visit_continue : s; - } - s = visit_list_elements(v, &this->body_instructions); if (s == visit_stop) return s; - if (s != visit_continue_with_parent) { - if (this->from) { - s = this->from->accept(v); - if (s != visit_continue) - return (s == visit_continue_with_parent) ? visit_continue : s; - } - - if (this->to) { - s = this->to->accept(v); - if (s != visit_continue) - return (s == visit_continue_with_parent) ? visit_continue : s; - } - - if (this->increment) { - s = this->increment->accept(v); - if (s != visit_continue) - return (s == visit_continue_with_parent) ? visit_continue : s; - } - } - return v->visit_leave(this); } |