Do not noop pipe controls if call is returning event on IOQ.

-For in order queue application can have fine grain granularity of completion
-For out of order queue application wants to execute workloads concurrently
-This change disables pipe control nooping for ioq calls when event returned.

Change-Id: Iaeaf677f768f7434b2efa1842b50653ab80777ad
This commit is contained in:
Mrozek, Michal
2018-02-09 11:57:44 +01:00
parent 012b8bd73c
commit 6bb83fb95a
2 changed files with 51 additions and 1 deletions

View File

@@ -538,7 +538,7 @@ CompletionStamp CommandQueueHw<GfxFamily>::enqueueNonBlocked(
dispatchFlags.implicitFlush = implicitFlush;
dispatchFlags.flushStampReference = this->flushStamp->getStampReference();
dispatchFlags.preemptionMode = PreemptionHelper::taskPreemptionMode(*device, multiDispatchInfo);
dispatchFlags.outOfOrderExecutionAllowed = true;
dispatchFlags.outOfOrderExecutionAllowed = !eventBuilder.getEvent() || this->isOOQEnabled();
DEBUG_BREAK_IF(taskLevel >= Event::eventNotReady);