[Mesa-dev] [PATCH 2/3] exec_list: add a function to count the size of a list
Connor Abbott
connor.abbott at intel.com
Wed Jul 9 16:00:25 PDT 2014
On Wednesday, July 09, 2014 03:56:41 PM Ian Romanick wrote:
> On 07/08/2014 12:20 PM, Connor Abbott wrote:
> > Signed-off-by: Connor Abbott <connor.abbott at intel.com>
> > ---
> >
> > src/glsl/list.h | 20 ++++++++++++++++++++
> > 1 file changed, 20 insertions(+)
> >
> > diff --git a/src/glsl/list.h b/src/glsl/list.h
> > index ca6ee9d..68ab3fd 100644
> > --- a/src/glsl/list.h
> > +++ b/src/glsl/list.h
> > @@ -324,6 +324,8 @@ struct exec_list {
> >
> > const exec_node *get_tail() const;
> > exec_node *get_tail();
> >
> > +
> > + unsigned get_size();
> >
> > void push_head(exec_node *n);
> > void push_tail(exec_node *n);
> >
> > @@ -405,6 +407,19 @@ exec_list_get_tail(struct exec_list *list)
> >
> > return !exec_list_is_empty(list) ? list->tail_pred : NULL;
> >
> > }
> >
> > +static inline unsigned
> > +exec_list_get_size(struct exec_list *list)
> > +{
> > + unsigned size = 0;
> > +
> > + for (struct exec_node *node = list->head; node->next != NULL;
> > + node = node->next) {
>
> Maybe use foreach_in_list? Since Matt was so nice to create it... :)
I would, except first of all, it's doing some typecasting we don't need to do,
and second of all, it's defined after this point (at the end of the file) and I
didn't bother to move it up. If you think it's worth it though, I'm fine with
changing it...
>
> > + size++;
> > + }
> > +
> > + return size;
> > +}
> > +
> >
> > static inline void
> > exec_list_push_head(struct exec_list *list, struct exec_node *n)
> > {
> >
> > @@ -537,6 +552,11 @@ inline exec_node *exec_list::get_tail()
> >
> > return exec_list_get_tail(this);
> >
> > }
> >
> > +inline unsigned exec_list::get_size()
> > +{
> > + return exec_list_get_size(this);
> > +}
> > +
> >
> > inline void exec_list::push_head(exec_node *n)
> > {
> >
> > exec_list_push_head(this, n);
More information about the mesa-dev
mailing list