Lines Matching refs:buffer
50 struct si_query_buffer buffer;
125 static void si_pc_emit_start(struct si_context *sctx, struct si_resource *buffer, uint64_t va)
129 si_cp_copy_data(sctx, &sctx->gfx_cs, COPY_DATA_DST_MEM, buffer, va - buffer->gpu_address,
142 /* Note: The buffer was already added in si_pc_emit_start, so we don't have to
144 static void si_pc_emit_stop(struct si_context *sctx, struct si_resource *buffer, uint64_t va)
149 EOP_DATA_SEL_VALUE_32BIT, buffer, va, 0, SI_NOT_QUERY);
273 si_query_buffer_destroy(sctx->screen, &query->buffer);
297 struct si_resource *buffer, uint64_t va)*/
303 if (!si_query_buffer_alloc(sctx, &query->buffer, NULL, query->result_size))
327 uint64_t va = query->buffer.buf->gpu_address + query->buffer.results_end;
328 si_pc_emit_start(sctx, query->buffer.buf, va);
335 if (!query->buffer.buf)
338 uint64_t va = query->buffer.buf->gpu_address + query->buffer.results_end;
339 query->buffer.results_end += query->result_size;
341 si_pc_emit_stop(sctx, query->buffer.buf, va);
371 si_query_buffer_reset(ctx, &query->buffer);
390 return query->buffer.buf != NULL;
393 static void si_pc_query_add_result(struct si_query_pc *query, void *buffer,
396 uint64_t *results = buffer;
416 for (struct si_query_buffer *qbuf = &query->buffer; qbuf; qbuf = qbuf->previous) {
807 /* Configure the SPM ring buffer. */