Lines Matching refs:qbuf
523 struct si_query_buffer *qbuf = prev; in si_query_buffer_destroy() local
525 si_resource_reference(&qbuf->buf, NULL); in si_query_buffer_destroy()
526 FREE(qbuf); in si_query_buffer_destroy()
536 struct si_query_buffer *qbuf = buffer->previous; in si_query_buffer_reset() local
537 buffer->previous = qbuf->previous; in si_query_buffer_reset()
540 buffer->buf = qbuf->buf; /* move ownership */ in si_query_buffer_reset()
541 FREE(qbuf); in si_query_buffer_reset()
566 struct si_query_buffer *qbuf = MALLOC_STRUCT(si_query_buffer); in si_query_buffer_alloc() local
567 memcpy(qbuf, buffer, sizeof(*qbuf)); in si_query_buffer_alloc()
568 buffer->previous = qbuf; in si_query_buffer_alloc()
603 static bool si_query_hw_prepare_buffer(struct si_context *sctx, struct si_query_buffer *qbuf) in si_query_hw_prepare_buffer() argument
605 struct si_query_hw *query = container_of(qbuf, struct si_query_hw, buffer); in si_query_hw_prepare_buffer()
609 uint32_t *results = screen->ws->buffer_map(sctx->ws, qbuf->buf->buf, NULL, in si_query_hw_prepare_buffer()
614 memset(results, 0, qbuf->buf->b.b.width0); in si_query_hw_prepare_buffer()
625 num_results = qbuf->buf->b.b.width0 / query->result_size; in si_query_hw_prepare_buffer()
1075 struct gfx10_sh_query_buffer *qbuf, *first, *last; in si_emit_query_predication() local
1091 qbuf = first; in si_emit_query_predication()
1093 first = list_entry(qbuf->list.next, struct gfx10_sh_query_buffer, list); in si_emit_query_predication()
1098 uint64_t va_base = qbuf->buf->gpu_address; in si_emit_query_predication()
1101 unsigned begin = qbuf == gfx10_query->first ? gfx10_query->first_begin : 0; in si_emit_query_predication()
1102 unsigned end = qbuf == gfx10_query->last ? gfx10_query->last_end : qbuf->buf->b.b.width0; in si_emit_query_predication()
1108 emit_set_predicate(ctx, qbuf->buf, va + 4 * sizeof(uint64_t) * stream, op); in si_emit_query_predication()
1114 … emit_set_predicate(ctx, qbuf->buf, va + 4 * sizeof(uint64_t) * gfx10_query->stream, op); in si_emit_query_predication()
1122 struct si_query_buffer *qbuf; in si_emit_query_predication() local
1166 for (qbuf = &query->buffer; qbuf; qbuf = qbuf->previous) { in si_emit_query_predication()
1168 uint64_t va_base = qbuf->buf->gpu_address; in si_emit_query_predication()
1170 while (results_base < qbuf->results_end) { in si_emit_query_predication()
1175 emit_set_predicate(ctx, qbuf->buf, va + 32 * stream, op); in si_emit_query_predication()
1181 emit_set_predicate(ctx, qbuf->buf, va, op); in si_emit_query_predication()
1493 struct si_query_buffer *qbuf; in si_query_hw_get_result() local
1497 for (qbuf = &query->buffer; qbuf; qbuf = qbuf->previous) { in si_query_hw_get_result()
1503 map = sctx->ws->buffer_map(sctx->ws, qbuf->buf->buf, NULL, usage); in si_query_hw_get_result()
1505 map = si_buffer_map(sctx, qbuf->buf, usage); in si_query_hw_get_result()
1510 while (results_base != qbuf->results_end) { in si_query_hw_get_result()
1531 struct si_query_buffer *qbuf; in si_query_hw_get_result_resource() local
1613 for (qbuf = &query->buffer; qbuf; qbuf = qbuf_prev) { in si_query_hw_get_result_resource()
1615 qbuf_prev = qbuf->previous; in si_query_hw_get_result_resource()
1616 consts.result_count = qbuf->results_end / query->result_size; in si_query_hw_get_result_resource()
1618 if (qbuf != &query->buffer) in si_query_hw_get_result_resource()
1620 if (qbuf->previous) in si_query_hw_get_result_resource()
1627 params.start_offset += qbuf->results_end - query->result_size; in si_query_hw_get_result_resource()
1632 ssbo[0].buffer = &qbuf->buf->b.b; in si_query_hw_get_result_resource()
1634 ssbo[0].buffer_size = qbuf->results_end - params.start_offset; in si_query_hw_get_result_resource()
1636 if (!qbuf->previous) { in si_query_hw_get_result_resource()
1645 if ((flags & PIPE_QUERY_WAIT) && qbuf == &query->buffer) { in si_query_hw_get_result_resource()
1652 va = qbuf->buf->gpu_address + qbuf->results_end - query->result_size; in si_query_hw_get_result_resource()