Lines Matching refs:query
105 struct r600_query_pc *query = (struct r600_query_pc *)rquery; in r600_pc_query_destroy() local
107 while (query->groups) { in r600_pc_query_destroy()
108 struct r600_pc_group *group = query->groups; in r600_pc_query_destroy()
109 query->groups = group->next; in r600_pc_query_destroy()
113 FREE(query->counters); in r600_pc_query_destroy()
131 struct r600_query_pc *query = (struct r600_query_pc *)hwquery; in r600_pc_query_emit_start() local
136 if (query->shaders) in r600_pc_query_emit_start()
137 pc->emit_shaders(ctx, query->shaders); in r600_pc_query_emit_start()
139 for (group = query->groups; group; group = group->next) { in r600_pc_query_emit_start()
162 struct r600_query_pc *query = (struct r600_query_pc *)hwquery; in r600_pc_query_emit_stop() local
167 for (group = query->groups; group; group = group->next) { in r600_pc_query_emit_stop()
194 struct r600_query_pc *query = (struct r600_query_pc *)hwquery; in r600_pc_query_clear_result() local
196 memset(result, 0, sizeof(result->batch[0]) * query->num_counters); in r600_pc_query_clear_result()
204 struct r600_query_pc *query = (struct r600_query_pc *)hwquery; in r600_pc_query_add_result() local
208 for (i = 0; i < query->num_counters; ++i) { in r600_pc_query_add_result()
209 struct r600_pc_counter *counter = &query->counters[i]; in r600_pc_query_add_result()
234 struct r600_query_pc *query, in get_group_state() argument
238 struct r600_pc_group *group = query->groups; in get_group_state()
266 query_shaders = query->shaders & ~R600_PC_SHADERS_WINDOWING; in get_group_state()
272 query->shaders = shaders; in get_group_state()
275 if (block->flags & R600_PC_BLOCK_SHADER_WINDOWED && !query->shaders) { in get_group_state()
278 query->shaders = R600_PC_SHADERS_WINDOWING; in get_group_state()
294 group->next = query->groups; in get_group_state()
295 query->groups = group; in get_group_state()
309 struct r600_query_pc *query; in r600_create_batch_query() local
316 query = CALLOC_STRUCT(r600_query_pc); in r600_create_batch_query()
317 if (!query) in r600_create_batch_query()
320 query->b.b.ops = &batch_query_ops; in r600_create_batch_query()
321 query->b.ops = &batch_query_hw_ops; in r600_create_batch_query()
323 query->num_counters = num_queries; in r600_create_batch_query()
340 group = get_group_state(screen, query, block, sub_gid); in r600_create_batch_query()
355 query->b.num_cs_dw_begin = pc->num_start_cs_dwords; in r600_create_batch_query()
356 query->b.num_cs_dw_end = pc->num_stop_cs_dwords; in r600_create_batch_query()
358 query->b.num_cs_dw_begin += pc->num_instance_cs_dwords; /* conservative */ in r600_create_batch_query()
359 query->b.num_cs_dw_end += pc->num_instance_cs_dwords; in r600_create_batch_query()
362 for (group = query->groups; group; group = group->next) { in r600_create_batch_query()
373 query->b.result_size += sizeof(uint64_t) * instances * group->num_counters; in r600_create_batch_query()
378 query->b.num_cs_dw_begin += select_dw; in r600_create_batch_query()
379 query->b.num_cs_dw_end += instances * read_dw; in r600_create_batch_query()
380 query->b.num_cs_dw_begin += pc->num_instance_cs_dwords; /* conservative */ in r600_create_batch_query()
381 query->b.num_cs_dw_end += instances * pc->num_instance_cs_dwords; in r600_create_batch_query()
384 if (query->shaders) { in r600_create_batch_query()
385 if (query->shaders == R600_PC_SHADERS_WINDOWING) in r600_create_batch_query()
386 query->shaders = 0xffffffff; in r600_create_batch_query()
387 query->b.num_cs_dw_begin += pc->num_shaders_cs_dwords; in r600_create_batch_query()
391 query->counters = CALLOC(num_queries, sizeof(*query->counters)); in r600_create_batch_query()
393 struct r600_pc_counter *counter = &query->counters[i]; in r600_create_batch_query()
402 group = get_group_state(screen, query, block, sub_gid); in r600_create_batch_query()
420 if (!r600_query_hw_init(screen, &query->b)) in r600_create_batch_query()
423 return (struct pipe_query *)query; in r600_create_batch_query()
426 r600_pc_query_destroy(screen, &query->b.b); in r600_create_batch_query()