slang: Handle OOM condition in new_instruction().
[mesa.git] / src / mesa / shader / slang / slang_print.c
index b88cefc283b9e40d6839d1a8ba209f7e06602134..98c7877534feb5be6ffee78c29c7f2953ee65b4a 100644 (file)
@@ -261,6 +261,7 @@ slang_print_tree(const slang_operation *op, int indent)
       break;
 
    case SLANG_OPER_BLOCK_NEW_SCOPE:
+   case SLANG_OPER_NON_INLINED_CALL:
       spaces(indent);
       printf("{{ // new scope  locals=%p outer=%p: ",
              (void *) op->locals,
@@ -278,7 +279,7 @@ slang_print_tree(const slang_operation *op, int indent)
       assert(op->num_children == 0 || op->num_children == 1);
       {
          slang_variable *v;
-         v = _slang_locate_variable(op->locals, op->a_id, GL_TRUE);
+         v = _slang_variable_locate(op->locals, op->a_id, GL_TRUE);
          if (v) {
             const slang_variable_scope *scope;
             spaces(indent);
@@ -348,6 +349,13 @@ slang_print_tree(const slang_operation *op, int indent)
          slang_print_tree(&op->children[0], indent + 3);
       break;
 
+   case SLANG_OPER_RETURN_INLINED:
+      spaces(indent);
+      printf("RETURN_INLINED\n");
+      if (op->num_children > 0)
+         slang_print_tree(&op->children[0], indent + 3);
+      break;
+
    case SLANG_OPER_LABEL:
       spaces(indent);
       printf("LABEL %s\n", (char *) op->a_id);
@@ -478,7 +486,7 @@ slang_print_tree(const slang_operation *op, int indent)
                    (void *) scope,
                    (void *) op->locals,
                    (void *) op->locals->outer_scope);
-            assert(scope);
+            /*assert(scope);*/
          }
       }
       break;
@@ -636,7 +644,7 @@ slang_print_tree(const slang_operation *op, int indent)
    case SLANG_OPER_CALL:
 #if 0
          slang_function *fun
-            = _slang_locate_function(A->space.funcs, oper->a_id,
+            = _slang_function_locate(A->space.funcs, oper->a_id,
                                      oper->children,
                                      oper->num_children, &A->space, A->atoms);
 #endif
@@ -653,6 +661,11 @@ slang_print_tree(const slang_operation *op, int indent)
       printf(")\n");
       break;
 
+   case SLANG_OPER_METHOD:
+      spaces(indent);
+      printf("METHOD CALL %s.%s\n", (char *) op->a_obj, (char *) op->a_id);
+      break;
+
    case SLANG_OPER_FIELD:
       spaces(indent);
       printf("FIELD %s of\n", (char*) op->a_id);