Home | History | Annotate | Download | only in radeon

Lines Matching refs:query

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