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

Brian Paul brianp at kemper.freedesktop.org
Wed Jun 24 14:54:50 UTC 2009


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

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Jun 23 17:07:12 2009 -0600

glsl: added slang_operation_insert_child()

---

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

diff --git a/src/mesa/shader/slang/slang_compile_operation.c b/src/mesa/shader/slang/slang_compile_operation.c
index 730cc06..b75fd07 100644
--- a/src/mesa/shader/slang/slang_compile_operation.c
+++ b/src/mesa/shader/slang/slang_compile_operation.c
@@ -265,6 +265,26 @@ slang_operation_insert(GLuint *numElements, slang_operation **array,
 }
 
 
+/**
+ * Add/insert new child into given node at given position.
+ * \return pointer to the new child node
+ */
+slang_operation *
+slang_operation_insert_child(slang_operation *oper, GLuint pos)
+{
+   slang_operation *newOp;
+
+   newOp = slang_operation_insert(&oper->num_children,
+                                  &oper->children,
+                                  pos);
+   if (newOp) {
+      newOp->locals->outer_scope = oper->locals;
+   }
+
+   return newOp;
+}
+
+
 void
 _slang_operation_swap(slang_operation *oper0, slang_operation *oper1)
 {
diff --git a/src/mesa/shader/slang/slang_compile_operation.h b/src/mesa/shader/slang/slang_compile_operation.h
index b701d9a..c69078b 100644
--- a/src/mesa/shader/slang/slang_compile_operation.h
+++ b/src/mesa/shader/slang/slang_compile_operation.h
@@ -157,6 +157,9 @@ extern slang_operation *
 slang_operation_insert(GLuint *numChildren, slang_operation **children,
                        GLuint pos);
 
+extern slang_operation *
+slang_operation_insert_child(slang_operation *oper, GLuint pos);
+
 extern void
 _slang_operation_swap(slang_operation *oper0, slang_operation *oper1);
 




More information about the mesa-commit mailing list