feature: pass partition count to copy properties

Related-To: NEO-7067

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
Bartosz Dunajski 2025-05-06 16:22:39 +00:00 committed by Compute-Runtime-Automation
parent 5dc2e2bdc6
commit fdb84aaa3d
3 changed files with 9 additions and 0 deletions

View File

@ -1436,6 +1436,8 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopyBlit(uintptr_t
auto clearColorAllocation = device->getNEODevice()->getDefaultEngine().commandStreamReceiver->getClearColorAllocation();
auto blitProperties = NEO::BlitProperties::constructPropertiesForCopy(dstPtrAlloc, srcPtrAlloc, {dstOffset, 0, 0}, {srcOffset, 0, 0}, {size, 0, 0}, 0, 0, 0, 0, clearColorAllocation);
blitProperties.computeStreamPartitionCount = this->partitionCount;
commandContainer.addToResidencyContainer(dstPtrAlloc);
commandContainer.addToResidencyContainer(srcPtrAlloc);
commandContainer.addToResidencyContainer(clearColorAllocation);
@ -1477,6 +1479,8 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopyBlitRegion(Ali
commandContainer.addToResidencyContainer(dstAllocationData->alloc);
commandContainer.addToResidencyContainer(srcAllocationData->alloc);
commandContainer.addToResidencyContainer(clearColorAllocation);
blitProperties.computeStreamPartitionCount = this->partitionCount;
blitProperties.bytesPerPixel = bytesPerPixel;
blitProperties.srcSize = srcSize;
blitProperties.dstSize = dstSize;
@ -1528,9 +1532,11 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendCopyImageBlit(NEO::Graph
auto blitProperties = NEO::BlitProperties::constructPropertiesForCopy(dst, src,
dstOffsets, srcOffsets, copySize, srcRowPitch, srcSlicePitch,
dstRowPitch, dstSlicePitch, clearColorAllocation);
blitProperties.computeStreamPartitionCount = this->partitionCount;
blitProperties.bytesPerPixel = bytesPerPixel;
blitProperties.srcSize = srcSize;
blitProperties.dstSize = dstSize;
commandContainer.addToResidencyContainer(dst);
commandContainer.addToResidencyContainer(src);
commandContainer.addToResidencyContainer(clearColorAllocation);
@ -2457,6 +2463,7 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendBlitFill(void *ptr,
memcpy_s(&patternToCommand, sizeof(patternToCommand), pattern, patternSize);
auto blitProperties = NEO::BlitProperties::constructPropertiesForMemoryFill(gpuAllocation, size, patternToCommand, patternSize, offset);
blitProperties.computeStreamPartitionCount = this->partitionCount;
NEO::BlitCommandsHelper<GfxFamily>::dispatchBlitMemoryColorFill(blitProperties, *commandContainer.getCommandStream(), neoDevice->getRootDeviceEnvironmentRef());
dummyBlitWa.isWaRequired = true;

View File

@ -105,6 +105,7 @@ struct WhiteBox<::L0::CommandListCoreFamily<gfxCoreFamily>>
using BaseClass::isTimestampEventForMultiTile;
using BaseClass::l3FlushAfterPostSyncRequired;
using BaseClass::latestOperationRequiredNonWalkerInOrderCmdsChaining;
using BaseClass::maxFillPaternSizeForCopyEngine;
using BaseClass::obtainKernelPreemptionMode;
using BaseClass::partitionCount;
using BaseClass::patternAllocations;

View File

@ -88,6 +88,7 @@ struct BlitProperties {
uint32_t *fillPattern = nullptr;
uint64_t dstGpuAddress = 0;
uint64_t srcGpuAddress = 0;
uint32_t computeStreamPartitionCount = 0;
Vec3<size_t> copySize = 0;
Vec3<size_t> dstOffset = 0;