diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 7198b604542..8802525ade5 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -9561,6 +9561,9 @@ radv_emit_dispatch_packets(struct radv_cmd_buffer *cmd_buffer, dispatch_initiator |= S_00B800_CS_W32_EN(1); } + if (info->ordered) + dispatch_initiator &= ~S_00B800_ORDER_MODE(1); + if (info->va) { if (info->indirect) radv_cs_add_buffer(ws, cs, info->indirect); diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index f6d7c692edb..127897e35ca 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -1705,6 +1705,11 @@ struct radv_dispatch_info { */ bool unaligned; + /** + * Whether waves must be launched in order. + */ + bool ordered; + /** * Indirect compute parameters resource. */