diff --git a/level_zero/core/source/cmdlist/cmdlist_hw_base.inl b/level_zero/core/source/cmdlist/cmdlist_hw_base.inl index cdb3718063..78319ea590 100644 --- a/level_zero/core/source/cmdlist/cmdlist_hw_base.inl +++ b/level_zero/core/source/cmdlist/cmdlist_hw_base.inl @@ -100,7 +100,8 @@ ze_result_t CommandListCoreFamily::appendLaunchKernelWithParams(z neoDevice, commandListPreemptionMode, this->containsStatelessUncachedResource, - partitionCount); + partitionCount, + internalUsage); if (neoDevice->getDebugger()) { auto *ssh = commandContainer.getIndirectHeap(NEO::HeapType::SURFACE_STATE); diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_launch_kernel.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_launch_kernel.cpp index 921f7f3804..796e60c40c 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_launch_kernel.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_append_launch_kernel.cpp @@ -254,7 +254,7 @@ HWTEST2_F(CommandListAppendLaunchKernel, WhenAppendingFunctionThenUsedCmdBufferS ASSERT_EQ(ZE_RESULT_SUCCESS, result); auto sizeAfter = commandList->commandContainer.getCommandStream()->getUsed(); - auto estimate = NEO::EncodeDispatchKernel::estimateEncodeDispatchKernelCmdsSize(device->getNEODevice(), Vec3(0, 0, 0), Vec3(1, 1, 1)); + auto estimate = NEO::EncodeDispatchKernel::estimateEncodeDispatchKernelCmdsSize(device->getNEODevice(), Vec3(0, 0, 0), Vec3(1, 1, 1), false); EXPECT_LE(sizeAfter - sizeBefore, estimate); @@ -264,7 +264,7 @@ HWTEST2_F(CommandListAppendLaunchKernel, WhenAppendingFunctionThenUsedCmdBufferS ASSERT_EQ(ZE_RESULT_SUCCESS, result); sizeAfter = commandList->commandContainer.getCommandStream()->getUsed(); - estimate = NEO::EncodeDispatchKernel::estimateEncodeDispatchKernelCmdsSize(device->getNEODevice(), Vec3(0, 0, 0), Vec3(1, 1, 1)); + estimate = NEO::EncodeDispatchKernel::estimateEncodeDispatchKernelCmdsSize(device->getNEODevice(), Vec3(0, 0, 0), Vec3(1, 1, 1), false); EXPECT_LE(sizeAfter - sizeBefore, estimate); EXPECT_LE(sizeAfter - sizeBefore, estimate); diff --git a/shared/source/command_container/command_encoder.h b/shared/source/command_container/command_encoder.h index 4107a116e1..da187223d6 100644 --- a/shared/source/command_container/command_encoder.h +++ b/shared/source/command_container/command_encoder.h @@ -38,7 +38,8 @@ struct EncodeDispatchKernel { Device *device, PreemptionMode preemptionMode, bool &requiresUncachedMocs, - uint32_t &partitionCount); + uint32_t &partitionCount, + bool isInternal); static void encodeAdditionalWalkerFields(const HardwareInfo &hwInfo, WALKER_TYPE &walkerCmd); @@ -46,7 +47,7 @@ struct EncodeDispatchKernel { static void *getInterfaceDescriptor(CommandContainer &container, uint32_t &iddOffset); - static size_t estimateEncodeDispatchKernelCmdsSize(Device *device, Vec3 groupStart, Vec3 groupCount); + static size_t estimateEncodeDispatchKernelCmdsSize(Device *device, Vec3 groupStart, Vec3 groupCount, bool isInternal); static bool isRuntimeLocalIdsGenerationRequired(uint32_t activeChannels, size_t *lws, diff --git a/shared/source/command_container/command_encoder_bdw_plus.inl b/shared/source/command_container/command_encoder_bdw_plus.inl index b9bd625efe..45e040c48e 100644 --- a/shared/source/command_container/command_encoder_bdw_plus.inl +++ b/shared/source/command_container/command_encoder_bdw_plus.inl @@ -26,7 +26,7 @@ template void EncodeDispatchKernel::encode(CommandContainer &container, const void *pThreadGroupDimensions, bool isIndirect, bool isPredicate, DispatchKernelEncoderI *dispatchInterface, uint64_t eventAddress, Device *device, PreemptionMode preemptionMode, bool &requiresUncachedMocs, - uint32_t &partitionCount) { + uint32_t &partitionCount, bool isInternal) { using MEDIA_STATE_FLUSH = typename Family::MEDIA_STATE_FLUSH; using MEDIA_INTERFACE_DESCRIPTOR_LOAD = typename Family::MEDIA_INTERFACE_DESCRIPTOR_LOAD; @@ -49,7 +49,7 @@ void EncodeDispatchKernel::encode(CommandContainer &container, if (!isIndirect) { threadDimsVec = {threadDims[0], threadDims[1], threadDims[2]}; } - size_t estimatedSizeRequired = estimateEncodeDispatchKernelCmdsSize(device, threadStartVec, threadDimsVec); + size_t estimatedSizeRequired = estimateEncodeDispatchKernelCmdsSize(device, threadStartVec, threadDimsVec, isInternal); if (container.getCommandStream()->getAvailableSpace() < estimatedSizeRequired) { auto bbEnd = listCmdBufferStream->getSpaceForCmd(); *bbEnd = Family::cmdInitBatchBufferEnd; @@ -322,7 +322,7 @@ template void EncodeDispatchKernel::appendAdditionalIDDFields(INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, const HardwareInfo &hwInfo, const uint32_t threadsPerThreadGroup, uint32_t slmTotalSize, SlmPolicy slmPolicy) {} template -size_t EncodeDispatchKernel::estimateEncodeDispatchKernelCmdsSize(Device *device, Vec3 groupStart, Vec3 groupCount) { +size_t EncodeDispatchKernel::estimateEncodeDispatchKernelCmdsSize(Device *device, Vec3 groupStart, Vec3 groupCount, bool isInternal) { using MEDIA_STATE_FLUSH = typename Family::MEDIA_STATE_FLUSH; using MEDIA_INTERFACE_DESCRIPTOR_LOAD = typename Family::MEDIA_INTERFACE_DESCRIPTOR_LOAD; using MI_BATCH_BUFFER_END = typename Family::MI_BATCH_BUFFER_END; diff --git a/shared/test/common/gen12lp/test_command_encoder_gen12lp.cpp b/shared/test/common/gen12lp/test_command_encoder_gen12lp.cpp index 9813ddc418..90e37d3366 100644 --- a/shared/test/common/gen12lp/test_command_encoder_gen12lp.cpp +++ b/shared/test/common/gen12lp/test_command_encoder_gen12lp.cpp @@ -105,9 +105,9 @@ GEN12LPTEST_F(CommandEncoderTest, givenVariousEngineTypesWhenEstimateCommandBuff using PIPELINE_SELECT = typename FamilyType::PIPELINE_SELECT; using STATE_COMPUTE_MODE = typename FamilyType::STATE_COMPUTE_MODE; - auto sizeWA = EncodeDispatchKernel::estimateEncodeDispatchKernelCmdsSize(pDevice, Vec3(0, 0, 0), Vec3(1, 1, 1)); + auto sizeWA = EncodeDispatchKernel::estimateEncodeDispatchKernelCmdsSize(pDevice, Vec3(0, 0, 0), Vec3(1, 1, 1), false); static_cast(pDevice->getDefaultEngine().osContext)->engineType = aub_stream::ENGINE_CCS; - auto size = EncodeDispatchKernel::estimateEncodeDispatchKernelCmdsSize(pDevice, Vec3(0, 0, 0), Vec3(1, 1, 1)); + auto size = EncodeDispatchKernel::estimateEncodeDispatchKernelCmdsSize(pDevice, Vec3(0, 0, 0), Vec3(1, 1, 1), false); auto expectedDiff = 2 * PreambleHelper::getCmdSizeForPipelineSelect(pDevice->getHardwareInfo()); auto diff = sizeWA - size; diff --git a/shared/test/unit_test/encoders/test_encode_dispatch_kernel.cpp b/shared/test/unit_test/encoders/test_encode_dispatch_kernel.cpp index 645b2caf44..7b549338ec 100644 --- a/shared/test/unit_test/encoders/test_encode_dispatch_kernel.cpp +++ b/shared/test/unit_test/encoders/test_encode_dispatch_kernel.cpp @@ -49,7 +49,7 @@ HWTEST_F(CommandEncodeStatesTest, givenenDispatchInterfaceWhenDispatchKernelThen bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); GenCmdList commands; CmdParse::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed()); @@ -79,7 +79,8 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithUnc pDevice, NEO::PreemptionMode::Disabled, requiresUncachedMocs, - partitionCount); + partitionCount, + false); EXPECT_FALSE(requiresUncachedMocs); GenCmdList commands; @@ -115,7 +116,8 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithUnc pDevice, NEO::PreemptionMode::Disabled, requiresUncachedMocs, - partitionCount); + partitionCount, + false); EXPECT_FALSE(requiresUncachedMocs); GenCmdList commands; @@ -151,7 +153,8 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithNon pDevice, NEO::PreemptionMode::Disabled, requiresUncachedMocs, - partitionCount); + partitionCount, + false); EXPECT_FALSE(requiresUncachedMocs); GenCmdList commands; @@ -187,7 +190,8 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithNon pDevice, NEO::PreemptionMode::Disabled, requiresUncachedMocs, - partitionCount); + partitionCount, + false); EXPECT_FALSE(requiresUncachedMocs); GenCmdList commands; @@ -221,7 +225,8 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithNon pDevice, NEO::PreemptionMode::Disabled, requiresUncachedMocs, - partitionCount); + partitionCount, + false); EXPECT_FALSE(requiresUncachedMocs); GenCmdList commands; @@ -245,7 +250,7 @@ HWTEST_F(CommandEncodeStatesTest, givenCommandContainerWithUsedAvailableSizeWhen bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto cmdBuffersCountAfter = cmdContainer->getCmdBufferAllocations().size(); @@ -262,7 +267,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenSlmTotalSizeGraterThan bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto interfaceDescriptorData = static_cast(cmdContainer->getIddBlock()); @@ -282,7 +287,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenSlmTotalSizeEqualZeroW bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto interfaceDescriptorData = static_cast(cmdContainer->getIddBlock()); @@ -317,7 +322,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenOneBindingTableEntryWh bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto interfaceDescriptorData = static_cast(cmdContainer->getIddBlock()); EXPECT_EQ(interfaceDescriptorData->getBindingTablePointer(), expectedOffset); @@ -347,7 +352,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumBindingTableZeroWhen bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto interfaceDescriptorData = static_cast(cmdContainer->getIddBlock()); EXPECT_EQ(interfaceDescriptorData->getBindingTablePointer(), 0u); @@ -375,7 +380,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersOneWhenDispa bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto interfaceDescriptorData = static_cast(cmdContainer->getIddBlock()); auto borderColorOffsetInDsh = usedBefore; @@ -409,7 +414,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersZeroWhenDisp bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto interfaceDescriptorData = static_cast(cmdContainer->getIddBlock()); auto borderColorOffsetInDsh = usedBefore; @@ -433,7 +438,7 @@ HWTEST_F(CommandEncodeStatesTest, givenIndirectOffsetsCountsWhenDispatchingKerne bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, true, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); GenCmdList commands; CmdParse::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed()); @@ -461,7 +466,7 @@ HWTEST_F(CommandEncodeStatesTest, givenIndarectOffsetsSizeWhenDispatchingKernelT bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, true, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); GenCmdList commands; CmdParse::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed()); @@ -501,7 +506,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeDe bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto dsh = cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE); @@ -533,7 +538,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeDe bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto dsh = cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE); @@ -560,7 +565,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeDe bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto dsh = cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE); @@ -591,7 +596,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmNotCha bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); GenCmdList commands; CmdParse::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed()); @@ -615,7 +620,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmNotCha bool requiresUncachedMocs = true; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); GenCmdList commands; CmdParse::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed()); @@ -642,7 +647,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenDirtyHeapsAndSlmNotCha bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); GenCmdList commands; CmdParse::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed()); @@ -665,7 +670,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenDirtyHeapsWhenDispatch bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); GenCmdList cmdList; CmdParse::parseCommandBuffer(cmdList, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed()); @@ -705,7 +710,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmChange bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); GenCmdList commands; CmdParse::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed()); @@ -729,7 +734,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNextIddInBlockZeorWhenD bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); GenCmdList commands; CmdParse::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed()); @@ -765,7 +770,7 @@ HWTEST2_F(EncodeDispatchKernelTest, givenBindfulKernelWhenDispatchingKernelThenS bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto usedAfter = cmdContainer->getIndirectHeap(HeapType::SURFACE_STATE)->getUsed(); EXPECT_NE(usedAfter, usedBefore); @@ -794,7 +799,7 @@ HWTEST2_F(EncodeDispatchKernelTest, givenBindlessKernelWhenDispatchingKernelThen auto usedBefore = cmdContainer->getIndirectHeap(HeapType::SURFACE_STATE)->getUsed(); uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto usedAfter = cmdContainer->getIndirectHeap(HeapType::SURFACE_STATE)->getUsed(); EXPECT_EQ(usedAfter, usedBefore); @@ -853,7 +858,7 @@ HWTEST_F(EncodeDispatchKernelTest, givenNonBindlessOrStatelessArgWhenDispatching bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); EXPECT_EQ(pattern, *patchLocation); iOpenCL::SPatchSamplerKernelArgument samplerArg = {}; @@ -878,7 +883,7 @@ HWTEST_F(EncodeDispatchKernelTest, givenNonBindlessOrStatelessArgWhenDispatching ioh->replaceBuffer(ioh->getCpuBase(), ioh->getMaxAvailableSpace()); memset(ioh->getCpuBase(), 0, ioh->getMaxAvailableSpace()); EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); EXPECT_THAT(ptrOffset(ioh->getCpuBase(), iohOffset), MemoryZeroed(ioh->getMaxAvailableSpace() - iohOffset)); } @@ -1107,7 +1112,7 @@ HWTEST_F(BindlessCommandEncodeStatesTesttt, givenBindlessKernelWhenBindlessModeE EXPECT_EQ(commandContainer->getIndirectHeap(HeapType::SURFACE_STATE), nullptr); uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*commandContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); EXPECT_EQ(commandContainer->getIndirectHeap(HeapType::SURFACE_STATE), nullptr); } @@ -1140,7 +1145,7 @@ HWTEST_F(BindlessCommandEncodeStatesTesttt, givenBindfulKernelWhenBindlessModeEn EXPECT_EQ(commandContainer->getIndirectHeap(HeapType::SURFACE_STATE), nullptr); uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*commandContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); EXPECT_NE(commandContainer->getIndirectHeap(HeapType::SURFACE_STATE), nullptr); } @@ -1173,15 +1178,15 @@ HWTEST_F(BindlessCommandEncodeStatesTesttt, givenBindlessModeEnabledWhenDispatch EXPECT_EQ(commandContainer->getIndirectHeap(HeapType::SURFACE_STATE), nullptr); uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*commandContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto sshBefore = commandContainer->getIndirectHeap(HeapType::SURFACE_STATE); EncodeDispatchKernel::encode(*commandContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); EncodeDispatchKernel::encode(*commandContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); auto sshAfter = commandContainer->getIndirectHeap(HeapType::SURFACE_STATE); EncodeDispatchKernel::encode(*commandContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); EXPECT_EQ(sshBefore, sshAfter); } @@ -1210,7 +1215,7 @@ HWTEST_F(BindlessCommandEncodeStatesTest, givenGlobalBindlessHeapsWhenDispatchin bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); EXPECT_NE(std::find(cmdContainer->getResidencyContainer().begin(), cmdContainer->getResidencyContainer().end(), pDevice->getBindlessHeapsHelper()->getHeap(BindlessHeapsHelper::GLOBAL_DSH)->getGraphicsAllocation()), cmdContainer->getResidencyContainer().end()); } @@ -1238,6 +1243,6 @@ HWTEST_F(BindlessCommandEncodeStatesTest, givenBindlessModeDisabledelWithSampler bool requiresUncachedMocs = false; uint32_t partitionCount = 0; EncodeDispatchKernel::encode(*cmdContainer.get(), dims, false, false, dispatchInterface.get(), 0, pDevice, - NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount); + NEO::PreemptionMode::Disabled, requiresUncachedMocs, partitionCount, false); EXPECT_EQ(std::find(cmdContainer->getResidencyContainer().begin(), cmdContainer->getResidencyContainer().end(), pDevice->getBindlessHeapsHelper()->getHeap(BindlessHeapsHelper::GLOBAL_DSH)->getGraphicsAllocation()), cmdContainer->getResidencyContainer().end()); }