<div dir="ltr">Ping<br></div><br><div class="gmail_quote"><div dir="ltr">On Tue, Nov 13, 2018 at 4:23 PM Marek Olšák <<a href="mailto:maraeo@gmail.com">maraeo@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From: Marek Olšák <<a href="mailto:marek.olsak@amd.com" target="_blank">marek.olsak@amd.com</a>><br>
<br>
Bugzilla: <a href="https://bugs.freedesktop.org/show_bug.cgi?id=102597" rel="noreferrer" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=102597</a><br>
<br>
Cc: 18.3 <<a href="mailto:mesa-stable@lists.freedesktop.org" target="_blank">mesa-stable@lists.freedesktop.org</a>><br>
---<br>
src/gallium/drivers/radeonsi/si_query.c | 15 ++++-----------<br>
1 file changed, 4 insertions(+), 11 deletions(-)<br>
<br>
diff --git a/src/gallium/drivers/radeonsi/si_query.c b/src/gallium/drivers/radeonsi/si_query.c<br>
index 21b9aeeac28..aed3e1e80c1 100644<br>
--- a/src/gallium/drivers/radeonsi/si_query.c<br>
+++ b/src/gallium/drivers/radeonsi/si_query.c<br>
@@ -786,31 +786,24 @@ static void si_query_hw_do_emit_start(struct si_context *sctx,<br>
case PIPE_QUERY_PRIMITIVES_GENERATED:<br>
case PIPE_QUERY_SO_STATISTICS:<br>
case PIPE_QUERY_SO_OVERFLOW_PREDICATE:<br>
emit_sample_streamout(cs, va, query->stream);<br>
break;<br>
case PIPE_QUERY_SO_OVERFLOW_ANY_PREDICATE:<br>
for (unsigned stream = 0; stream < SI_MAX_STREAMS; ++stream)<br>
emit_sample_streamout(cs, va + 32 * stream, stream);<br>
break;<br>
case PIPE_QUERY_TIME_ELAPSED:<br>
- /* Write the timestamp from the CP not waiting for<br>
- * outstanding draws (top-of-pipe).<br>
- */<br>
- radeon_emit(cs, PKT3(PKT3_COPY_DATA, 4, 0));<br>
- radeon_emit(cs, COPY_DATA_COUNT_SEL |<br>
- COPY_DATA_SRC_SEL(COPY_DATA_TIMESTAMP) |<br>
- COPY_DATA_DST_SEL(COPY_DATA_DST_MEM));<br>
- radeon_emit(cs, 0);<br>
- radeon_emit(cs, 0);<br>
- radeon_emit(cs, va);<br>
- radeon_emit(cs, va >> 32);<br>
+ si_cp_release_mem(sctx, V_028A90_BOTTOM_OF_PIPE_TS, 0,<br>
+ EOP_DST_SEL_MEM, EOP_INT_SEL_NONE,<br>
+ EOP_DATA_SEL_TIMESTAMP, NULL, va,<br>
+ 0, query->b.type);<br>
break;<br>
case PIPE_QUERY_PIPELINE_STATISTICS:<br>
radeon_emit(cs, PKT3(PKT3_EVENT_WRITE, 2, 0));<br>
radeon_emit(cs, EVENT_TYPE(V_028A90_SAMPLE_PIPELINESTAT) | EVENT_INDEX(2));<br>
radeon_emit(cs, va);<br>
radeon_emit(cs, va >> 32);<br>
break;<br>
default:<br>
assert(0);<br>
}<br>
-- <br>
2.17.1<br>
<br>
</blockquote></div>