Home | History | Annotate | Download | only in virgl

Lines Matching refs:query

52    struct virgl_query *query = virgl_query(q);
55 handle = query->handle;
63 struct virgl_query *query;
66 query = CALLOC_STRUCT(virgl_query);
67 if (!query)
70 query->buf = (struct virgl_resource *)pipe_buffer_create(ctx->screen, PIPE_BIND_CUSTOM,
72 if (!query->buf) {
73 FREE(query);
78 query->type = query_type;
79 query->index = index;
80 query->handle = handle;
81 query->buf->clean = FALSE;
82 virgl_encoder_create_query(vctx, handle, query_type, index, query->buf, 0);
84 return (struct pipe_query *)query;
91 struct virgl_query *query = virgl_query(q);
93 virgl_encode_delete_object(vctx, query->handle, VIRGL_OBJECT_QUERY);
95 pipe_resource_reference((struct pipe_resource **)&query->buf, NULL);
96 FREE(query);
103 struct virgl_query *query = virgl_query(q);
105 query->buf->clean = FALSE;
106 virgl_encoder_begin_query(vctx, query->handle);
114 struct virgl_query *query = virgl_query(q);
119 virgl_transfer_inline_write(ctx, &query->buf->u.b, 0, PIPE_TRANSFER_WRITE,
123 virgl_encoder_end_query(vctx, query->handle);
133 struct virgl_query *query = virgl_query(q);
137 /* ask host for query result */
138 if (!query->result_gotten_sent) {
139 query->result_gotten_sent = 1;
140 virgl_encoder_get_query_result(vctx, query->handle, 0);
147 host_state = pipe_buffer_map(ctx, &query->buf->u.b,
158 if (query->type == PIPE_QUERY_TIMESTAMP || query->type == PIPE_QUERY_TIME_ELAPSED)
164 query->result_gotten_sent = 0;