Lines Matching refs:path
238 nir_deref_path path;
239 nir_deref_path_init(&path, deref, mem_ctx);
242 for (unsigned i = 0; path.path[i]; i++) {
243 if (path.path[i]->deref_type != nir_deref_type_struct)
247 assert(glsl_type_is_struct_or_ifc(path.path[i - 1]->type));
248 assert(path.path[i - 1]->type ==
251 tail_field = &tail_field->fields[path.path[i]->strct.index];
256 for (unsigned i = 0; path.path[i]; i++) {
257 nir_deref_instr *p = path.path[i];
276 unreachable("Invalid deref type in path");
456 nir_deref_path path;
457 nir_deref_path_init(&path, deref, mem_ctx);
459 /* Walk the path and look for indirects. If we have an array deref with an
463 nir_deref_instr *p = path.path[i + 1];
611 deref_has_split_wildcard(nir_deref_path *path,
617 assert(path->path[0]->var == info->base_var);
619 if (path->path[i + 1]->deref_type == nir_deref_type_array_wildcard &&
628 array_path_is_out_of_bounds(nir_deref_path *path,
634 assert(path->path[0]->var == info->base_var);
636 nir_deref_instr *p = path->path[i + 1];
657 while ((dst_p = dst_path->path[dst_level + 1])) {
665 while ((src_p = src_path->path[src_level + 1])) {
685 assert(glsl_get_length(dst_path->path[dst_level]->type) ==
686 glsl_get_length(src_path->path[src_level]->type));
687 unsigned len = glsl_get_length(dst_path->path[dst_level]->type);
743 emit_split_copies(&b, dst_info, &dst_path, 0, dst_path.path[0],
744 src_info, &src_path, 0, src_path.path[0]);
790 nir_deref_path path;
791 nir_deref_path_init(&path, deref, mem_ctx);
795 if (array_path_is_out_of_bounds(&path, info)) {
823 nir_deref_instr *p = path.path[i + 1];
835 path.path[i + 1]);
1096 nir_deref_path path;
1097 nir_deref_path_init(&path, deref, mem_ctx);
1106 nir_deref_instr *deref = path.path[i + 1];
1121 for (; copy_path.path[copy_i + 1]; copy_i++) {
1122 if (copy_path.path[copy_i + 1]->deref_type ==
1427 nir_deref_path path;
1428 nir_deref_path_init(&path, deref, NULL);
1432 nir_deref_instr *p = path.path[i + 1];
1443 nir_deref_path_finish(&path);