Mesa (glsl-continue-return): glsl: added slang_operation_free_children()

Brian Paul brianp at kemper.freedesktop.org
Wed Jun 24 23:04:03 UTC 2009


Module: Mesa
Branch: glsl-continue-return
Commit: 799a197d99563a2fe4b7e965c0da93248501644b
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=799a197d99563a2fe4b7e965c0da93248501644b

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Jun 24 16:04:33 2009 -0600

glsl: added slang_operation_free_children()

---

 src/mesa/shader/slang/slang_compile_operation.c |   14 ++++++++++++++
 src/mesa/shader/slang/slang_compile_operation.h |    3 +++
 2 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/src/mesa/shader/slang/slang_compile_operation.c b/src/mesa/shader/slang/slang_compile_operation.c
index b75fd07..48586c2 100644
--- a/src/mesa/shader/slang/slang_compile_operation.c
+++ b/src/mesa/shader/slang/slang_compile_operation.c
@@ -200,6 +200,20 @@ slang_operation_delete(slang_operation *oper)
 }
 
 
+void
+slang_operation_free_children(slang_operation *oper)
+{
+   GLuint i;
+   for (i = 0; i < slang_oper_num_children(oper); i++) {
+      slang_operation *child = slang_oper_child(oper, i);
+      slang_operation_destruct(child);
+   }
+   _slang_free(oper->children);
+   oper->children = NULL;
+   oper->num_children = 0;
+}
+
+
 slang_operation *
 slang_operation_grow(GLuint *numChildren, slang_operation **children)
 {
diff --git a/src/mesa/shader/slang/slang_compile_operation.h b/src/mesa/shader/slang/slang_compile_operation.h
index 06b452d..d75965c 100644
--- a/src/mesa/shader/slang/slang_compile_operation.h
+++ b/src/mesa/shader/slang/slang_compile_operation.h
@@ -150,6 +150,9 @@ slang_operation_new(GLuint count);
 extern void
 slang_operation_delete(slang_operation *oper);
 
+extern void
+slang_operation_free_children(slang_operation *oper);
+
 extern slang_operation *
 slang_operation_grow(GLuint *numChildren, slang_operation **children);
 




More information about the mesa-commit mailing list