Having support for asynchronous transforms would be nice, but my concerns are about compatibility: - there is a documented way to assign queues to branches with MF_TOPONODE_WORKQUEUE_ID. I imagine that having async processing on the same branches will violate that; - quality manager has callbacks for ProcessInput()/ProcessOutput() that are visible to applications, I believe those are blocking and again might differ if we introduce additional queues; - async transforms require additional resolution steps to enable them, and additional flag to enumerate. Is there an evidence that the loader enumerates async transforms automatically and sets them up? - resolved topology contains references to transform objects, which in this case will be wrappers. This is clearly visible to client application; -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3139#note_36943