[Mesa-dev] [PATCH 2/2] radeonsi: go back to using bottom-of-pipe for beginning of TIME_ELAPSED

Marek Olšák maraeo at gmail.com
Tue Nov 20 23:50:24 UTC 2018


Ping

On Tue, Nov 13, 2018 at 4:23 PM Marek Olšák <maraeo at gmail.com> wrote:

> From: Marek Olšák <marek.olsak at amd.com>
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102597
>
> Cc: 18.3 <mesa-stable at 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181120/172b5855/attachment.html>


More information about the mesa-dev mailing list