Correct semaphore wait programming for cross device dependencies

when event is blocked by blocked user event then program semaphore wait during
unblocking user event

Related-To: NEO-3691

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2021-06-14 15:33:53 +00:00
committed by Compute-Runtime-Automation
parent 7a2d3d6369
commit e027178c37
9 changed files with 369 additions and 56 deletions

View File

@@ -48,7 +48,7 @@ void EventsRequest::fillCsrDependenciesForTimestampPacketContainer(CsrDependenci
void EventsRequest::fillCsrDependenciesForTaskCountContainer(CsrDependencies &csrDeps, CommandStreamReceiver &currentCsr) const {
for (cl_uint i = 0; i < this->numEventsInWaitList; i++) {
auto event = castToObjectOrAbort<Event>(this->eventWaitList[i]);
if (event->isUserEvent()) {
if (event->isUserEvent() || CompletionStamp::notReady == event->peekTaskCount()) {
continue;
}