From e00b93a1f7b4bc7f5e887591c000524e13f80826 Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Thu, 28 Nov 2013 08:13:41 -0800 Subject: 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 Reviewed-by: Ian Romanick --- src/glsl/ir_print_visitor.cpp | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) (limited to 'src/glsl/ir_print_visitor.cpp') diff --git a/src/glsl/ir_print_visitor.cpp b/src/glsl/ir_print_visitor.cpp index f4109fb..857a27a 100644 --- a/src/glsl/ir_print_visitor.cpp +++ b/src/glsl/ir_print_visitor.cpp @@ -524,17 +524,8 @@ void ir_print_visitor::visit(ir_loop *ir) { printf("(loop ("); - if (ir->counter != NULL) - ir->counter->accept(this); - printf(") ("); - if (ir->from != NULL) - ir->from->accept(this); - printf(") ("); - if (ir->to != NULL) - ir->to->accept(this); - printf(") ("); - if (ir->increment != NULL) - ir->increment->accept(this); + if (ir->normative_bound >= 0) + printf("%d", ir->normative_bound); printf(") (\n"); indentation++; -- cgit v1.1