Lines Matching defs:level
460 * indirect, mark the given level as not being split.
503 unsigned level,
510 while (level < var_info->num_levels && !var_info->levels[level].split) {
512 level++;
515 if (level == var_info->num_levels) {
531 assert(var_info->levels[level].split);
532 split->num_splits = var_info->levels[level].array_len;
536 create_split_array_vars(var_info, level + 1, &split->splits[i],
682 /* There are no indirects at this level on one of the source or the
854 * level is never used with an indirect, that array level will get split.
1105 struct array_level_usage *level = &usage->levels[i];
1117 max_used = level->array_len - 1;
1120 /* Match each wildcard level with the level on copy_usage */
1129 if (level->levels_copied == NULL) {
1130 level->levels_copied = _mesa_pointer_set_create(mem_ctx);
1132 _mesa_set_add(level->levels_copied, copy_level);
1137 level->has_external_copy = true;
1142 level->max_written = MAX2(level->max_written, max_used);
1144 level->max_read = MAX2(level->max_read, max_used);
1290 struct array_level_usage *level = &usage->levels[i];
1291 assert(level->array_len > 0);
1293 if (level->max_written == UINT_MAX || level->has_external_copy ||
1297 unsigned max_used = MIN2(level->max_read, level->max_written);
1298 level->array_len = MIN2(max_used, level->array_len - 1) + 1;
1362 /* If we've reduced the array to zero elements at some level, just