[Mesa-dev] [PATCH 2/3] exec_list: add a function to count the size of a list
Ian Romanick
idr at freedesktop.org
Wed Jul 9 15:56:41 PDT 2014
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... :)
> + 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