Module: Mesa Branch: glsl-continue-return Commit: a1a62d5be90ab8122abe94dda26d903ac1c11332 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a1a62d5be90ab8122abe94dda26d903ac1c11332
Author: Brian Paul <[email protected]> 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); _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
