[SYCL] Event-less APIs synchronization with the scheduler (#19987)
This change makes the commands submitted to the scheduler
unconditionally associated with an event (for both event and event-less
APIs), for kernel submission. For other commands, the event can be
skipped if the scheduler bypass condition is true (the scheduler bypass
itself is not supported for commands other than the kernel submission),
if the queue supports discarding the events and the event was not
requested.
The reason for this change is, that some commands might already be
scheduled and waiting for the submission, so all the kernel submission
commands subsequently submitted to the scheduler must return an event,
which is then used to order the commands by the in-order type queue and
avoid scheduler-bypass flow in such a case.
On the other hand, if the scheduler bypass condition is true for a
command other than the kernel submission, the event dependencies are
safe for scheduler bypass, so the event is not needed.
---------
Co-authored-by: Sergey Semenov <sergey.semenov@intel.com>