feature: force stateless for copy buffer to image

Related-to: NEO-6075

Signed-off-by: Damian Tomczak <damian.tomczak@intel.com>
This commit is contained in:
Damian Tomczak
2025-09-09 11:41:30 +00:00
committed by Compute-Runtime-Automation
parent 6108ff073f
commit c2377e76c1
5 changed files with 113 additions and 12 deletions

View File

@@ -25,8 +25,8 @@ cl_int CommandQueueHw<GfxFamily>::enqueueCopyBufferToImage(
const cl_event *eventWaitList,
cl_event *event) {
const bool useStateless = forceStateless(srcBuffer->getSize());
auto builtInType = EBuiltInOps::adjustBuiltinType<EBuiltInOps::copyBufferToImage3d>(useStateless, this->heaplessModeEnabled);
const bool isStateless = isForceStateless || forceStateless(srcBuffer->getSize());
auto builtInType = EBuiltInOps::adjustBuiltinType<EBuiltInOps::copyBufferToImage3d>(isStateless, this->heaplessModeEnabled);
auto &builder = BuiltInDispatchBuilderOp::getBuiltinDispatchInfoBuilder(builtInType,
this->getClDevice());

View File

@@ -134,9 +134,9 @@ cl_int CommandQueueHw<GfxFamily>::enqueueWriteImageImpl(
dc.bcsSplit = bcsSplit;
dc.direction = csrSelectionArgs.direction;
const bool useStateless = forceStateless(dstImage->getSize());
const bool isStateless = isForceStateless || forceStateless(dstImage->getSize());
const bool useHeapless = getHeaplessModeEnabled();
auto eBuiltInOps = EBuiltInOps::adjustBuiltinType<EBuiltInOps::copyBufferToImage3d>(useStateless, useHeapless);
auto eBuiltInOps = EBuiltInOps::adjustBuiltinType<EBuiltInOps::copyBufferToImage3d>(isStateless, useHeapless);
MultiDispatchInfo dispatchInfo(dc);
const auto dispatchResult = dispatchBcsOrGpgpuEnqueue<CL_COMMAND_WRITE_IMAGE>(dispatchInfo, surfaces, eBuiltInOps, numEventsInWaitList, eventWaitList, event, blockingWrite == CL_TRUE, csr);