Lines Matching refs:group

73         struct v3d_group *group;
88 v3d_group_get_name(struct v3d_group *group)
90 return group->name;
94 v3d_group_get_opcode(struct v3d_group *group)
96 return group->opcode;
220 struct v3d_group *group;
222 group = xzalloc(sizeof(*group));
224 group->name = xstrdup(name);
226 group->spec = ctx->spec;
227 group->group_offset = 0;
228 group->group_count = 0;
229 group->variable = false;
232 group->parent = parent;
234 &group->group_offset,
235 &group->group_count,
236 &group->group_size,
237 &group->variable);
240 return group;
366 if (ctx->group->nfields == ctx->group->fields_size) {
367 ctx->group->fields_size = MAX2(ctx->group->fields_size * 2, 2);
368 ctx->group->fields =
369 (struct v3d_field **) realloc(ctx->group->fields,
370 sizeof(ctx->group->fields[0]) *
371 ctx->group->fields_size);
374 ctx->group->fields[ctx->group->nfields++] = create_field(ctx, atts);
378 set_group_opcode(struct v3d_group *group, const char **atts)
385 group->opcode = strtoul(atts[i + 1], &p, 0);
455 ctx->group = create_group(ctx, name, atts, NULL);
458 set_group_opcode(ctx->group, atts);
460 ctx->group = create_group(ctx, name, atts, NULL);
461 get_register_offset(atts, &ctx->group->register_offset);
462 } else if (strcmp(element_name, "group") == 0) {
463 struct v3d_group *previous_group = ctx->group;
467 struct v3d_group *group = create_group(ctx, "", atts,
468 ctx->group);
469 previous_group->next = group;
470 ctx->group = group;
508 struct v3d_group *group = ctx->group;
510 ctx->group = ctx->group->parent;
513 spec->commands[spec->ncommands++] = group;
519 for (int i = 0; i < group->nfields; i++) {
520 group->fields[i]->start += 8;
521 group->fields[i]->end += 8;
525 spec->structs[spec->nstructs++] = group;
527 spec->registers[spec->nregisters++] = group;
533 qsort(group->fields, group->nfields, sizeof(*group->fields),
539 } else if (strcmp(name, "group") == 0) {
540 ctx->group = ctx->group->parent;
542 assert(ctx->group->nfields > 0);
543 struct v3d_field *field = ctx->group->fields[ctx->group->nfields - 1];
700 struct v3d_group *group = spec->commands[i];
702 if (opcode != group->opcode)
709 for (int j = 0; j < group->nfields; j++) {
710 struct v3d_field *field = group->fields[j];
722 return group;
730 v3d_group_get_length(struct v3d_group *group)
733 for (int i = 0; i < group->nfields; i++) {
734 struct v3d_field *field = group->fields[i];
743 struct v3d_group *group,
748 iter->group = group;
766 return iter->field_iter < iter->group->nfields;
773 return iter->group->group_offset + (group_iter *
774 iter->group->group_size);
780 if (iter->group->variable) {
782 (v3d_group_get_length(iter->group) * 8);
784 return (iter->group_iter + 1) < iter->group->group_count ||
785 iter->group->next != NULL;
792 if (iter->group->variable)
795 if ((iter->group_iter + 1) < iter->group->group_count) {
798 iter->group = iter->group->next;
816 iter->field = iter->group->fields[iter->field_iter++];
907 v3d_spec_find_struct(iter->group->spec,
940 if (strlen(iter->group->name) == 0) {
956 v3d_print_group(struct clif_dump *clif, struct v3d_group *group,
961 v3d_field_iterator_init(&iter, group, p);