Lines Matching defs:group

108 		struct r600_pc_group *group = query->groups;
109 query->groups = group->next;
110 FREE(group);
132 struct r600_pc_group *group;
139 for (group = query->groups; group; group = group->next) {
140 struct r600_perfcounter_block *block = group->block;
142 if (group->se != current_se || group->instance != current_instance) {
143 current_se = group->se;
144 current_instance = group->instance;
145 pc->emit_instance(ctx, group->se, group->instance);
148 pc->emit_select(ctx, block, group->num_counters, group->selectors);
163 struct r600_pc_group *group;
167 for (group = query->groups; group; group = group->next) {
168 struct r600_perfcounter_block *block = group->block;
169 unsigned se = group->se >= 0 ? group->se : 0;
172 if ((block->flags & R600_PC_BLOCK_SE) && (group->se < 0))
176 unsigned instance = group->instance >= 0 ? group->instance : 0;
181 group->num_counters, group->selectors,
183 va += sizeof(uint64_t) * group->num_counters;
184 } while (group->instance < 0 && ++instance < block->num_instances);
238 struct r600_pc_group *group = query->groups;
240 while (group) {
241 if (group->block == block && group->sub_gid == sub_gid)
242 return group;
243 group = group->next;
246 group = CALLOC_STRUCT(r600_pc_group);
247 if (!group)
250 group->block = block;
251 group->sub_gid = sub_gid;
269 FREE(group);
282 group->se = sub_gid / block->num_instances;
285 group->se = -1;
289 group->instance = sub_gid;
291 group->instance = -1;
294 group->next = query->groups;
295 query->groups = group;
297 return group;
308 struct r600_pc_group *group;
325 /* Collect selectors per group */
340 group = get_group_state(screen, query, block, sub_gid);
341 if (!group)
344 if (group->num_counters >= block->num_counters) {
346 "perfcounter group %s: too many selected\n",
350 group->selectors[group->num_counters] = sub_index;
351 ++group->num_counters;
354 /* Compute result bases and CS size per group */
362 for (group = query->groups; group; group = group->next) {
363 struct r600_perfcounter_block *block = group->block;
367 if ((block->flags & R600_PC_BLOCK_SE) && group->se < 0)
369 if (group->instance < 0)
372 group->result_base = i;
373 query->b.result_size += sizeof(uint64_t) * instances * group->num_counters;
374 i += instances * group->num_counters;
376 pc->get_size(block, group->num_counters, group->selectors,
402 group = get_group_state(screen, query, block, sub_gid);
403 assert(group != NULL);
405 for (j = 0; j < group->num_counters; ++j) {
406 if (group->selectors[j] == sub_index)
410 counter->base = group->result_base + j;
411 counter->stride = group->num_counters;
414 if ((block->flags & R600_PC_BLOCK_SE) && group->se < 0)
416 if (group->instance < 0)