[UR][L0v2] Fork-join pattern (#22333)
The L0v2 out-of-order queue uses 4 command list managers but records
graph capture only on manager 0. Two paths broke the fork-join pattern:
1. Routing — getNextCommandListId() round-robined operations to an
arbitrary command list. An op waiting on an event from a capturing queue
could land on a non-capture list, escaping
capture, so queueIsGraphCaptureEnabledExp returned false. Fixed by
routing such ops to the capture command list when any wait event comes
from a capturing queue.
2. Barrier — enqueueEventsWaitWithBarrier() cross-links all command
lists via per-list barrier events. During capture this would fork the
other lists without joining them back, producing a
capture error. Fixed by applying the barrier on the capture list only
while capture is active.
Removes the UUR_KNOWN_FAILURE_ON(LevelZeroV2) guard from the
ForkJoinPattern conformance test.
---------
Co-authored-by: Krzysztof Swiecicki <krzysztof.swiecicki@intel.com>