[Mesa-stable] [PATCH] radv: only emit ZPASS_DONE for timestamp queries on gfx queues
Dave Airlie
airlied at gmail.com
Tue Sep 25 06:39:48 UTC 2018
On Tue, 25 Sep 2018 at 16:37, Andres Rodriguez <andresx7 at gmail.com> wrote:
>
> A ZPASS_DONE packet doesn't make sense for the compute queue. It will
> result in a gpu hang.
>
> This change resolves a gpu hang for SteamVR+Vega.
>
> Cc: mesa-stable at lists.freedesktop.org
> Fixes: 1f616a840eac02241c585d28e9dac8f19a297f39 "radv: emit a dummy ..."
> Signed-off-by: Andres Rodriguez <andresx7 at gmail.com>
> Reviewed-by: Dave Airlie <airlied at redhat.com>
I confirmed AMDVLK does the same and I think Marek pointed this out a
week or two ago to me, and I totally missed it.
Dave.
> ---
> src/amd/vulkan/si_cmd_buffer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/amd/vulkan/si_cmd_buffer.c b/src/amd/vulkan/si_cmd_buffer.c
> index 7ff1717022d..e5bc151f64b 100644
> --- a/src/amd/vulkan/si_cmd_buffer.c
> +++ b/src/amd/vulkan/si_cmd_buffer.c
> @@ -683,7 +683,7 @@ void si_cs_emit_write_event_eop(struct radeon_cmdbuf *cs,
> * counters) must immediately precede every timestamp event to
> * prevent a GPU hang on GFX9.
> */
> - if (chip_class == GFX9) {
> + if (chip_class == GFX9 && !is_mec) {
> radeon_emit(cs, PKT3(PKT3_EVENT_WRITE, 2, 0));
> radeon_emit(cs, EVENT_TYPE(EVENT_TYPE_ZPASS_DONE) | EVENT_INDEX(1));
> radeon_emit(cs, gfx9_eop_bug_va);
> --
> 2.17.1
>
More information about the mesa-stable
mailing list