mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-24 20:39:56 +08:00
[20/n] Internal 4GB allocator.
- Switch to internal heap for kernel ISA allocations. - remove IH from various functions - remove IHState from CSR , IH is never dirty - ISA is no longer copied on enqueue calls. Change-Id: I0099cf2a9ebab6192ea03a74dd35f7da963fd5a5
This commit is contained in:
committed by
sys_ocldev
parent
9f07de306c
commit
9bdf01468e
@@ -98,13 +98,11 @@ HWTEST_F(EnqueueFillImageTest, addsCommands) {
|
||||
HWTEST_F(EnqueueFillImageTest, addsIndirectData) {
|
||||
auto dshBefore = pDSH->getUsed();
|
||||
auto iohBefore = pIOH->getUsed();
|
||||
auto ihBefore = pIH->getUsed();
|
||||
auto sshBefore = pSSH->getUsed();
|
||||
|
||||
enqueueFillImage<FamilyType>();
|
||||
EXPECT_NE(dshBefore, pDSH->getUsed());
|
||||
EXPECT_NE(iohBefore, pIOH->getUsed());
|
||||
EXPECT_NE(ihBefore, pIH->getUsed());
|
||||
EXPECT_NE(sshBefore, pSSH->getUsed());
|
||||
}
|
||||
|
||||
@@ -133,6 +131,7 @@ HWTEST_F(EnqueueFillImageTest, stateBaseAddress) {
|
||||
typedef typename FamilyType::STATE_BASE_ADDRESS STATE_BASE_ADDRESS;
|
||||
|
||||
enqueueFillImage<FamilyType>();
|
||||
auto internalHeapBase = this->pDevice->getCommandStreamReceiver().getMemoryManager()->getInternalHeapBaseAddress();
|
||||
|
||||
// All state should be programmed before walker
|
||||
auto *cmd = getCommand<STATE_BASE_ADDRESS>(itorPipelineSelect, itorWalker);
|
||||
@@ -149,7 +148,7 @@ HWTEST_F(EnqueueFillImageTest, stateBaseAddress) {
|
||||
EXPECT_EQ(0u, cmd->getGeneralStateBaseAddress());
|
||||
EXPECT_EQ((uintptr_t)pSSH->getCpuBase(), cmd->getSurfaceStateBaseAddress());
|
||||
EXPECT_EQ((uintptr_t)pIOH->getCpuBase(), cmd->getIndirectObjectBaseAddress());
|
||||
EXPECT_EQ((uintptr_t)pIH->getCpuBase(), cmd->getInstructionBaseAddress());
|
||||
EXPECT_EQ(internalHeapBase, cmd->getInstructionBaseAddress());
|
||||
|
||||
// Verify all sizes are getting programmed
|
||||
EXPECT_TRUE(cmd->getDynamicStateBufferSizeModifyEnable());
|
||||
@@ -160,7 +159,7 @@ HWTEST_F(EnqueueFillImageTest, stateBaseAddress) {
|
||||
EXPECT_EQ(pDSH->getMaxAvailableSpace(), cmd->getDynamicStateBufferSize() * MemoryConstants::pageSize);
|
||||
EXPECT_NE(0u, cmd->getGeneralStateBufferSize());
|
||||
EXPECT_EQ(pIOH->getMaxAvailableSpace(), cmd->getIndirectObjectBufferSize() * MemoryConstants::pageSize);
|
||||
EXPECT_EQ(pIH->getMaxAvailableSpace(), cmd->getInstructionBufferSize() * MemoryConstants::pageSize);
|
||||
EXPECT_EQ(MemoryConstants::sizeOf4GBinPageEntities, cmd->getInstructionBufferSize());
|
||||
|
||||
// Generically validate this command
|
||||
FamilyType::PARSE::template validateCommand<STATE_BASE_ADDRESS *>(cmdList.begin(), itorStateBaseAddress);
|
||||
|
||||
Reference in New Issue
Block a user