for (i = 0; i < oper->num_children; i++)
slang_operation_destruct(oper->children + i);
slang_alloc_free(oper->children);
+#ifdef FREE_MEMORY
+ /* XXX revisit and fix memory coruption here ! */
slang_variable_scope_destruct(oper->locals);
slang_alloc_free(oper->locals);
+#endif
oper->children = NULL;
oper->num_children = 0;
oper->locals = NULL;
}
+/**
+ * Delete operation and all children
+ */
+void
+slang_operation_delete(slang_operation *oper)
+{
+ slang_operation_destruct(oper);
+ _mesa_free(oper);
+}
+
+
slang_operation *
slang_operation_grow(GLuint *numChildren, slang_operation **children)
{