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:
parent
5dc2e2bdc6
commit
fdb84aaa3d
|
@ -1436,6 +1436,8 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopyBlit(uintptr_t
|
||||||
|
|
||||||
auto clearColorAllocation = device->getNEODevice()->getDefaultEngine().commandStreamReceiver->getClearColorAllocation();
|
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);
|
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(dstPtrAlloc);
|
||||||
commandContainer.addToResidencyContainer(srcPtrAlloc);
|
commandContainer.addToResidencyContainer(srcPtrAlloc);
|
||||||
commandContainer.addToResidencyContainer(clearColorAllocation);
|
commandContainer.addToResidencyContainer(clearColorAllocation);
|
||||||
|
@ -1477,6 +1479,8 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendMemoryCopyBlitRegion(Ali
|
||||||
commandContainer.addToResidencyContainer(dstAllocationData->alloc);
|
commandContainer.addToResidencyContainer(dstAllocationData->alloc);
|
||||||
commandContainer.addToResidencyContainer(srcAllocationData->alloc);
|
commandContainer.addToResidencyContainer(srcAllocationData->alloc);
|
||||||
commandContainer.addToResidencyContainer(clearColorAllocation);
|
commandContainer.addToResidencyContainer(clearColorAllocation);
|
||||||
|
|
||||||
|
blitProperties.computeStreamPartitionCount = this->partitionCount;
|
||||||
blitProperties.bytesPerPixel = bytesPerPixel;
|
blitProperties.bytesPerPixel = bytesPerPixel;
|
||||||
blitProperties.srcSize = srcSize;
|
blitProperties.srcSize = srcSize;
|
||||||
blitProperties.dstSize = dstSize;
|
blitProperties.dstSize = dstSize;
|
||||||
|
@ -1528,9 +1532,11 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendCopyImageBlit(NEO::Graph
|
||||||
auto blitProperties = NEO::BlitProperties::constructPropertiesForCopy(dst, src,
|
auto blitProperties = NEO::BlitProperties::constructPropertiesForCopy(dst, src,
|
||||||
dstOffsets, srcOffsets, copySize, srcRowPitch, srcSlicePitch,
|
dstOffsets, srcOffsets, copySize, srcRowPitch, srcSlicePitch,
|
||||||
dstRowPitch, dstSlicePitch, clearColorAllocation);
|
dstRowPitch, dstSlicePitch, clearColorAllocation);
|
||||||
|
blitProperties.computeStreamPartitionCount = this->partitionCount;
|
||||||
blitProperties.bytesPerPixel = bytesPerPixel;
|
blitProperties.bytesPerPixel = bytesPerPixel;
|
||||||
blitProperties.srcSize = srcSize;
|
blitProperties.srcSize = srcSize;
|
||||||
blitProperties.dstSize = dstSize;
|
blitProperties.dstSize = dstSize;
|
||||||
|
|
||||||
commandContainer.addToResidencyContainer(dst);
|
commandContainer.addToResidencyContainer(dst);
|
||||||
commandContainer.addToResidencyContainer(src);
|
commandContainer.addToResidencyContainer(src);
|
||||||
commandContainer.addToResidencyContainer(clearColorAllocation);
|
commandContainer.addToResidencyContainer(clearColorAllocation);
|
||||||
|
@ -2457,6 +2463,7 @@ ze_result_t CommandListCoreFamily<gfxCoreFamily>::appendBlitFill(void *ptr,
|
||||||
memcpy_s(&patternToCommand, sizeof(patternToCommand), pattern, patternSize);
|
memcpy_s(&patternToCommand, sizeof(patternToCommand), pattern, patternSize);
|
||||||
|
|
||||||
auto blitProperties = NEO::BlitProperties::constructPropertiesForMemoryFill(gpuAllocation, size, patternToCommand, patternSize, offset);
|
auto blitProperties = NEO::BlitProperties::constructPropertiesForMemoryFill(gpuAllocation, size, patternToCommand, patternSize, offset);
|
||||||
|
blitProperties.computeStreamPartitionCount = this->partitionCount;
|
||||||
|
|
||||||
NEO::BlitCommandsHelper<GfxFamily>::dispatchBlitMemoryColorFill(blitProperties, *commandContainer.getCommandStream(), neoDevice->getRootDeviceEnvironmentRef());
|
NEO::BlitCommandsHelper<GfxFamily>::dispatchBlitMemoryColorFill(blitProperties, *commandContainer.getCommandStream(), neoDevice->getRootDeviceEnvironmentRef());
|
||||||
dummyBlitWa.isWaRequired = true;
|
dummyBlitWa.isWaRequired = true;
|
||||||
|
|
|
@ -105,6 +105,7 @@ struct WhiteBox<::L0::CommandListCoreFamily<gfxCoreFamily>>
|
||||||
using BaseClass::isTimestampEventForMultiTile;
|
using BaseClass::isTimestampEventForMultiTile;
|
||||||
using BaseClass::l3FlushAfterPostSyncRequired;
|
using BaseClass::l3FlushAfterPostSyncRequired;
|
||||||
using BaseClass::latestOperationRequiredNonWalkerInOrderCmdsChaining;
|
using BaseClass::latestOperationRequiredNonWalkerInOrderCmdsChaining;
|
||||||
|
using BaseClass::maxFillPaternSizeForCopyEngine;
|
||||||
using BaseClass::obtainKernelPreemptionMode;
|
using BaseClass::obtainKernelPreemptionMode;
|
||||||
using BaseClass::partitionCount;
|
using BaseClass::partitionCount;
|
||||||
using BaseClass::patternAllocations;
|
using BaseClass::patternAllocations;
|
||||||
|
|
|
@ -88,6 +88,7 @@ struct BlitProperties {
|
||||||
uint32_t *fillPattern = nullptr;
|
uint32_t *fillPattern = nullptr;
|
||||||
uint64_t dstGpuAddress = 0;
|
uint64_t dstGpuAddress = 0;
|
||||||
uint64_t srcGpuAddress = 0;
|
uint64_t srcGpuAddress = 0;
|
||||||
|
uint32_t computeStreamPartitionCount = 0;
|
||||||
|
|
||||||
Vec3<size_t> copySize = 0;
|
Vec3<size_t> copySize = 0;
|
||||||
Vec3<size_t> dstOffset = 0;
|
Vec3<size_t> dstOffset = 0;
|
||||||
|
|
Loading…
Reference in New Issue