fix: adjust tests to enabled global allocator 1/n

Related-To: NEO-7063
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
This commit is contained in:
Fabian Zwoliński 2024-07-12 11:50:40 +00:00 committed by Compute-Runtime-Automation
parent 2104306882
commit f37943e1de
3 changed files with 18 additions and 1 deletions

View File

@ -115,6 +115,9 @@ TEST_F(CommandListCreate, whenCommandListIsCreatedThenItIsInitialized) {
DebugManagerStateRestore restorer; DebugManagerStateRestore restorer;
debugManager.flags.SelectCmdListHeapAddressModel.set(0); debugManager.flags.SelectCmdListHeapAddressModel.set(0);
auto neoDevice = device->getNEODevice();
auto bindlessHeapsHelper = neoDevice->getExecutionEnvironment()->rootDeviceEnvironments[neoDevice->getRootDeviceIndex()]->bindlessHeapsHelper.get();
ze_result_t returnValue; ze_result_t returnValue;
std::unique_ptr<L0::CommandList> commandList(CommandList::create(productFamily, device, NEO::EngineGroupType::renderCompute, 0u, returnValue, false)); std::unique_ptr<L0::CommandList> commandList(CommandList::create(productFamily, device, NEO::EngineGroupType::renderCompute, 0u, returnValue, false));
ASSERT_NE(nullptr, commandList); ASSERT_NE(nullptr, commandList);
@ -136,6 +139,8 @@ TEST_F(CommandListCreate, whenCommandListIsCreatedThenItIsInitialized) {
auto heapType = static_cast<NEO::HeapType>(i); auto heapType = static_cast<NEO::HeapType>(i);
if (NEO::HeapType::dynamicState == heapType && !device->getHwInfo().capabilityTable.supportsImages) { if (NEO::HeapType::dynamicState == heapType && !device->getHwInfo().capabilityTable.supportsImages) {
ASSERT_EQ(commandList->getCmdContainer().getIndirectHeap(heapType), nullptr); ASSERT_EQ(commandList->getCmdContainer().getIndirectHeap(heapType), nullptr);
} else if (NEO::HeapType::surfaceState == heapType && bindlessHeapsHelper) {
ASSERT_EQ(commandList->getCmdContainer().getIndirectHeap(heapType), nullptr);
} else { } else {
ASSERT_NE(commandList->getCmdContainer().getIndirectHeap(heapType), nullptr); ASSERT_NE(commandList->getCmdContainer().getIndirectHeap(heapType), nullptr);
++numAllocations; ++numAllocations;

View File

@ -1277,6 +1277,7 @@ HWTEST2_F(ImmediateCmdListSharedHeapsTest, givenMultipleCommandListsUsingSharedH
using SAMPLER_STATE = typename FamilyType::SAMPLER_STATE; using SAMPLER_STATE = typename FamilyType::SAMPLER_STATE;
using SAMPLER_BORDER_COLOR_STATE = typename FamilyType::SAMPLER_BORDER_COLOR_STATE; using SAMPLER_BORDER_COLOR_STATE = typename FamilyType::SAMPLER_BORDER_COLOR_STATE;
auto bindlessHeapsHelper = neoDevice->getExecutionEnvironment()->rootDeviceEnvironments[neoDevice->getRootDeviceIndex()]->bindlessHeapsHelper.get();
auto &cmdContainer = commandListImmediate->commandContainer; auto &cmdContainer = commandListImmediate->commandContainer;
EXPECT_TRUE(commandListImmediate->isFlushTaskSubmissionEnabled); EXPECT_TRUE(commandListImmediate->isFlushTaskSubmissionEnabled);
@ -1325,7 +1326,11 @@ HWTEST2_F(ImmediateCmdListSharedHeapsTest, givenMultipleCommandListsUsingSharedH
auto &sbaCmd = *genCmdCast<STATE_BASE_ADDRESS *>(*sbaCmds[0]); auto &sbaCmd = *genCmdCast<STATE_BASE_ADDRESS *>(*sbaCmds[0]);
if (this->dshRequired) { if (this->dshRequired) {
EXPECT_TRUE(sbaCmd.getDynamicStateBaseAddressModifyEnable()); EXPECT_TRUE(sbaCmd.getDynamicStateBaseAddressModifyEnable());
if (bindlessHeapsHelper) {
EXPECT_EQ(bindlessHeapsHelper->getGlobalHeapsBase(), sbaCmd.getDynamicStateBaseAddress());
} else {
EXPECT_EQ(csrDshHeap->getHeapGpuBase(), sbaCmd.getDynamicStateBaseAddress()); EXPECT_EQ(csrDshHeap->getHeapGpuBase(), sbaCmd.getDynamicStateBaseAddress());
}
} else { } else {
EXPECT_FALSE(sbaCmd.getDynamicStateBaseAddressModifyEnable()); EXPECT_FALSE(sbaCmd.getDynamicStateBaseAddressModifyEnable());
EXPECT_EQ(0u, sbaCmd.getDynamicStateBaseAddress()); EXPECT_EQ(0u, sbaCmd.getDynamicStateBaseAddress());

View File

@ -2875,6 +2875,7 @@ HWTEST2_F(SetKernelArg, givenBindlessKernelAndNoAvailableSpaceOnSshWhenSetArgIma
mockMemManager->failInDevicePool = true; mockMemManager->failInDevicePool = true;
mockMemManager->failAllocateSystemMemory = true; mockMemManager->failAllocateSystemMemory = true;
mockMemManager->failAllocate32Bit = true;
bindlessHelper->globalSsh->getSpace(bindlessHelper->globalSsh->getAvailableSpace()); bindlessHelper->globalSsh->getSpace(bindlessHelper->globalSsh->getAvailableSpace());
ret = kernel->setArgImage(3, sizeof(imageHW.get()), &handle); ret = kernel->setArgImage(3, sizeof(imageHW.get()), &handle);
@ -3009,6 +3010,7 @@ HWTEST2_F(SetKernelArg, givenGlobalBindlessHelperImageViewAndNoAvailableSpaceOnS
mockMemManager->failInDevicePool = true; mockMemManager->failInDevicePool = true;
mockMemManager->failAllocateSystemMemory = true; mockMemManager->failAllocateSystemMemory = true;
mockMemManager->failAllocate32Bit = true;
bindlessHelper->globalSsh->getSpace(bindlessHelper->globalSsh->getAvailableSpace()); bindlessHelper->globalSsh->getSpace(bindlessHelper->globalSsh->getAvailableSpace());
ze_image_handle_t imageViewHandle; ze_image_handle_t imageViewHandle;
@ -3029,6 +3031,9 @@ HWTEST2_F(SetKernelArg, givenGlobalBindlessHelperImageViewAndNoAvailableSpaceOnS
HWTEST2_F(SetKernelArg, givenNoGlobalBindlessHelperAndImageViewWhenAllocatingBindlessSlotThenSlotIsNotAllocated, ImageSupport) { HWTEST2_F(SetKernelArg, givenNoGlobalBindlessHelperAndImageViewWhenAllocatingBindlessSlotThenSlotIsNotAllocated, ImageSupport) {
createKernel(); createKernel();
neoDevice->getExecutionEnvironment()->rootDeviceEnvironments[neoDevice->getRootDeviceIndex()]->bindlessHeapsHelper.reset();
ASSERT_EQ(nullptr, neoDevice->getExecutionEnvironment()->rootDeviceEnvironments[neoDevice->getRootDeviceIndex()]->bindlessHeapsHelper.get());
auto &imageArg = const_cast<NEO::ArgDescImage &>(kernel->kernelImmData->getDescriptor().payloadMappings.explicitArgs[3].template as<NEO::ArgDescImage>()); auto &imageArg = const_cast<NEO::ArgDescImage &>(kernel->kernelImmData->getDescriptor().payloadMappings.explicitArgs[3].template as<NEO::ArgDescImage>());
auto &addressingMode = kernel->kernelImmData->getDescriptor().kernelAttributes.imageAddressingMode; auto &addressingMode = kernel->kernelImmData->getDescriptor().kernelAttributes.imageAddressingMode;
const_cast<NEO::KernelDescriptor::AddressingMode &>(addressingMode) = NEO::KernelDescriptor::Bindless; const_cast<NEO::KernelDescriptor::AddressingMode &>(addressingMode) = NEO::KernelDescriptor::Bindless;
@ -3122,6 +3127,7 @@ HWTEST2_F(SetKernelArg, givenBindlessKernelAndNoAvailableSpaceOnSshWhenSetArgRed
mockMemManager->failInDevicePool = true; mockMemManager->failInDevicePool = true;
mockMemManager->failAllocateSystemMemory = true; mockMemManager->failAllocateSystemMemory = true;
mockMemManager->failAllocate32Bit = true;
bindlessHelper->globalSsh->getSpace(bindlessHelper->globalSsh->getAvailableSpace()); bindlessHelper->globalSsh->getSpace(bindlessHelper->globalSsh->getAvailableSpace());
ret = kernel->setArgRedescribedImage(3, handle); ret = kernel->setArgRedescribedImage(3, handle);
@ -3156,6 +3162,7 @@ HWTEST2_F(SetKernelArg, givenBindlessKernelAndNoAvailableSpaceOnSshWhenSetArgBuf
mockMemManager->failInDevicePool = true; mockMemManager->failInDevicePool = true;
mockMemManager->failAllocateSystemMemory = true; mockMemManager->failAllocateSystemMemory = true;
mockMemManager->failAllocate32Bit = true;
auto ret = mockKernel.setArgBuffer(0, sizeof(svmAllocation), &svmAllocation); auto ret = mockKernel.setArgBuffer(0, sizeof(svmAllocation), &svmAllocation);
EXPECT_EQ(ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY, ret); EXPECT_EQ(ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY, ret);