Move builtin kernel logic out of blit enqueue path

Change-Id: I857ac7d1304f8b228bf558904ee929aa114ab003
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
Bartosz Dunajski
2020-09-01 11:39:32 +02:00
parent 1afc985577
commit e079d94869
32 changed files with 243 additions and 224 deletions

View File

@@ -81,9 +81,6 @@ cl_int CommandQueueHw<GfxFamily>::enqueueReadBuffer(
if (forceStateless(buffer->getSize())) {
eBuiltInOps = EBuiltInOps::CopyBufferToBufferStateless;
}
auto &builder = BuiltInDispatchBuilderOp::getBuiltinDispatchInfoBuilder(eBuiltInOps,
this->getDevice());
BuiltInOwnershipWrapper builtInLock(builder, this->context);
void *dstPtr = ptr;
@@ -119,8 +116,7 @@ cl_int CommandQueueHw<GfxFamily>::enqueueReadBuffer(
dc.size = {size, 0, 0};
dc.transferAllocation = mapAllocation ? mapAllocation : hostPtrSurf.getAllocation();
MultiDispatchInfo dispatchInfo;
builder.buildDispatchInfos(dispatchInfo, dc);
MultiDispatchInfo dispatchInfo(dc);
if (context->isProvidingPerformanceHints()) {
context->providePerformanceHintForMemoryTransfer(CL_COMMAND_READ_BUFFER, true, static_cast<cl_mem>(buffer), ptr);
@@ -129,7 +125,7 @@ cl_int CommandQueueHw<GfxFamily>::enqueueReadBuffer(
}
}
dispatchBcsOrGpgpuEnqueue<CL_COMMAND_READ_BUFFER>(dispatchInfo, surfaces, numEventsInWaitList, eventWaitList, event, blockingRead);
dispatchBcsOrGpgpuEnqueue<CL_COMMAND_READ_BUFFER>(dispatchInfo, surfaces, eBuiltInOps, numEventsInWaitList, eventWaitList, event, blockingRead);
return CL_SUCCESS;
}