Lines Matching refs:query
29 * but the spec allows you to expose 0 query counter bits, so we just return 0
121 struct vc4_query *query = calloc(1, sizeof(*query));
125 if (!query)
138 return (struct pipe_query *)query;
148 query->hwperfmon = hwperfmon;
149 query->num_queries = num_queries;
152 return (struct pipe_query *)query;
155 free(query);
170 struct vc4_query *query = (struct vc4_query *)pquery;
172 if (query->hwperfmon && query->hwperfmon->id) {
173 if (query->hwperfmon->id) {
176 req.id = query->hwperfmon->id;
181 free(query->hwperfmon);
184 free(query);
190 struct vc4_query *query = (struct vc4_query *)pquery;
196 if (!query->hwperfmon)
204 if (query->hwperfmon->id) {
207 destroyreq.id = query->hwperfmon->id;
211 for (i = 0; i < query->num_queries; i++)
212 req.events[i] = query->hwperfmon->events[i];
214 req.ncounters = query->num_queries;
219 query->hwperfmon->id = req.id;
225 ctx->perfmon = query->hwperfmon;
232 struct vc4_query *query = (struct vc4_query *)pquery;
235 if (!query->hwperfmon)
238 if (ctx->perfmon != query->hwperfmon)
254 struct vc4_query *query = (struct vc4_query *)pquery;
259 if (!query->hwperfmon) {
264 if (!vc4_wait_seqno(ctx->screen, query->hwperfmon->last_seqno,
268 req.id = query->hwperfmon->id;
269 req.values_ptr = (uintptr_t)query->hwperfmon->counters;
274 for (i = 0; i < query->num_queries; i++)
275 vresult->batch[i].u64 = query->hwperfmon->counters[i];