[Mesa-dev] [PATCH 2/3] exec_list: add a function to count the size of a list
Connor Abbott
cwabbott0 at gmail.com
Tue Jul 8 12:20:59 PDT 2014
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) {
+ 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);
--
1.9.3
More information about the mesa-dev
mailing list