diff --git a/level_zero/core/source/cmdlist/cmdlist_hw.h b/level_zero/core/source/cmdlist/cmdlist_hw.h index f1559bae77..d12ee75b82 100644 --- a/level_zero/core/source/cmdlist/cmdlist_hw.h +++ b/level_zero/core/source/cmdlist/cmdlist_hw.h @@ -279,7 +279,7 @@ struct CommandListCoreFamily : public CommandListImp { size_t dstRowPitch, size_t dstSlicePitch, const Vec3 &srcSize, const Vec3 &dstSize, Event *signalEvent, - uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents, bool relaxedOrderingDispatch, bool dualStreamCopyOffload); + uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents, CmdListMemoryCopyParams &memoryCopyParams, bool dualStreamCopyOffload); MOCKABLE_VIRTUAL ze_result_t appendMemoryCopyKernel2d(AlignedAllocationData *dstAlignedAllocation, AlignedAllocationData *srcAlignedAllocation, Builtin builtin, const ze_copy_region_t *dstRegion, @@ -372,7 +372,7 @@ struct CommandListCoreFamily : public CommandListImp { uint32_t getRegionOffsetForAppendMemoryCopyBlitRegion(AlignedAllocationData *allocationData); void handlePostSubmissionState(); - MOCKABLE_VIRTUAL void setAdditionalBlitProperties(NEO::BlitProperties &blitProperties, Event *signalEvent, bool useAdditionalTimestamp); + MOCKABLE_VIRTUAL void setAdditionalBlitProperties(NEO::BlitProperties &blitProperties, Event *signalEvent, uint32_t forceAggregatedEventIncValue, bool useAdditionalTimestamp); void setupFillKernelArguments(size_t baseOffset, size_t patternSize, diff --git a/level_zero/core/source/cmdlist/cmdlist_hw.inl b/level_zero/core/source/cmdlist/cmdlist_hw.inl index 719fcd07df..857a1c2d66 100644 --- a/level_zero/core/source/cmdlist/cmdlist_hw.inl +++ b/level_zero/core/source/cmdlist/cmdlist_hw.inl @@ -1583,7 +1583,7 @@ ze_result_t CommandListCoreFamily::appendMemoryCopyBlit(uintptr_t size_t nBlitsPerRow = NEO::BlitCommandsHelper::getNumberOfBlitsForCopyPerRow(blitProperties.copySize, device->getNEODevice()->getRootDeviceEnvironmentRef(), blitProperties.isSystemMemoryPoolUsed); bool useAdditionalTimestamp = nBlitsPerRow > 1; if (useAdditionalBlitProperties) { - setAdditionalBlitProperties(blitProperties, signalEvent, useAdditionalTimestamp); + setAdditionalBlitProperties(blitProperties, signalEvent, memoryCopyParams.forceAggregatedEventIncValue, useAdditionalTimestamp); } NEO::BlitPropertiesContainer blitPropertiesContainer{blitProperties}; @@ -1606,7 +1606,7 @@ ze_result_t CommandListCoreFamily::appendMemoryCopyBlitRegion(Ali const Vec3 &srcSize, const Vec3 &dstSize, Event *signalEvent, uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents, - bool relaxedOrderingDispatch, bool dualStreamCopyOffload) { + CmdListMemoryCopyParams &memoryCopyParams, bool dualStreamCopyOffload) { if (srcAllocationData->alloc) { srcRegion.originX += getRegionOffsetForAppendMemoryCopyBlitRegion(srcAllocationData); } @@ -1633,7 +1633,7 @@ ze_result_t CommandListCoreFamily::appendMemoryCopyBlitRegion(Ali blitProperties.srcSize = srcSize; blitProperties.dstSize = dstSize; - ze_result_t ret = addEventsToCmdList(numWaitEvents, phWaitEvents, nullptr, relaxedOrderingDispatch, false, true, false, dualStreamCopyOffload); + ze_result_t ret = addEventsToCmdList(numWaitEvents, phWaitEvents, nullptr, memoryCopyParams.relaxedOrderingDispatch, false, true, false, dualStreamCopyOffload); if (ret) { return ret; } @@ -1647,7 +1647,7 @@ ze_result_t CommandListCoreFamily::appendMemoryCopyBlitRegion(Ali size_t nBlits = copyRegionPreferred ? NEO::BlitCommandsHelper::getNumberOfBlitsForCopyRegion(blitProperties.copySize, rootDeviceEnvironment, blitProperties.isSystemMemoryPoolUsed) : NEO::BlitCommandsHelper::getNumberOfBlitsForCopyPerRow(blitProperties.copySize, rootDeviceEnvironment, blitProperties.isSystemMemoryPoolUsed); bool useAdditionalTimestamp = nBlits > 1; if (useAdditionalBlitProperties) { - setAdditionalBlitProperties(blitProperties, signalEvent, useAdditionalTimestamp); + setAdditionalBlitProperties(blitProperties, signalEvent, memoryCopyParams.forceAggregatedEventIncValue, useAdditionalTimestamp); } else { appendEventForProfiling(signalEvent, nullptr, true, false, false, true); } @@ -1710,7 +1710,7 @@ ze_result_t CommandListCoreFamily::appendCopyImageBlit(uintptr_t bool useAdditionalTimestamp = blitProperties.copySize.z > 1; if (useAdditionalBlitProperties) { - setAdditionalBlitProperties(blitProperties, signalEvent, useAdditionalTimestamp); + setAdditionalBlitProperties(blitProperties, signalEvent, 0, useAdditionalTimestamp); } else { appendEventForProfiling(signalEvent, nullptr, true, false, false, true); } @@ -2145,7 +2145,7 @@ ze_result_t CommandListCoreFamily::appendMemoryCopyRegion(void *d result = appendMemoryCopyBlitRegion(&srcAllocationStruct, &dstAllocationStruct, *srcRegion, *dstRegion, {srcRegion->width, srcRegion->height, srcRegion->depth}, srcPitch, srcSlicePitch, dstPitch, dstSlicePitch, srcSize3, dstSize3, - signalEvent, numWaitEvents, phWaitEvents, memoryCopyParams.relaxedOrderingDispatch, isDualStreamCopyOffloadOperation(memoryCopyParams.copyOffloadAllowed)); + signalEvent, numWaitEvents, phWaitEvents, memoryCopyParams, isDualStreamCopyOffloadOperation(memoryCopyParams.copyOffloadAllowed)); } else if ((srcRegion->depth > 1) || (srcRegion->originZ != 0) || (dstRegion->originZ != 0)) { Builtin builtInType = BuiltinTypeHelper::adjustBuiltinType(isStateless, false); result = this->appendMemoryCopyKernel3d(&dstAllocationStruct, &srcAllocationStruct, builtInType, @@ -2820,7 +2820,7 @@ ze_result_t CommandListCoreFamily::appendBlitFill(void *ptr, cons setAdditionalBlitPropertiesFromMemoryCopyParams(blitProperties, memoryCopyParams); if (useAdditionalBlitProperties) { - setAdditionalBlitProperties(blitProperties, signalEvent, useAdditionalTimestamp); + setAdditionalBlitProperties(blitProperties, signalEvent, 0, useAdditionalTimestamp); } blitProperties.computeStreamPartitionCount = this->partitionCount; blitProperties.highPriority = isHighPriorityImmediateCmdList(); diff --git a/level_zero/core/source/cmdlist/cmdlist_hw_gen12lp_to_xe3.inl b/level_zero/core/source/cmdlist/cmdlist_hw_gen12lp_to_xe3.inl index bdc15f39fe..e9b552a9f4 100644 --- a/level_zero/core/source/cmdlist/cmdlist_hw_gen12lp_to_xe3.inl +++ b/level_zero/core/source/cmdlist/cmdlist_hw_gen12lp_to_xe3.inl @@ -16,7 +16,7 @@ constexpr bool CommandListCoreFamily::checkIfAllocationImportedRe } template -void CommandListCoreFamily::setAdditionalBlitProperties(NEO::BlitProperties &blitProperties, Event *signalEvent, bool useAdditionalTimestamp) { +void CommandListCoreFamily::setAdditionalBlitProperties(NEO::BlitProperties &blitProperties, Event *signalEvent, uint32_t forceAggregatedEventIncValue, bool useAdditionalTimestamp) { } template diff --git a/level_zero/core/source/cmdlist/cmdlist_hw_immediate.inl b/level_zero/core/source/cmdlist/cmdlist_hw_immediate.inl index 590785a084..54ab0de2ee 100644 --- a/level_zero/core/source/cmdlist/cmdlist_hw_immediate.inl +++ b/level_zero/core/source/cmdlist/cmdlist_hw_immediate.inl @@ -697,7 +697,8 @@ ze_result_t CommandListCoreFamilyImmediate::appendMemoryCopy( if (isSplitNeeded) { setupFlagsForBcsSplit(memoryCopyParams, hasStallingCmds, copyOffloadFlush, srcptr, dstptr, size, size); - auto splitCall = [&](CommandListCoreFamilyImmediate *subCmdList, void *dstptrParam, const void *srcptrParam, size_t sizeParam, ze_event_handle_t hSignalEventParam) { + auto splitCall = [&](CommandListCoreFamilyImmediate *subCmdList, void *dstptrParam, const void *srcptrParam, size_t sizeParam, ze_event_handle_t hSignalEventParam, uint32_t aggregatedEventInvValue) { + memoryCopyParams.forceAggregatedEventIncValue = aggregatedEventInvValue; return subCmdList->CommandListCoreFamily::appendMemoryCopy(dstptrParam, srcptrParam, sizeParam, hSignalEventParam, 0u, nullptr, memoryCopyParams); }; @@ -752,7 +753,7 @@ ze_result_t CommandListCoreFamilyImmediate::appendMemoryCopyRegio this->getTotalSizeForCopyRegion(srcRegion, srcPitch, srcSlicePitch), this->getTotalSizeForCopyRegion(dstRegion, dstPitch, dstSlicePitch)); - auto splitCall = [&](CommandListCoreFamilyImmediate *subCmdList, uint32_t dstOriginXParam, uint32_t srcOriginXParam, size_t sizeParam, ze_event_handle_t hSignalEventParam) { + auto splitCall = [&](CommandListCoreFamilyImmediate *subCmdList, uint32_t dstOriginXParam, uint32_t srcOriginXParam, size_t sizeParam, ze_event_handle_t hSignalEventParam, uint32_t aggregatedEventInvValue) { ze_copy_region_t dstRegionLocal = {}; ze_copy_region_t srcRegionLocal = {}; memcpy(&dstRegionLocal, dstRegion, sizeof(ze_copy_region_t)); @@ -761,6 +762,7 @@ ze_result_t CommandListCoreFamilyImmediate::appendMemoryCopyRegio dstRegionLocal.width = static_cast(sizeParam); srcRegionLocal.originX = srcOriginXParam; srcRegionLocal.width = static_cast(sizeParam); + memoryCopyParams.forceAggregatedEventIncValue = aggregatedEventInvValue; return subCmdList->CommandListCoreFamily::appendMemoryCopyRegion(dstPtr, &dstRegionLocal, dstPitch, dstSlicePitch, srcPtr, &srcRegionLocal, srcPitch, srcSlicePitch, hSignalEventParam, 0u, nullptr, memoryCopyParams); @@ -837,7 +839,8 @@ ze_result_t CommandListCoreFamilyImmediate::appendPageFaultCopy(N setupFlagsForBcsSplit(bcsSplitMemoryCopyParams, hasStallingCmds, copyOffloadFlush, srcAddress, dstAddress, size, size); - auto splitCall = [&](CommandListCoreFamilyImmediate *subCmdList, void *dstAddressParam, const void *srcAddressParam, size_t sizeParam, ze_event_handle_t hSignalEventParam) { + auto splitCall = [&](CommandListCoreFamilyImmediate *subCmdList, void *dstAddressParam, const void *srcAddressParam, size_t sizeParam, ze_event_handle_t hSignalEventParam, uint32_t aggregatedEventInvValue) { + bcsSplitMemoryCopyParams.forceAggregatedEventIncValue = aggregatedEventInvValue; return subCmdList->CommandListCoreFamily::appendMemoryCopy(dstAddressParam, srcAddressParam, sizeParam, hSignalEventParam, 0u, nullptr, bcsSplitMemoryCopyParams); }; diff --git a/level_zero/core/source/cmdlist/cmdlist_memory_copy_params.h b/level_zero/core/source/cmdlist/cmdlist_memory_copy_params.h index 1029c06f19..1fa811e71c 100644 --- a/level_zero/core/source/cmdlist/cmdlist_memory_copy_params.h +++ b/level_zero/core/source/cmdlist/cmdlist_memory_copy_params.h @@ -10,6 +10,7 @@ #include "cmdlist_memory_copy_params_ext.h" #include +#include namespace L0 { struct CmdListMemoryCopyParams { @@ -17,6 +18,7 @@ struct CmdListMemoryCopyParams { void *bcsSplitBaseDstPtr = nullptr; size_t bcsSplitTotalSrcSize = 0; size_t bcsSplitTotalDstSize = 0; + uint32_t forceAggregatedEventIncValue = 0; bool relaxedOrderingDispatch = false; bool forceDisableCopyOnlyInOrderSignaling = false; bool copyOffloadAllowed = false; diff --git a/level_zero/core/source/device/bcs_split.h b/level_zero/core/source/device/bcs_split.h index fd132a7317..70837844ef 100644 --- a/level_zero/core/source/device/bcs_split.h +++ b/level_zero/core/source/device/bcs_split.h @@ -29,7 +29,10 @@ struct CommandQueue; struct DeviceImp; struct BcsSplit { + template + using AppendCallFuncT = std::function *, T, K, size_t, ze_event_handle_t, uint32_t)>; using CsrContainer = StackVec; + DeviceImp &device; uint32_t clientCount = 0u; @@ -77,7 +80,7 @@ struct BcsSplit { bool hasRelaxedOrderingDependencies, NEO::TransferDirection direction, size_t estimatedCmdBufferSize, - std::function *, T, K, size_t, ze_event_handle_t)> appendCall) { + AppendCallFuncT appendCall) { ze_result_t result = ZE_RESULT_SUCCESS; auto markerEventIndexRet = this->events.obtainForSplit(Context::fromHandle(cmdList->getCmdListContext()), MemoryConstants::pageSize64k / sizeof(typename CommandListCoreFamilyImmediate::GfxFamily::TimestampPacketType)); @@ -133,7 +136,7 @@ struct BcsSplit { auto copyEventIndex = aggregatedEventsMode ? markerEventIndex : subcopyEventIndex + i; auto eventHandle = this->events.subcopy[copyEventIndex]->toHandle(); - result = appendCall(subCmdList, localDstPtr, localSrcPtr, localSize, eventHandle); + result = appendCall(subCmdList, localDstPtr, localSrcPtr, localSize, eventHandle, 1); subCmdList->flushImmediate(result, true, !hasRelaxedOrderingDependencies, hasRelaxedOrderingDependencies, NEO::AppendOperations::nonKernel, false, nullptr, true, nullptr, nullptr); if ((aggregatedEventsMode && i == 0) || !aggregatedEventsMode) { diff --git a/level_zero/core/test/unit_tests/mocks/mock_cmdlist.h b/level_zero/core/test/unit_tests/mocks/mock_cmdlist.h index 26adc36a87..69233c0dd5 100644 --- a/level_zero/core/test/unit_tests/mocks/mock_cmdlist.h +++ b/level_zero/core/test/unit_tests/mocks/mock_cmdlist.h @@ -745,11 +745,11 @@ class MockCommandListCoreFamily : public CommandListCoreFamily { size_t dstRowPitch, size_t dstSlicePitch, const Vec3 &srcSize, const Vec3 &dstSize, L0::Event *signalEvent, - uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents, bool relaxedOrderingDispatch, bool doubleStreamCopyOffload) override { + uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents, CmdListMemoryCopyParams &memoryCopyParams, bool doubleStreamCopyOffload) override { srcBlitCopyRegionOffset = srcAllocationData->offset; dstBlitCopyRegionOffset = dstAllocationData->offset; return L0::CommandListCoreFamily::appendMemoryCopyBlitRegion(srcAllocationData, dstAllocationData, srcRegion, dstRegion, copySize, srcRowPitch, srcSlicePitch, dstRowPitch, dstSlicePitch, - srcSize, dstSize, signalEvent, numWaitEvents, phWaitEvents, relaxedOrderingDispatch, doubleStreamCopyOffload); + srcSize, dstSize, signalEvent, numWaitEvents, phWaitEvents, memoryCopyParams, doubleStreamCopyOffload); } uintptr_t srcAlignedPtr; uintptr_t dstAlignedPtr; diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_2.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_2.cpp index f5ac718d16..6869455a22 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_2.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_2.cpp @@ -98,7 +98,7 @@ class MockCommandListHw : public WhiteBox<::L0::CommandListCoreFamily &srcSize, const Vec3 &dstSize, L0::Event *signalEvent, - uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents, bool relaxedOrderingDispatch, bool doubleStreamCopyOffload) override { + uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents, CmdListMemoryCopyParams &memoryCopyParams, bool doubleStreamCopyOffload) override { if (signalEvent) { useEvents = true; } else { @@ -108,7 +108,7 @@ class MockCommandListHw : public WhiteBox<::L0::CommandListCoreFamilyappendMemoryCopyBlitRegion(&srcAllocationData, &dstAllocationData, srcRegion, dstRegion, copySize, rowPitch, slicePitch, rowPitch, slicePitch, srcSize, dstSize, nullptr, 0, nullptr, false, false); + CmdListMemoryCopyParams copyParams = {}; + commandList->appendMemoryCopyBlitRegion(&srcAllocationData, &dstAllocationData, srcRegion, dstRegion, copySize, rowPitch, slicePitch, rowPitch, slicePitch, srcSize, dstSize, nullptr, 0, nullptr, copyParams, false); GenCmdList cmdList; ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer( @@ -1490,7 +1491,8 @@ HWTEST2_F(CommandListCreateTests, givenCopyCommandListWhenCopyRegionWithinMaxBli AlignedAllocationData dstAllocationData = {mockAllocationDst.gpuAddress, 0, &mockAllocationDst, false}; size_t rowPitch = copySize.x; size_t slicePitch = copySize.x * copySize.y; - commandList->appendMemoryCopyBlitRegion(&srcAllocationData, &dstAllocationData, srcRegion, dstRegion, copySize, rowPitch, slicePitch, rowPitch, slicePitch, srcSize, dstSize, nullptr, 0, nullptr, false, false); + CmdListMemoryCopyParams copyParams = {}; + commandList->appendMemoryCopyBlitRegion(&srcAllocationData, &dstAllocationData, srcRegion, dstRegion, copySize, rowPitch, slicePitch, rowPitch, slicePitch, srcSize, dstSize, nullptr, 0, nullptr, copyParams, false); uint32_t bytesPerPixel = NEO::BlitCommandsHelper::getAvailableBytesPerPixel(copySize.x, srcRegion.originX, dstRegion.originY, srcSize.x, dstSize.x); GenCmdList cmdList; @@ -1540,7 +1542,8 @@ HWTEST2_F(CommandListCreateTests, givenCopyCommandListWhenCopyRegionGreaterThanM AlignedAllocationData dstAllocationData = {mockAllocationDst.gpuAddress, 0, &mockAllocationDst, false}; size_t rowPitch = copySize.x; size_t slicePitch = copySize.x * copySize.y; - commandList->appendMemoryCopyBlitRegion(&srcAllocationData, &dstAllocationData, srcRegion, dstRegion, copySize, rowPitch, slicePitch, rowPitch, slicePitch, srcSize, dstSize, nullptr, 0, nullptr, false, false); + CmdListMemoryCopyParams copyParams = {}; + commandList->appendMemoryCopyBlitRegion(&srcAllocationData, &dstAllocationData, srcRegion, dstRegion, copySize, rowPitch, slicePitch, rowPitch, slicePitch, srcSize, dstSize, nullptr, 0, nullptr, copyParams, false); GenCmdList cmdList; ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer( @@ -1567,7 +1570,7 @@ class MockCommandListForRegionSize : public WhiteBox<::L0::CommandListCoreFamily size_t dstRowPitch, size_t dstSlicePitch, const Vec3 &srcSize, const Vec3 &dstSize, L0::Event *signalEvent, - uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents, bool relaxedOrderingDispatch, bool doubleStreamCopyOffload) override { + uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents, CmdListMemoryCopyParams &memoryCopyParams, bool doubleStreamCopyOffload) override { this->srcSize = srcSize; this->dstSize = dstSize; return ZE_RESULT_SUCCESS; diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_blit.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_blit.cpp index 2082fee7b8..4063a03e21 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_blit.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_blit.cpp @@ -275,7 +275,7 @@ HWTEST_F(AppendMemoryCopyTests, givenCopyCommandListWhenTimestampPassedToMemoryC AlignedAllocationData srcAllocationData = {mockAllocationSrc.gpuAddress, 0, &mockAllocationSrc, false}; AlignedAllocationData dstAllocationData = {mockAllocationDst.gpuAddress, 0, &mockAllocationDst, false}; - commandList->appendMemoryCopyBlitRegion(&srcAllocationData, &dstAllocationData, srcRegion, dstRegion, {0, 0, 0}, 0, 0, 0, 0, 0, 0, event.get(), 0, nullptr, false, false); + commandList->appendMemoryCopyBlitRegion(&srcAllocationData, &dstAllocationData, srcRegion, dstRegion, {0, 0, 0}, 0, 0, 0, 0, 0, 0, event.get(), 0, nullptr, copyParams, false); GenCmdList cmdList; auto baseAddr = event->getGpuAddress(device); @@ -519,14 +519,14 @@ HWTEST_F(AppendMemoryCopyTests, givenBlitPropertiesWhenCallingSetAdditionalBlitP auto commandList = std::make_unique>(); EXPECT_FALSE(commandList->useAdditionalBlitProperties); - commandList->setAdditionalBlitProperties(blitProperties, nullptr, false); + commandList->setAdditionalBlitProperties(blitProperties, nullptr, 0, false); EXPECT_EQ(postSyncArgs.isTimestampEvent, postSyncArgsExpected.isTimestampEvent); EXPECT_EQ(postSyncArgs.postSyncImmValue, postSyncArgsExpected.postSyncImmValue); EXPECT_EQ(postSyncArgs.interruptEvent, postSyncArgsExpected.interruptEvent); EXPECT_EQ(postSyncArgs.eventAddress, postSyncArgsExpected.eventAddress); commandList->useAdditionalBlitProperties = true; - commandList->setAdditionalBlitProperties(blitProperties2, nullptr, false); + commandList->setAdditionalBlitProperties(blitProperties2, nullptr, 0, false); EXPECT_EQ(postSyncArgs2.isTimestampEvent, postSyncArgsExpected.isTimestampEvent); EXPECT_EQ(postSyncArgs2.postSyncImmValue, postSyncArgsExpected.postSyncImmValue); EXPECT_EQ(postSyncArgs2.interruptEvent, postSyncArgsExpected.interruptEvent); @@ -539,9 +539,9 @@ class MockCommandListForAdditionalBlitProperties2 : public WhiteBox<::L0::Comman public: using BaseClass = WhiteBox<::L0::CommandListCoreFamily>; using BaseClass::useAdditionalBlitProperties; - void setAdditionalBlitProperties(NEO::BlitProperties &blitProperties, Event *signalEvent, bool useAdditionalTimestamp) override { + void setAdditionalBlitProperties(NEO::BlitProperties &blitProperties, Event *signalEvent, uint32_t forceAggregatedEventIncValue, bool useAdditionalTimestamp) override { additionalBlitPropertiesCalled++; - BaseClass::setAdditionalBlitProperties(blitProperties, signalEvent, useAdditionalTimestamp); + BaseClass::setAdditionalBlitProperties(blitProperties, signalEvent, forceAggregatedEventIncValue, useAdditionalTimestamp); } void appendSignalInOrderDependencyCounter(Event *signalEvent, bool copyOffloadOperation, bool stall, bool textureFlushRequired) override { appendSignalInOrderDependencyCounterCalled++; diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_memory_extension.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_memory_extension.cpp index 94728d9080..8f6e3a54aa 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_memory_extension.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_memory_extension.cpp @@ -131,7 +131,7 @@ class MockCommandListExtensionHw : public WhiteBox<::L0::CommandListCoreFamily &srcSize, const Vec3 &dstSize, Event *signalEvent, - uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents, bool relaxedOrderingDispatch, bool doubleStreamCopyOffload) override { + uint32_t numWaitEvents, ze_event_handle_t *phWaitEvents, CmdListMemoryCopyParams &memoryCopyParams, bool doubleStreamCopyOffload) override { if (signalEvent) { useEvents = true; } else { diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_in_order_cmdlist_1.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_in_order_cmdlist_1.cpp index e1f14aaec0..ab9dc78658 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_in_order_cmdlist_1.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_in_order_cmdlist_1.cpp @@ -1772,7 +1772,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, InOrderCmdListTests, givenImmediateCmdListWhenDispa } events[0]->makeCounterBasedInitiallyDisabled(eventPool->getAllocation()); - copyOnlyCmdList->appendMemoryCopyBlitRegion(&allocationData, &allocationData, region, region, {0, 0, 0}, 0, 0, 0, 0, {0, 0, 0}, {0, 0, 0}, events[0].get(), 0, nullptr, false, false); + copyOnlyCmdList->appendMemoryCopyBlitRegion(&allocationData, &allocationData, region, region, {0, 0, 0}, 0, 0, 0, 0, {0, 0, 0}, {0, 0, 0}, events[0].get(), 0, nullptr, copyParams, false); if (dcFlushRequired) { EXPECT_EQ(Event::CounterBasedMode::initiallyDisabled, events[0]->counterBasedMode); } else { @@ -1926,7 +1926,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, InOrderCmdListTests, givenNonInOrderCmdListWhenPass const void **ranges = reinterpret_cast(©Data[0]); EXPECT_EQ(ZE_RESULT_ERROR_INVALID_ARGUMENT, immCmdList->appendMemoryRangesBarrier(1, &rangeSizes, ranges, eventHandle, 0, nullptr)); - EXPECT_EQ(ZE_RESULT_ERROR_INVALID_ARGUMENT, copyOnlyCmdList->appendMemoryCopyBlitRegion(&allocationData, &allocationData, region, region, {0, 0, 0}, 0, 0, 0, 0, {0, 0, 0}, {0, 0, 0}, events[0].get(), 0, nullptr, false, false)); + EXPECT_EQ(ZE_RESULT_ERROR_INVALID_ARGUMENT, copyOnlyCmdList->appendMemoryCopyBlitRegion(&allocationData, &allocationData, region, region, {0, 0, 0}, 0, 0, 0, 0, {0, 0, 0}, {0, 0, 0}, events[0].get(), 0, nullptr, copyParams, false)); EXPECT_EQ(ZE_RESULT_ERROR_INVALID_ARGUMENT, immCmdList->appendMemoryCopy(©Data, ©Data, 1, eventHandle, 0, nullptr, copyParams));