Fix for forceStateless check

Change-Id: Ic1d4787c3d8c7bdd70f13451d703bbc9958af7c7
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-3314
This commit is contained in:
Kamil Kopryk
2019-11-06 10:01:37 +01:00
committed by sys_ocldev
parent d9f1849323
commit 011701ee5e
13 changed files with 102 additions and 100 deletions

View File

@@ -34,7 +34,7 @@ cl_int CommandQueueHw<GfxFamily>::enqueueCopyBuffer(
MultiDispatchInfo dispatchInfo;
auto eBuiltInOpsType = EBuiltInOps::CopyBufferToBuffer;
if (forceStateless(size)) {
if (forceStateless(std::max(srcBuffer->getSize(), dstBuffer->getSize()))) {
eBuiltInOpsType = EBuiltInOps::CopyBufferToBufferStateless;
}

View File

@@ -32,11 +32,8 @@ cl_int CommandQueueHw<GfxFamily>::enqueueCopyBufferRect(
const cl_event *eventWaitList,
cl_event *event) {
MultiDispatchInfo dispatchInfo;
auto eBuiltInOps = EBuiltInOps::CopyBufferRect;
auto size = region[0] * region[1] * region[2];
if (forceStateless(size)) {
if (forceStateless(std::max(srcBuffer->getSize(), dstBuffer->getSize()))) {
eBuiltInOps = EBuiltInOps::CopyBufferRectStateless;
}
@@ -59,6 +56,8 @@ cl_int CommandQueueHw<GfxFamily>::enqueueCopyBufferRect(
dc.srcSlicePitch = srcSlicePitch;
dc.dstRowPitch = dstRowPitch;
dc.dstSlicePitch = dstSlicePitch;
MultiDispatchInfo dispatchInfo;
builder.buildDispatchInfos(dispatchInfo, dc);
enqueueHandler<CL_COMMAND_COPY_BUFFER_RECT>(

View File

@@ -47,7 +47,7 @@ cl_int CommandQueueHw<GfxFamily>::enqueueFillBuffer(
}
auto eBuiltInOps = EBuiltInOps::FillBuffer;
if (forceStateless(size)) {
if (forceStateless(buffer->getSize())) {
eBuiltInOps = EBuiltInOps::FillBufferStateless;
}

View File

@@ -56,7 +56,7 @@ cl_int CommandQueueHw<GfxFamily>::enqueueReadBuffer(
}
auto eBuiltInOps = EBuiltInOps::CopyBufferToBuffer;
if (forceStateless(size)) {
if (forceStateless(buffer->getSize())) {
eBuiltInOps = EBuiltInOps::CopyBufferToBufferStateless;
}
auto &builder = getDevice().getExecutionEnvironment()->getBuiltIns()->getBuiltinDispatchInfoBuilder(eBuiltInOps,

View File

@@ -51,7 +51,7 @@ cl_int CommandQueueHw<GfxFamily>::enqueueWriteBuffer(
}
auto eBuiltInOps = EBuiltInOps::CopyBufferToBuffer;
if (forceStateless(size)) {
if (forceStateless(buffer->getSize())) {
eBuiltInOps = EBuiltInOps::CopyBufferToBufferStateless;
}
auto &builder = getDevice().getExecutionEnvironment()->getBuiltIns()->getBuiltinDispatchInfoBuilder(eBuiltInOps,