Lines Matching defs:group
55 struct intel_group *group;
67 intel_group_get_name(struct intel_group *group)
69 return group->name;
73 intel_group_get_opcode(struct intel_group *group)
75 return group->opcode;
158 struct intel_group *group;
160 group = rzalloc(ctx->spec, struct intel_group);
162 group->name = ralloc_strdup(group, name);
164 group->spec = ctx->spec;
165 group->variable = false;
166 group->fixed_length = fixed_length;
167 group->dword_length_field = NULL;
168 group->dw_length = 0;
169 group->engine_mask = I915_ENGINE_CLASS_TO_MASK(I915_ENGINE_CLASS_RENDER) |
172 group->bias = 1;
177 group->dw_length = strtoul(atts[i + 1], &p, 0);
179 group->bias = strtoul(atts[i + 1], &p, 0);
186 group->engine_mask = 0;
189 group->engine_mask |= I915_ENGINE_CLASS_TO_MASK(I915_ENGINE_CLASS_RENDER);
191 group->engine_mask |= I915_ENGINE_CLASS_TO_MASK(I915_ENGINE_CLASS_VIDEO);
193 group->engine_mask |= I915_ENGINE_CLASS_TO_MASK(I915_ENGINE_CLASS_COPY);
206 group->parent = parent;
208 &group->array_offset,
209 &group->array_count,
210 &group->array_item_size,
211 &group->variable);
214 return group;
318 field = rzalloc(ctx->group, struct intel_field);
319 field->parent = ctx->group;
350 field = rzalloc(ctx->group, struct intel_field);
351 field->parent = ctx->group;
381 struct intel_field *prev = NULL, *list = ctx->group->fields;
390 ctx->group->fields = field;
428 ctx->group = create_group(ctx, name, atts, NULL, false);
430 ctx->group = create_group(ctx, name, atts, NULL, true);
432 ctx->group = create_group(ctx, name, atts, NULL, true);
433 get_register_offset(atts, &ctx->group->register_offset);
434 } else if (strcmp(element_name, "group") == 0) {
435 struct intel_group *group = create_group(ctx, "", atts, ctx->group, false);
436 ctx->last_field = create_and_append_field(ctx, NULL, group);
437 ctx->group = group;
464 struct intel_group *group = ctx->group;
465 struct intel_field *list = group->fields;
467 ctx->group = ctx->group->parent;
471 group->opcode_mask |=
473 group->opcode |= list->default_value << list->start;
479 _mesa_hash_table_insert(spec->commands, group->name, group);
481 _mesa_hash_table_insert(spec->structs, group->name, group);
483 _mesa_hash_table_insert(spec->registers_by_name, group->name, group);
485 (void *) (uintptr_t) group->register_offset,
486 group);
488 } else if (strcmp(name, "group") == 0) {
489 ctx->group = ctx->group->parent;
769 intel_group_find_field(struct intel_group *group, const char *name)
772 snprintf(path, sizeof(path), "%s/%s", group->name, name);
774 struct intel_spec *spec = group->spec;
780 struct intel_field *field = group->fields;
795 intel_group_get_length(struct intel_group *group, const uint32_t *p)
797 if (group) {
798 if (group->fixed_length)
799 return group->dw_length;
801 struct intel_field *field = group->dword_length_field;
803 return field_value(p[0], field->start, field->end) + group->bias;
888 const struct intel_group *group = iter->groups[1];
889 for (int level = 1; level <= iter->level; level++, group = iter->groups[level]) {
891 offset += group->array_offset + array_idx * group->array_item_size;
906 iter->group = iter->field->array;
909 iter->groups[iter->level] = iter->group;
912 assert(iter->group->fields != NULL); /* an empty <group> makes no sense */
913 iter->field = iter->group->fields;
924 iter->group = iter->groups[iter->level];
949 if (iter->group->variable)
952 if ((iter->array_iter[lvl] + 1) < iter->group->array_count) {
957 iter_start_field(iter, iter->group->fields);
966 if (iter->group->variable) {
967 int length = intel_group_get_length(iter->group, iter->p);
969 return iter_array_offset_bits(iter) + iter->group->array_item_size <
972 return (iter->array_iter[lvl] + 1) < iter->group->array_count;
980 * inside a <group> and can go up a level.
995 /* At this point, we reached the end of the <group> and were on the last
1088 intel_spec_find_struct(iter->group->spec,
1112 if (strlen(iter->group->name) == 0) {
1146 struct intel_group *group,
1152 iter->groups[iter->level] = group;
1153 iter->group = group;
1157 int length = intel_group_get_length(iter->group, iter->p);
1168 if (iter->group->fields)
1169 iter_start_field(iter, iter->group->fields);
1176 assert(iter->group->dw_length == 0);
1217 intel_print_group(FILE *outfile, struct intel_group *group, uint64_t offset,
1223 intel_field_iterator_init(&iter, group, p, p_bit, color);