mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 06:49:52 +08:00
feature: new multitile post sync layout for immediate write [1/n]
No functional changes in this commit. This is prework. Related-To: NEO-7966 Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
6abdc64d73
commit
5fe9d70066
@@ -386,7 +386,7 @@ void CommandListCoreFamily<gfxCoreFamily>::appendMultiPartitionPrologue(uint32_t
|
||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||
void CommandListCoreFamily<gfxCoreFamily>::appendMultiPartitionEpilogue() {
|
||||
NEO::ImplicitScalingDispatch<GfxFamily>::dispatchOffsetRegister(*commandContainer.getCommandStream(),
|
||||
NEO::ImplicitScalingDispatch<GfxFamily>::getPostSyncOffset());
|
||||
NEO::ImplicitScalingDispatch<GfxFamily>::getImmediateWritePostSyncOffset());
|
||||
}
|
||||
|
||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||
|
||||
@@ -98,7 +98,7 @@ HWTEST2_F(MultiPartitionEpilogueTest, whenAppendMultiPartitionEpilogueIsCalledTh
|
||||
|
||||
auto lriCmd = genCmdCast<MI_LOAD_REGISTER_IMM *>(*itorLri);
|
||||
EXPECT_EQ(NEO::PartitionRegisters<FamilyType>::addressOffsetCCSOffset, static_cast<uint64_t>(lriCmd->getRegisterOffset()));
|
||||
EXPECT_EQ(NEO::ImplicitScalingDispatch<FamilyType>::getPostSyncOffset(), static_cast<uint32_t>(lriCmd->getDataDword()));
|
||||
EXPECT_EQ(NEO::ImplicitScalingDispatch<FamilyType>::getImmediateWritePostSyncOffset(), static_cast<uint32_t>(lriCmd->getDataDword()));
|
||||
EXPECT_EQ(true, lriCmd->getMmioRemapEnable());
|
||||
|
||||
auto result = commandList->close();
|
||||
|
||||
@@ -302,11 +302,11 @@ HWTEST2_F(MultiTileCommandQueueSynchronizeTest, givenMultiplePartitionCountWhenC
|
||||
if (device->getNEODevice()->getPreemptionMode() == PreemptionMode::MidThread || device->getNEODevice()->isDebuggerActive()) {
|
||||
csr->createPreemptionAllocation();
|
||||
}
|
||||
EXPECT_NE(0u, csr->getPostSyncWriteOffset());
|
||||
EXPECT_NE(0u, csr->getImmWritePostSyncWriteOffset());
|
||||
volatile TagAddressType *tagAddress = csr->getTagAddress();
|
||||
for (uint32_t i = 0; i < 2; i++) {
|
||||
*tagAddress = 0xFF;
|
||||
tagAddress = ptrOffset(tagAddress, csr->getPostSyncWriteOffset());
|
||||
tagAddress = ptrOffset(tagAddress, csr->getImmWritePostSyncWriteOffset());
|
||||
}
|
||||
csr->activePartitions = 2u;
|
||||
auto commandQueue = whiteboxCast(CommandQueue::create(productFamily,
|
||||
@@ -345,11 +345,11 @@ HWTEST2_F(MultiTileCommandQueueSynchronizeTest, givenCsrHasMultipleActivePartiti
|
||||
if (device->getNEODevice()->getPreemptionMode() == PreemptionMode::MidThread || device->getNEODevice()->isDebuggerActive()) {
|
||||
csr->createPreemptionAllocation();
|
||||
}
|
||||
EXPECT_NE(0u, csr->getPostSyncWriteOffset());
|
||||
EXPECT_NE(0u, csr->getImmWritePostSyncWriteOffset());
|
||||
volatile TagAddressType *tagAddress = csr->getTagAddress();
|
||||
for (uint32_t i = 0; i < 2; i++) {
|
||||
*tagAddress = 0xFF;
|
||||
tagAddress = ptrOffset(tagAddress, csr->getPostSyncWriteOffset());
|
||||
tagAddress = ptrOffset(tagAddress, csr->getImmWritePostSyncWriteOffset());
|
||||
}
|
||||
csr->activePartitions = 2u;
|
||||
auto commandQueue = whiteboxCast(CommandQueue::create(productFamily,
|
||||
|
||||
@@ -239,7 +239,7 @@ TEST_F(FenceSynchronizeTest, givenInfiniteTimeoutWhenWaitingForFenceCompletionTh
|
||||
|
||||
const auto csr = std::make_unique<MockCommandStreamReceiver>(*neoDevice->getExecutionEnvironment(), 0, neoDevice->getDeviceBitfield());
|
||||
ASSERT_NE(nullptr, csr->getTagAddress());
|
||||
csr->postSyncWriteOffset = postSyncOffset;
|
||||
csr->immWritePostSyncWriteOffset = postSyncOffset;
|
||||
csr->activePartitions = activePartitions;
|
||||
|
||||
Mock<CommandQueue> cmdqueue(device, csr.get());
|
||||
|
||||
Reference in New Issue
Block a user