mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-30 09:58:55 +08:00
refactor: stateless enqueueCopyBufferRect
Related-to: NEO-11859 Signed-off-by: Damian Tomczak <damian.tomczak@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
2125ed66be
commit
d8f0b1c17d
@@ -7,6 +7,7 @@
|
||||
|
||||
#pragma once
|
||||
#include "shared/source/command_stream/command_stream_receiver.h"
|
||||
#include "shared/source/helpers/compiler_product_helper.h"
|
||||
|
||||
#include "opencl/source/command_queue/command_queue_hw.h"
|
||||
#include "opencl/source/mem_obj/buffer.h"
|
||||
@@ -34,9 +35,13 @@ cl_int CommandQueueHw<GfxFamily>::enqueueCopyBufferRect(
|
||||
CsrSelectionArgs csrSelectionArgs{cmdType, srcBuffer, dstBuffer, device->getRootDeviceIndex(), region};
|
||||
CommandStreamReceiver &csr = selectCsrForBuiltinOperation(csrSelectionArgs);
|
||||
|
||||
const bool useStateless = forceStateless(std::max(srcBuffer->getSize(), dstBuffer->getSize()));
|
||||
bool isStateless = device->getCompilerProductHelper().isForceToStatelessRequired();
|
||||
if (std::max(srcBuffer->getSize(), dstBuffer->getSize()) >= 4ull * MemoryConstants::gigaByte) {
|
||||
isStateless = true;
|
||||
}
|
||||
|
||||
const bool useHeapless = this->getHeaplessModeEnabled();
|
||||
auto builtInType = EBuiltInOps::adjustBuiltinType<EBuiltInOps::copyBufferRect>(useStateless, useHeapless);
|
||||
auto builtInType = EBuiltInOps::adjustBuiltinType<EBuiltInOps::copyBufferRect>(isStateless, useHeapless);
|
||||
|
||||
MemObjSurface srcBufferSurf(srcBuffer);
|
||||
MemObjSurface dstBufferSurf(dstBuffer);
|
||||
|
||||
Reference in New Issue
Block a user