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