Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> On 07/08/2014 12:20 PM, Connor Abbott wrote: > This complements the existing append function. It's implemented in a > rather simple way right now; it could be changed if performance is a > concern. > > Signed-off-by: Connor Abbott <connor.abb...@intel.com> > --- > src/glsl/list.h | 20 +++++++++++++++++++- > 1 file changed, 19 insertions(+), 1 deletion(-) > > diff --git a/src/glsl/list.h b/src/glsl/list.h > index 922bd68..ca6ee9d 100644 > --- a/src/glsl/list.h > +++ b/src/glsl/list.h > @@ -345,9 +345,15 @@ struct exec_list { > void move_nodes_to(exec_list *target); > > /** > - * Append all nodes from the source list to the target list > + * Append all nodes from the source list to the end of the target list > */ > void append_list(exec_list *source); > + > + /** > + * Prepend all nodes from the source list to the beginning of the target > + * list > + */ > + void prepend_list(exec_list *source); > #endif > }; > > @@ -479,6 +485,13 @@ exec_list_append(struct exec_list *list, struct > exec_list *source) > } > > static inline void > +exec_list_prepend(struct exec_list *list, struct exec_list *source) > +{ > + exec_list_append(source, list); > + exec_list_move_nodes_to(source, list); > +} > + > +static inline void > exec_node_insert_list_before(struct exec_node *n, struct exec_list *before) > { > if (exec_list_is_empty(before)) > @@ -554,6 +567,11 @@ inline void exec_list::append_list(exec_list *source) > exec_list_append(this, source); > } > > +inline void exec_list::prepend_list(exec_list *source) > +{ > + exec_list_prepend(this, source); > +} > + > inline void exec_node::insert_before(exec_list *before) > { > exec_node_insert_list_before(this, before); >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev