Lines Matching defs:pq

56    struct llvmpipe_query *pq;
60 pq = CALLOC_STRUCT( llvmpipe_query );
62 if (pq) {
63 pq->type = type;
64 pq->index = index;
67 return (struct pipe_query *) pq;
74 struct llvmpipe_query *pq = llvmpipe_query(q);
79 if (pq->fence) {
80 if (!lp_fence_issued(pq->fence))
83 if (!lp_fence_signalled(pq->fence))
84 lp_fence_wait(pq->fence);
86 lp_fence_reference(&pq->fence, NULL);
89 FREE(pq);
101 struct llvmpipe_query *pq = llvmpipe_query(q);
105 if (pq->fence) {
107 if (!lp_fence_signalled(pq->fence)) {
108 if (!lp_fence_issued(pq->fence))
114 lp_fence_wait(pq->fence);
122 switch (pq->type) {
125 *result += pq->end[i];
132 vresult->b = vresult->b || pq->end[i];
137 if (pq->end[i] > *result) {
138 *result = pq->end[i];
145 if (pq->start[i] && pq->start[i] < start)
146 start = pq->start[i];
147 if (pq->end[i] && pq->end[i] > end)
148 end = pq->end[i];
165 *result = pq->num_primitives_generated[0];
168 *result = pq->num_primitives_written[0];
173 vresult->b |= pq->num_primitives_generated[s] > pq->num_primitives_written[s];
176 vresult->b = pq->num_primitives_generated[0] > pq->num_primitives_written[0];
181 stats->num_primitives_written = pq->num_primitives_written[0];
182 stats->primitives_storage_needed = pq->num_primitives_generated[0];
190 pq->stats.ps_invocations += pq->end[i];
192 pq->stats.ps_invocations *= LP_RASTER_BLOCK_SIZE * LP_RASTER_BLOCK_SIZE;
193 *stats = pq->stats;
215 struct llvmpipe_query *pq = llvmpipe_query(q);
218 if (pq->fence) {
220 if (!lp_fence_signalled(pq->fence)) {
221 if (!lp_fence_issued(pq->fence))
225 lp_fence_wait(pq->fence);
227 unsignalled = !lp_fence_signalled(pq->fence);
245 switch (pq->type) {
248 value += pq->end[i];
255 value = value || pq->end[i];
259 value = pq->num_primitives_generated[0];
262 value = pq->num_primitives_written[0];
266 if (pq->end[i] > value) {
267 value = pq->end[i];
274 if (pq->start[i] && pq->start[i] < start)
275 start = pq->start[i];
276 if (pq->end[i] && pq->end[i] > end)
277 end = pq->end[i];
283 value = pq->num_primitives_written[0];
284 value2 = pq->num_primitives_generated[0];
290 value |= !!(pq->num_primitives_generated[s] > pq->num_primitives_written[s]);
293 value = !!(pq->num_primitives_generated[0] > pq->num_primitives_written[0]);
298 value = pq->stats.ia_vertices;
301 value = pq->stats.ia_primitives;
304 value = pq->stats.vs_invocations;
307 value = pq->stats.gs_invocations;
310 value = pq->stats.gs_primitives;
313 value = pq->stats.c_invocations;
316 value = pq->stats.c_primitives;
321 value += pq->end[i];
326 value = pq->stats.hs_invocations;
329 value = pq->stats.ds_invocations;
332 value = pq->stats.cs_invocations;
337 fprintf(stderr, "Unknown query type %d\n", pq->type);
386 struct llvmpipe_query *pq = llvmpipe_query(q);
392 if (pq->fence && !lp_fence_issued(pq->fence)) {
397 memset(pq->start, 0, sizeof(pq->start));
398 memset(pq->end, 0, sizeof(pq->end));
399 lp_setup_begin_query(llvmpipe->setup, pq);
401 switch (pq->type) {
403 pq->num_primitives_written[0] = llvmpipe->so_stats[pq->index].num_primitives_written;
406 pq->num_primitives_generated[0] = llvmpipe->so_stats[pq->index].primitives_storage_needed;
410 pq->num_primitives_written[0] = llvmpipe->so_stats[pq->index].num_primitives_written;
411 pq->num_primitives_generated[0] = llvmpipe->so_stats[pq->index].primitives_storage_needed;
415 pq->num_primitives_written[s] = llvmpipe->so_stats[s].num_primitives_written;
416 pq->num_primitives_generated[s] = llvmpipe->so_stats[s].primitives_storage_needed;
420 pq->num_primitives_written[0] = llvmpipe->so_stats[pq->index].num_primitives_written;
421 pq->num_primitives_generated[0] = llvmpipe->so_stats[pq->index].primitives_storage_needed;
429 memcpy(&pq->stats, &llvmpipe->pipeline_statistics, sizeof(pq->stats));
449 struct llvmpipe_query *pq = llvmpipe_query(q);
451 lp_setup_end_query(llvmpipe->setup, pq);
453 switch (pq->type) {
456 pq->num_primitives_written[0] =
457 llvmpipe->so_stats[pq->index].num_primitives_written - pq->num_primitives_written[0];
462 pq->num_primitives_generated[0] =
463 llvmpipe->so_stats[pq->index].primitives_storage_needed - pq->num_primitives_generated[0];
466 pq->num_primitives_written[0] =
467 llvmpipe->so_stats[pq->index].num_primitives_written - pq->num_primitives_written[0];
468 pq->num_primitives_generated[0] =
469 llvmpipe->so_stats[pq->index].primitives_storage_needed - pq->num_primitives_generated[0];
473 pq->num_primitives_written[s] =
474 llvmpipe->so_stats[s].num_primitives_written - pq->num_primitives_written[s];
475 pq->num_primitives_generated[s] =
476 llvmpipe->so_stats[s].primitives_storage_needed - pq->num_primitives_generated[s];
480 pq->num_primitives_written[0] =
481 llvmpipe->so_stats[pq->index].num_primitives_written - pq->num_primitives_written[0];
482 pq->num_primitives_generated[0] =
483 llvmpipe->so_stats[pq->index].primitives_storage_needed - pq->num_primitives_generated[0];
486 pq->stats.ia_vertices =
487 llvmpipe->pipeline_statistics.ia_vertices - pq->stats.ia_vertices;
488 pq->stats.ia_primitives =
489 llvmpipe->pipeline_statistics.ia_primitives - pq->stats.ia_primitives;
490 pq->stats.vs_invocations =
491 llvmpipe->pipeline_statistics.vs_invocations - pq->stats.vs_invocations;
492 pq->stats.gs_invocations =
493 llvmpipe->pipeline_statistics.gs_invocations - pq->stats.gs_invocations;
494 pq->stats.gs_primitives =
495 llvmpipe->pipeline_statistics.gs_primitives - pq->stats.gs_primitives;
496 pq->stats.c_invocations =
497 llvmpipe->pipeline_statistics.c_invocations - pq->stats.c_invocations;
498 pq->stats.c_primitives =
499 llvmpipe->pipeline_statistics.c_primitives - pq->stats.c_primitives;
500 pq->stats.ps_invocations =
501 llvmpipe->pipeline_statistics.ps_invocations - pq->stats.ps_invocations;
502 pq->stats.cs_invocations =
503 llvmpipe->pipeline_statistics.cs_invocations - pq->stats.cs_invocations;
504 pq->stats.hs_invocations =
505 llvmpipe->pipeline_statistics.hs_invocations - pq->stats.hs_invocations;
506 pq->stats.ds_invocations =
507 llvmpipe->pipeline_statistics.ds_invocations - pq->stats.ds_invocations;