radv: fix events on compute queues.
authorDave Airlie <airlied@redhat.com>
Thu, 28 Dec 2017 06:26:18 +0000 (16:26 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 28 Dec 2017 09:30:32 +0000 (19:30 +1000)
The event emission wasn't sending the correct packet for gfx8 compute
queues, which explains why it works on vega fine.

This fixes the mpv vulkan hang.

Fixes: ad61eac250 (radv: factor out eop event writing code. (v2))
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_cmd_buffer.c

index 6a89d4e568d96219b844faadc6eee16c57be682d..42468bceed2e4a2fb44a311e5dbe1427df234612 100644 (file)
@@ -4002,7 +4002,7 @@ static void write_event(struct radv_cmd_buffer *cmd_buffer,
        si_cs_emit_write_event_eop(cs,
                                   cmd_buffer->state.predicating,
                                   cmd_buffer->device->physical_device->rad_info.chip_class,
-                                  false,
+                                  radv_cmd_buffer_uses_mec(cmd_buffer),
                                   V_028A90_BOTTOM_OF_PIPE_TS, 0,
                                   1, va, 2, value);