From 579157e6c1a30fbe11af4b936c23f2e3a784c5da Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Tue, 30 Dec 2014 16:14:25 -0800 Subject: [PATCH] glsl: Add a foreach_in_list_reverse_safe macro. Reviewed-by: Kenneth Graunke --- src/glsl/list.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/glsl/list.h b/src/glsl/list.h index 330c17e378b..85368a4e6c4 100644 --- a/src/glsl/list.h +++ b/src/glsl/list.h @@ -636,6 +636,12 @@ inline void exec_node::insert_before(exec_list *before) __next != NULL; \ __node = __next, __next = (__type *)__next->next) +#define foreach_in_list_reverse_safe(__type, __node, __list) \ + for (__type *__node = (__type *)(__list)->tail_pred, \ + *__prev = (__type *)__node->prev; \ + __prev != NULL; \ + __node = __prev, __prev = (__type *)__prev->prev) + #define foreach_in_list_use_after(__type, __inst, __list) \ __type *(__inst); \ for ((__inst) = (__type *)(__list)->head; \ -- 2.30.2