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

Dave Airlie airlied at gmail.com
Wed Nov 21 00:05:52 UTC 2018


Reviewed-by: Dave Airlie <airlied at redhat.com>
On Wed, 21 Nov 2018 at 09:51, Marek Olšák <maraeo at gmail.com> wrote:
>
> 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
>>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list