Don't take BCS path when Queue is blocked

Change-Id: Ie6faa276ce1173ce075693bc81d1e91d1ace27fc
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
Related-To: NEO-3020
This commit is contained in:
Dunajski, Bartosz
2019-06-18 11:02:47 +02:00
committed by sys_ocldev
parent d6dd229543
commit 4b592b2520
8 changed files with 59 additions and 26 deletions

View File

@@ -607,4 +607,16 @@ cl_int CommandQueue::enqueueReadWriteBufferWithBlitTransfer(cl_command_type comm
bool CommandQueue::queueDependenciesClearRequired() const {
return isOOQEnabled() || DebugManager.flags.OmitTimestampPacketDependencies.get();
}
bool CommandQueue::blitEnqueueAllowed(cl_uint numEventsInWaitList, const cl_event *eventWaitList, cl_command_type cmdType) {
bool blitAllowed = device->getExecutionEnvironment()->getHardwareInfo()->capabilityTable.blitterOperationsSupported &&
DebugManager.flags.EnableBlitterOperationsForReadWriteBuffers.get();
bool queueBlocked = false;
uint32_t calculatedTaskLevel = 0;
obtainTaskLevelAndBlockedStatus(calculatedTaskLevel, numEventsInWaitList, eventWaitList, queueBlocked, cmdType, false);
return blitAllowed && !queueBlocked;
}
} // namespace NEO