Ping On Tue, Nov 13, 2018 at 4:23 PM Marek Olšák <mar...@gmail.com> wrote:
> From: Marek Olšák <marek.ol...@amd.com> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102597 > > Cc: 18.3 <mesa-sta...@lists.freedesktop.org> > --- > src/gallium/drivers/radeonsi/si_query.c | 15 ++++----------- > 1 file changed, 4 insertions(+), 11 deletions(-) > > diff --git a/src/gallium/drivers/radeonsi/si_query.c > b/src/gallium/drivers/radeonsi/si_query.c > index 21b9aeeac28..aed3e1e80c1 100644 > --- a/src/gallium/drivers/radeonsi/si_query.c > +++ b/src/gallium/drivers/radeonsi/si_query.c > @@ -786,31 +786,24 @@ static void si_query_hw_do_emit_start(struct > si_context *sctx, > case PIPE_QUERY_PRIMITIVES_GENERATED: > case PIPE_QUERY_SO_STATISTICS: > case PIPE_QUERY_SO_OVERFLOW_PREDICATE: > emit_sample_streamout(cs, va, query->stream); > break; > case PIPE_QUERY_SO_OVERFLOW_ANY_PREDICATE: > for (unsigned stream = 0; stream < SI_MAX_STREAMS; > ++stream) > emit_sample_streamout(cs, va + 32 * stream, > stream); > break; > case PIPE_QUERY_TIME_ELAPSED: > - /* Write the timestamp from the CP not waiting for > - * outstanding draws (top-of-pipe). > - */ > - radeon_emit(cs, PKT3(PKT3_COPY_DATA, 4, 0)); > - radeon_emit(cs, COPY_DATA_COUNT_SEL | > - COPY_DATA_SRC_SEL(COPY_DATA_TIMESTAMP) | > - COPY_DATA_DST_SEL(COPY_DATA_DST_MEM)); > - radeon_emit(cs, 0); > - radeon_emit(cs, 0); > - radeon_emit(cs, va); > - radeon_emit(cs, va >> 32); > + si_cp_release_mem(sctx, V_028A90_BOTTOM_OF_PIPE_TS, 0, > + EOP_DST_SEL_MEM, EOP_INT_SEL_NONE, > + EOP_DATA_SEL_TIMESTAMP, NULL, va, > + 0, query->b.type); > break; > case PIPE_QUERY_PIPELINE_STATISTICS: > radeon_emit(cs, PKT3(PKT3_EVENT_WRITE, 2, 0)); > radeon_emit(cs, EVENT_TYPE(V_028A90_SAMPLE_PIPELINESTAT) | > EVENT_INDEX(2)); > radeon_emit(cs, va); > radeon_emit(cs, va >> 32); > break; > default: > assert(0); > } > -- > 2.17.1 > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev