mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-21 09:14:47 +08:00
refactor: change compute walker to defaultWalkerType
Related-To: NEO-10641 Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
add1ff4902
commit
626b3846b0
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2022-2023 Intel Corporation
|
* Copyright (C) 2022-2024 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@@ -89,7 +89,7 @@ struct AppendMemoryCopyMultiPacketEventFixture : public DeviceFixture {
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testSingleTileAppendMemoryCopyThreeKernels(CopyTestInput &input, TestExpectedValues &arg) {
|
void testSingleTileAppendMemoryCopyThreeKernels(CopyTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
@@ -128,21 +128,21 @@ void testSingleTileAppendMemoryCopyThreeKernels(CopyTestInput &input, TestExpect
|
|||||||
cmdList, ptrOffset(commandList.commandContainer.getCommandStream()->getCpuBase(), 0),
|
cmdList, ptrOffset(commandList.commandContainer.getCommandStream()->getCpuBase(), 0),
|
||||||
commandList.commandContainer.getCommandStream()->getUsed()));
|
commandList.commandContainer.getCommandStream()->getUsed()));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(3u, itorWalkers.size());
|
ASSERT_EQ(3u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
auto secondWalker = itorWalkers[1];
|
auto secondWalker = itorWalkers[1];
|
||||||
auto thirdWalker = itorWalkers[2];
|
auto thirdWalker = itorWalkers[2];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
walkerCmd = genCmdCast<COMPUTE_WALKER *>(*secondWalker);
|
walkerCmd = genCmdCast<DefaultWalkerType *>(*secondWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
walkerCmd = genCmdCast<COMPUTE_WALKER *>(*thirdWalker);
|
walkerCmd = genCmdCast<DefaultWalkerType *>(*thirdWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(thirdKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(thirdKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -172,7 +172,7 @@ void testSingleTileAppendMemoryCopyThreeKernels(CopyTestInput &input, TestExpect
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testSingleTileAppendMemoryCopyThreeKernelsAndL3Flush(CopyTestInput &input, TestExpectedValues &arg) {
|
void testSingleTileAppendMemoryCopyThreeKernelsAndL3Flush(CopyTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||||
using POST_SYNC_OPERATION = typename FamilyType::PIPE_CONTROL::POST_SYNC_OPERATION;
|
using POST_SYNC_OPERATION = typename FamilyType::PIPE_CONTROL::POST_SYNC_OPERATION;
|
||||||
@@ -214,21 +214,21 @@ void testSingleTileAppendMemoryCopyThreeKernelsAndL3Flush(CopyTestInput &input,
|
|||||||
cmdList, ptrOffset(commandList.commandContainer.getCommandStream()->getCpuBase(), 0),
|
cmdList, ptrOffset(commandList.commandContainer.getCommandStream()->getCpuBase(), 0),
|
||||||
commandList.commandContainer.getCommandStream()->getUsed()));
|
commandList.commandContainer.getCommandStream()->getUsed()));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(3u, itorWalkers.size());
|
ASSERT_EQ(3u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
auto secondWalker = itorWalkers[1];
|
auto secondWalker = itorWalkers[1];
|
||||||
auto thirdWalker = itorWalkers[2];
|
auto thirdWalker = itorWalkers[2];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
walkerCmd = genCmdCast<COMPUTE_WALKER *>(*secondWalker);
|
walkerCmd = genCmdCast<DefaultWalkerType *>(*secondWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
walkerCmd = genCmdCast<COMPUTE_WALKER *>(*thirdWalker);
|
walkerCmd = genCmdCast<DefaultWalkerType *>(*thirdWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(thirdKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(thirdKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -282,7 +282,7 @@ void testSingleTileAppendMemoryCopyThreeKernelsAndL3Flush(CopyTestInput &input,
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testSingleTileAppendMemoryCopySingleKernel(CopyTestInput &input, TestExpectedValues &arg) {
|
void testSingleTileAppendMemoryCopySingleKernel(CopyTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
@@ -318,11 +318,11 @@ void testSingleTileAppendMemoryCopySingleKernel(CopyTestInput &input, TestExpect
|
|||||||
cmdList, ptrOffset(commandList.commandContainer.getCommandStream()->getCpuBase(), 0),
|
cmdList, ptrOffset(commandList.commandContainer.getCommandStream()->getCpuBase(), 0),
|
||||||
commandList.commandContainer.getCommandStream()->getUsed()));
|
commandList.commandContainer.getCommandStream()->getUsed()));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(1u, itorWalkers.size());
|
ASSERT_EQ(1u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -352,7 +352,7 @@ void testSingleTileAppendMemoryCopySingleKernel(CopyTestInput &input, TestExpect
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testSingleTileAppendMemoryCopySingleKernelAndL3Flush(CopyTestInput &input, TestExpectedValues &arg) {
|
void testSingleTileAppendMemoryCopySingleKernelAndL3Flush(CopyTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||||
using POST_SYNC_OPERATION = typename FamilyType::PIPE_CONTROL::POST_SYNC_OPERATION;
|
using POST_SYNC_OPERATION = typename FamilyType::PIPE_CONTROL::POST_SYNC_OPERATION;
|
||||||
@@ -392,11 +392,11 @@ void testSingleTileAppendMemoryCopySingleKernelAndL3Flush(CopyTestInput &input,
|
|||||||
cmdList, ptrOffset(commandList.commandContainer.getCommandStream()->getCpuBase(), 0),
|
cmdList, ptrOffset(commandList.commandContainer.getCommandStream()->getCpuBase(), 0),
|
||||||
commandList.commandContainer.getCommandStream()->getUsed()));
|
commandList.commandContainer.getCommandStream()->getUsed()));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(1u, itorWalkers.size());
|
ASSERT_EQ(1u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -452,7 +452,7 @@ void testSingleTileAppendMemoryCopySingleKernelAndL3Flush(CopyTestInput &input,
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testSingleTileAppendMemoryCopySignalScopeEventToSubDevice(CopyTestInput &input, TestExpectedValues &arg) {
|
void testSingleTileAppendMemoryCopySignalScopeEventToSubDevice(CopyTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||||
using POST_SYNC_OPERATION = typename PIPE_CONTROL::POST_SYNC_OPERATION;
|
using POST_SYNC_OPERATION = typename PIPE_CONTROL::POST_SYNC_OPERATION;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
@@ -481,7 +481,7 @@ void testSingleTileAppendMemoryCopySignalScopeEventToSubDevice(CopyTestInput &in
|
|||||||
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
||||||
usedAfter - usedBefore));
|
usedAfter - usedBefore));
|
||||||
|
|
||||||
auto itorWalker = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalker = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), itorWalker);
|
ASSERT_NE(cmdList.end(), itorWalker);
|
||||||
|
|
||||||
auto pipeControls = findAll<PIPE_CONTROL *>(itorWalker, cmdList.end());
|
auto pipeControls = findAll<PIPE_CONTROL *>(itorWalker, cmdList.end());
|
||||||
@@ -508,7 +508,7 @@ void testSingleTileAppendMemoryCopySignalScopeEventToSubDevice(CopyTestInput &in
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testMultiTileAppendMemoryCopyThreeKernels(CopyTestInput &input, TestExpectedValues &arg) {
|
void testMultiTileAppendMemoryCopyThreeKernels(CopyTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
@@ -548,21 +548,21 @@ void testMultiTileAppendMemoryCopyThreeKernels(CopyTestInput &input, TestExpecte
|
|||||||
cmdList, ptrOffset(commandList.commandContainer.getCommandStream()->getCpuBase(), 0),
|
cmdList, ptrOffset(commandList.commandContainer.getCommandStream()->getCpuBase(), 0),
|
||||||
commandList.commandContainer.getCommandStream()->getUsed()));
|
commandList.commandContainer.getCommandStream()->getUsed()));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(3u, itorWalkers.size());
|
ASSERT_EQ(3u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
auto secondWalker = itorWalkers[1];
|
auto secondWalker = itorWalkers[1];
|
||||||
auto thirdWalker = itorWalkers[2];
|
auto thirdWalker = itorWalkers[2];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
walkerCmd = genCmdCast<COMPUTE_WALKER *>(*secondWalker);
|
walkerCmd = genCmdCast<DefaultWalkerType *>(*secondWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
walkerCmd = genCmdCast<COMPUTE_WALKER *>(*thirdWalker);
|
walkerCmd = genCmdCast<DefaultWalkerType *>(*thirdWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(thirdKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(thirdKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -597,7 +597,7 @@ void testMultiTileAppendMemoryCopyThreeKernels(CopyTestInput &input, TestExpecte
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testMultiTileAppendMemoryCopyThreeKernelsAndL3Flush(CopyTestInput &input, TestExpectedValues &arg) {
|
void testMultiTileAppendMemoryCopyThreeKernelsAndL3Flush(CopyTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||||
using POST_SYNC_OPERATION = typename PIPE_CONTROL::POST_SYNC_OPERATION;
|
using POST_SYNC_OPERATION = typename PIPE_CONTROL::POST_SYNC_OPERATION;
|
||||||
@@ -645,21 +645,21 @@ void testMultiTileAppendMemoryCopyThreeKernelsAndL3Flush(CopyTestInput &input, T
|
|||||||
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
||||||
usedAfter - usedBefore));
|
usedAfter - usedBefore));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(3u, itorWalkers.size());
|
ASSERT_EQ(3u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
auto secondWalker = itorWalkers[1];
|
auto secondWalker = itorWalkers[1];
|
||||||
auto thirdWalker = itorWalkers[2];
|
auto thirdWalker = itorWalkers[2];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
walkerCmd = genCmdCast<COMPUTE_WALKER *>(*secondWalker);
|
walkerCmd = genCmdCast<DefaultWalkerType *>(*secondWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
walkerCmd = genCmdCast<COMPUTE_WALKER *>(*thirdWalker);
|
walkerCmd = genCmdCast<DefaultWalkerType *>(*thirdWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(thirdKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(thirdKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -725,7 +725,7 @@ void testMultiTileAppendMemoryCopyThreeKernelsAndL3Flush(CopyTestInput &input, T
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testMultiTileAppendMemoryCopySingleKernel(CopyTestInput &input, TestExpectedValues &arg) {
|
void testMultiTileAppendMemoryCopySingleKernel(CopyTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
@@ -762,11 +762,11 @@ void testMultiTileAppendMemoryCopySingleKernel(CopyTestInput &input, TestExpecte
|
|||||||
cmdList, ptrOffset(commandList.commandContainer.getCommandStream()->getCpuBase(), 0),
|
cmdList, ptrOffset(commandList.commandContainer.getCommandStream()->getCpuBase(), 0),
|
||||||
commandList.commandContainer.getCommandStream()->getUsed()));
|
commandList.commandContainer.getCommandStream()->getUsed()));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(1u, itorWalkers.size());
|
ASSERT_EQ(1u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -799,7 +799,7 @@ void testMultiTileAppendMemoryCopySingleKernel(CopyTestInput &input, TestExpecte
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testMultiTileAppendMemoryCopySingleKernelAndL3Flush(CopyTestInput &input, TestExpectedValues &arg) {
|
void testMultiTileAppendMemoryCopySingleKernelAndL3Flush(CopyTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||||
using POST_SYNC_OPERATION = typename PIPE_CONTROL::POST_SYNC_OPERATION;
|
using POST_SYNC_OPERATION = typename PIPE_CONTROL::POST_SYNC_OPERATION;
|
||||||
@@ -844,11 +844,11 @@ void testMultiTileAppendMemoryCopySingleKernelAndL3Flush(CopyTestInput &input, T
|
|||||||
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
||||||
usedAfter - usedBefore));
|
usedAfter - usedBefore));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(1u, itorWalkers.size());
|
ASSERT_EQ(1u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ struct AppendFillMultiPacketEventFixture : public AppendFillFixture {
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testSingleTileAppendMemoryFillManyImmediateKernels(FillTestInput &input, TestExpectedValues &arg) {
|
void testSingleTileAppendMemoryFillManyImmediateKernels(FillTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
@@ -127,16 +127,16 @@ void testSingleTileAppendMemoryFillManyImmediateKernels(FillTestInput &input, Te
|
|||||||
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
||||||
usedAfter - usedBefore));
|
usedAfter - usedBefore));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(2u, itorWalkers.size());
|
ASSERT_EQ(2u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
auto secondWalker = itorWalkers[1];
|
auto secondWalker = itorWalkers[1];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
walkerCmd = genCmdCast<COMPUTE_WALKER *>(*secondWalker);
|
walkerCmd = genCmdCast<DefaultWalkerType *>(*secondWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -166,7 +166,7 @@ void testSingleTileAppendMemoryFillManyImmediateKernels(FillTestInput &input, Te
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testSingleTileAppendMemoryFillManyKernels(FillTestInput &input, TestExpectedValues &arg) {
|
void testSingleTileAppendMemoryFillManyKernels(FillTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
@@ -207,16 +207,16 @@ void testSingleTileAppendMemoryFillManyKernels(FillTestInput &input, TestExpecte
|
|||||||
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
||||||
usedAfter - usedBefore));
|
usedAfter - usedBefore));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(2u, itorWalkers.size());
|
ASSERT_EQ(2u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
auto secondWalker = itorWalkers[1];
|
auto secondWalker = itorWalkers[1];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
walkerCmd = genCmdCast<COMPUTE_WALKER *>(*secondWalker);
|
walkerCmd = genCmdCast<DefaultWalkerType *>(*secondWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -246,7 +246,7 @@ void testSingleTileAppendMemoryFillManyKernels(FillTestInput &input, TestExpecte
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testSingleTileAppendMemoryFillManyKernelsAndL3Flush(FillTestInput &input, TestExpectedValues &arg) {
|
void testSingleTileAppendMemoryFillManyKernelsAndL3Flush(FillTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
@@ -288,16 +288,16 @@ void testSingleTileAppendMemoryFillManyKernelsAndL3Flush(FillTestInput &input, T
|
|||||||
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
||||||
usedAfter - usedBefore));
|
usedAfter - usedBefore));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(2u, itorWalkers.size());
|
ASSERT_EQ(2u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
auto secondWalker = itorWalkers[1];
|
auto secondWalker = itorWalkers[1];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
walkerCmd = genCmdCast<COMPUTE_WALKER *>(*secondWalker);
|
walkerCmd = genCmdCast<DefaultWalkerType *>(*secondWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -327,7 +327,7 @@ void testSingleTileAppendMemoryFillManyKernelsAndL3Flush(FillTestInput &input, T
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testSingleTileAppendMemoryFillSingleKernel(FillTestInput &input, TestExpectedValues &arg) {
|
void testSingleTileAppendMemoryFillSingleKernel(FillTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
@@ -369,11 +369,11 @@ void testSingleTileAppendMemoryFillSingleKernel(FillTestInput &input, TestExpect
|
|||||||
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
||||||
usedAfter - usedBefore));
|
usedAfter - usedBefore));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(1u, itorWalkers.size());
|
ASSERT_EQ(1u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -403,7 +403,7 @@ void testSingleTileAppendMemoryFillSingleKernel(FillTestInput &input, TestExpect
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testSingleTileAppendMemoryFillSingleKernelAndL3Flush(FillTestInput &input, TestExpectedValues &arg) {
|
void testSingleTileAppendMemoryFillSingleKernelAndL3Flush(FillTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
||||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||||
@@ -448,11 +448,11 @@ void testSingleTileAppendMemoryFillSingleKernelAndL3Flush(FillTestInput &input,
|
|||||||
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
||||||
usedAfter - usedBefore));
|
usedAfter - usedBefore));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(1u, itorWalkers.size());
|
ASSERT_EQ(1u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -508,7 +508,7 @@ void testSingleTileAppendMemoryFillSingleKernelAndL3Flush(FillTestInput &input,
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testMultiTileAppendMemoryFillManyKernels(FillTestInput &input, TestExpectedValues &arg) {
|
void testMultiTileAppendMemoryFillManyKernels(FillTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||||
using POST_SYNC_OPERATION = typename PIPE_CONTROL::POST_SYNC_OPERATION;
|
using POST_SYNC_OPERATION = typename PIPE_CONTROL::POST_SYNC_OPERATION;
|
||||||
@@ -560,16 +560,16 @@ void testMultiTileAppendMemoryFillManyKernels(FillTestInput &input, TestExpected
|
|||||||
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
||||||
usedAfter - usedBefore));
|
usedAfter - usedBefore));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(2u, itorWalkers.size());
|
ASSERT_EQ(2u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
auto secondWalker = itorWalkers[1];
|
auto secondWalker = itorWalkers[1];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
walkerCmd = genCmdCast<COMPUTE_WALKER *>(*secondWalker);
|
walkerCmd = genCmdCast<DefaultWalkerType *>(*secondWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(secondKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -623,7 +623,7 @@ void testMultiTileAppendMemoryFillManyKernels(FillTestInput &input, TestExpected
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testMultiTileAppendMemoryFillSingleKernelAndL3Flush(FillTestInput &input, TestExpectedValues &arg) {
|
void testMultiTileAppendMemoryFillSingleKernelAndL3Flush(FillTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
||||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||||
@@ -668,11 +668,11 @@ void testMultiTileAppendMemoryFillSingleKernelAndL3Flush(FillTestInput &input, T
|
|||||||
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
ptrOffset(commandContainer.getCommandStream()->getCpuBase(), usedBefore),
|
||||||
usedAfter - usedBefore));
|
usedAfter - usedBefore));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(1u, itorWalkers.size());
|
ASSERT_EQ(1u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
|
|||||||
@@ -305,7 +305,7 @@ struct CommandListAppendLaunchKernelCompactL3FlushEventFixture : public ModuleFi
|
|||||||
debugManager.flags.CreateMultipleSubDevices.set(2);
|
debugManager.flags.CreateMultipleSubDevices.set(2);
|
||||||
debugManager.flags.EnableImplicitScaling.set(1);
|
debugManager.flags.EnableImplicitScaling.set(1);
|
||||||
arg.workloadPartition = true;
|
arg.workloadPartition = true;
|
||||||
arg.expectDcFlush = 2; // DC Flush multi-tile platforms require DC Flush + x-tile sync after implicit scaling COMPUTE_WALKER
|
arg.expectDcFlush = 2; // DC Flush multi-tile platforms require DC Flush + x-tile sync after implicit scaling DefaultWalkerType
|
||||||
input.packetOffsetMul = 2;
|
input.packetOffsetMul = 2;
|
||||||
} else {
|
} else {
|
||||||
arg.expectDcFlush = 1;
|
arg.expectDcFlush = 1;
|
||||||
@@ -320,7 +320,7 @@ struct CommandListAppendLaunchKernelCompactL3FlushEventFixture : public ModuleFi
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testAppendLaunchKernelAndL3Flush(AppendKernelTestInput &input, TestExpectedValues &arg) {
|
void testAppendLaunchKernelAndL3Flush(AppendKernelTestInput &input, TestExpectedValues &arg) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||||
using POST_SYNC_OPERATION = typename FamilyType::PIPE_CONTROL::POST_SYNC_OPERATION;
|
using POST_SYNC_OPERATION = typename FamilyType::PIPE_CONTROL::POST_SYNC_OPERATION;
|
||||||
@@ -361,11 +361,11 @@ struct CommandListAppendLaunchKernelCompactL3FlushEventFixture : public ModuleFi
|
|||||||
cmdList, ptrOffset(commandList->commandContainer.getCommandStream()->getCpuBase(), 0),
|
cmdList, ptrOffset(commandList->commandContainer.getCommandStream()->getCpuBase(), 0),
|
||||||
commandList->commandContainer.getCommandStream()->getUsed()));
|
commandList->commandContainer.getCommandStream()->getUsed()));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(1u, itorWalkers.size());
|
ASSERT_EQ(1u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(arg.expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
EXPECT_EQ(firstKernelEventAddress, walkerCmd->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
@@ -564,7 +564,7 @@ struct CommandListSignalAllEventPacketFixture : public ModuleFixture {
|
|||||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||||
void testAppendKernel(ze_event_pool_flags_t eventPoolFlags) {
|
void testAppendKernel(ze_event_pool_flags_t eventPoolFlags) {
|
||||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
using OPERATION = typename POSTSYNC_DATA::OPERATION;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
@@ -601,7 +601,7 @@ struct CommandListSignalAllEventPacketFixture : public ModuleFixture {
|
|||||||
ptrOffset(cmdStream->getCpuBase(), sizeBefore),
|
ptrOffset(cmdStream->getCpuBase(), sizeBefore),
|
||||||
(sizeAfter - sizeBefore)));
|
(sizeAfter - sizeBefore)));
|
||||||
|
|
||||||
auto itorWalkers = findAll<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itorWalkers = findAll<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_EQ(1u, itorWalkers.size());
|
ASSERT_EQ(1u, itorWalkers.size());
|
||||||
auto firstWalker = itorWalkers[0];
|
auto firstWalker = itorWalkers[0];
|
||||||
|
|
||||||
@@ -614,7 +614,7 @@ struct CommandListSignalAllEventPacketFixture : public ModuleFixture {
|
|||||||
expectedWalkerPostSyncOp = 1;
|
expectedWalkerPostSyncOp = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*firstWalker);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*firstWalker);
|
||||||
EXPECT_EQ(static_cast<OPERATION>(expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
EXPECT_EQ(static_cast<OPERATION>(expectedWalkerPostSyncOp), walkerCmd->getPostSync().getOperation());
|
||||||
|
|
||||||
uint32_t extraCleanupStoreDataImm = 0;
|
uint32_t extraCleanupStoreDataImm = 0;
|
||||||
@@ -1576,7 +1576,7 @@ using RayTracingCmdListTest = Test<RayTracingCmdListFixture>;
|
|||||||
template <typename FamilyType>
|
template <typename FamilyType>
|
||||||
void findStateCacheFlushPipeControlAfterWalker(LinearStream &cmdStream, size_t offset, size_t size) {
|
void findStateCacheFlushPipeControlAfterWalker(LinearStream &cmdStream, size_t offset, size_t size) {
|
||||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
GenCmdList cmdList;
|
GenCmdList cmdList;
|
||||||
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(
|
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(
|
||||||
@@ -1584,7 +1584,7 @@ void findStateCacheFlushPipeControlAfterWalker(LinearStream &cmdStream, size_t o
|
|||||||
ptrOffset(cmdStream.getCpuBase(), offset),
|
ptrOffset(cmdStream.getCpuBase(), offset),
|
||||||
size));
|
size));
|
||||||
|
|
||||||
auto walkerIt = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerIt = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerIt);
|
ASSERT_NE(cmdList.end(), walkerIt);
|
||||||
|
|
||||||
auto pcItorList = findAll<PIPE_CONTROL *>(walkerIt, cmdList.end());
|
auto pcItorList = findAll<PIPE_CONTROL *>(walkerIt, cmdList.end());
|
||||||
|
|||||||
@@ -1349,7 +1349,7 @@ HWTEST2_F(InOrderCmdListTests, givenCmdsChainingFromAppendCopyAndFlushRequiredWh
|
|||||||
|
|
||||||
HWTEST2_F(InOrderCmdListTests, givenEventWithRequiredPipeControlWhenDispatchingCopyThenSignalInOrderAllocation, IsAtLeastXeHpCore) {
|
HWTEST2_F(InOrderCmdListTests, givenEventWithRequiredPipeControlWhenDispatchingCopyThenSignalInOrderAllocation, IsAtLeastXeHpCore) {
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
|
|
||||||
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
||||||
@@ -1375,10 +1375,10 @@ HWTEST2_F(InOrderCmdListTests, givenEventWithRequiredPipeControlWhenDispatchingC
|
|||||||
} else {
|
} else {
|
||||||
EXPECT_EQ(cmdList.end(), sdiItor);
|
EXPECT_EQ(cmdList.end(), sdiItor);
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
|
|
||||||
EXPECT_EQ(POSTSYNC_DATA::OPERATION_WRITE_IMMEDIATE_DATA, postSync.getOperation());
|
EXPECT_EQ(POSTSYNC_DATA::OPERATION_WRITE_IMMEDIATE_DATA, postSync.getOperation());
|
||||||
@@ -1391,7 +1391,7 @@ HWTEST2_F(InOrderCmdListTests, givenEventWithRequiredPipeControlWhenDispatchingC
|
|||||||
|
|
||||||
HWTEST2_F(InOrderCmdListTests, givenEventWithRequiredPipeControlAndAllocFlushWhenDispatchingCopyThenSignalInOrderAllocation, IsAtLeastXeHpCore) {
|
HWTEST2_F(InOrderCmdListTests, givenEventWithRequiredPipeControlAndAllocFlushWhenDispatchingCopyThenSignalInOrderAllocation, IsAtLeastXeHpCore) {
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
||||||
auto eventPool = createEvents<FamilyType>(1, false);
|
auto eventPool = createEvents<FamilyType>(1, false);
|
||||||
@@ -1416,9 +1416,9 @@ HWTEST2_F(InOrderCmdListTests, givenEventWithRequiredPipeControlAndAllocFlushWhe
|
|||||||
|
|
||||||
EXPECT_EQ(immCmdList->inOrderExecInfo->getBaseDeviceAddress(), sdiCmd->getAddress());
|
EXPECT_EQ(immCmdList->inOrderExecInfo->getBaseDeviceAddress(), sdiCmd->getAddress());
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
|
|
||||||
EXPECT_NE(immCmdList->inOrderExecInfo->getBaseDeviceAddress(), postSync.getDestinationAddress());
|
EXPECT_NE(immCmdList->inOrderExecInfo->getBaseDeviceAddress(), postSync.getDestinationAddress());
|
||||||
@@ -1653,7 +1653,7 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenAddingRelaxedOrderingEventsTh
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingWalkerThenSignalSyncAllocation, IsAtLeastXeHpCore) {
|
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingWalkerThenSignalSyncAllocation, IsAtLeastXeHpCore) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
@@ -1678,10 +1678,10 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingWalkerThenSignalSy
|
|||||||
GenCmdList cmdList;
|
GenCmdList cmdList;
|
||||||
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
|
|
||||||
EXPECT_EQ(POSTSYNC_DATA::OPERATION_WRITE_IMMEDIATE_DATA, postSync.getOperation());
|
EXPECT_EQ(POSTSYNC_DATA::OPERATION_WRITE_IMMEDIATE_DATA, postSync.getOperation());
|
||||||
@@ -1700,10 +1700,10 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingWalkerThenSignalSy
|
|||||||
ptrOffset(cmdStream->getCpuBase(), offset),
|
ptrOffset(cmdStream->getCpuBase(), offset),
|
||||||
(cmdStream->getUsed() - offset)));
|
(cmdStream->getUsed() - offset)));
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
|
|
||||||
if (isCompactEvent) {
|
if (isCompactEvent) {
|
||||||
@@ -1750,7 +1750,7 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingWalkerThenSignalSy
|
|||||||
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingTimestampEventThenClearAndChainWithSyncAllocSignaling, IsAtLeastXeHpCore) {
|
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingTimestampEventThenClearAndChainWithSyncAllocSignaling, IsAtLeastXeHpCore) {
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
|
|
||||||
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
||||||
@@ -1775,10 +1775,10 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingTimestampEventThen
|
|||||||
EXPECT_EQ(0u, sdiCmd->getStoreQword());
|
EXPECT_EQ(0u, sdiCmd->getStoreQword());
|
||||||
EXPECT_EQ(Event::STATE_CLEARED, sdiCmd->getDataDword0());
|
EXPECT_EQ(Event::STATE_CLEARED, sdiCmd->getDataDword0());
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(sdiItor, cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(sdiItor, cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
|
|
||||||
auto eventBaseGpuVa = events[0]->getPacketAddress(device);
|
auto eventBaseGpuVa = events[0]->getPacketAddress(device);
|
||||||
@@ -1815,7 +1815,7 @@ HWTEST2_F(InOrderCmdListTests, givenDebugFlagSetWhenAskingIfSkipInOrderNonWalker
|
|||||||
HWTEST2_F(InOrderCmdListTests, givenRelaxedOrderingWhenProgrammingTimestampEventThenClearAndChainWithSyncAllocSignalingAsTwoSeparateSubmissions, IsAtLeastXeHpcCore) {
|
HWTEST2_F(InOrderCmdListTests, givenRelaxedOrderingWhenProgrammingTimestampEventThenClearAndChainWithSyncAllocSignalingAsTwoSeparateSubmissions, IsAtLeastXeHpcCore) {
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
|
|
||||||
class MyMockCmdList : public WhiteBox<L0::CommandListCoreFamilyImmediate<gfxCoreFamily>> {
|
class MyMockCmdList : public WhiteBox<L0::CommandListCoreFamilyImmediate<gfxCoreFamily>> {
|
||||||
@@ -1885,10 +1885,10 @@ HWTEST2_F(InOrderCmdListTests, givenRelaxedOrderingWhenProgrammingTimestampEvent
|
|||||||
EXPECT_TRUE(sdiOffset >= immCmdList->flushData[0]);
|
EXPECT_TRUE(sdiOffset >= immCmdList->flushData[0]);
|
||||||
EXPECT_TRUE(sdiOffset < immCmdList->flushData[1]);
|
EXPECT_TRUE(sdiOffset < immCmdList->flushData[1]);
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(sdiItor, cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(sdiItor, cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
|
|
||||||
auto eventBaseGpuVa = events[0]->getPacketAddress(device);
|
auto eventBaseGpuVa = events[0]->getPacketAddress(device);
|
||||||
@@ -1978,7 +1978,7 @@ HWTEST2_F(InOrderCmdListTests, givenDebugFlagSetWhenChainingWithRelaxedOrderingT
|
|||||||
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingRegularEventThenClearAndChainWithSyncAllocSignaling, IsAtLeastXeHpCore) {
|
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingRegularEventThenClearAndChainWithSyncAllocSignaling, IsAtLeastXeHpCore) {
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
|
|
||||||
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
||||||
@@ -2004,10 +2004,10 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingRegularEventThenCl
|
|||||||
EXPECT_EQ(0u, sdiCmd->getStoreQword());
|
EXPECT_EQ(0u, sdiCmd->getStoreQword());
|
||||||
EXPECT_EQ(Event::STATE_CLEARED, sdiCmd->getDataDword0());
|
EXPECT_EQ(Event::STATE_CLEARED, sdiCmd->getDataDword0());
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(sdiItor, cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(sdiItor, cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
|
|
||||||
auto eventBaseGpuVa = events[0]->getPacketAddress(device);
|
auto eventBaseGpuVa = events[0]->getPacketAddress(device);
|
||||||
@@ -2635,7 +2635,7 @@ HWTEST2_F(InOrderCmdListTests, givenEventGeneratedByRegularCmdListWhenWaitingFro
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingKernelSplitThenDontSignalFromWalker, IsAtLeastXeHpCore) {
|
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingKernelSplitThenDontSignalFromWalker, IsAtLeastXeHpCore) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
|
|
||||||
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
||||||
@@ -2652,18 +2652,18 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingKernelSplitThenDon
|
|||||||
GenCmdList cmdList;
|
GenCmdList cmdList;
|
||||||
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
|
|
||||||
uint32_t walkersFound = 0;
|
uint32_t walkersFound = 0;
|
||||||
while (cmdList.end() != walkerItor) {
|
while (cmdList.end() != walkerItor) {
|
||||||
walkersFound++;
|
walkersFound++;
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
|
|
||||||
EXPECT_EQ(POSTSYNC_DATA::OPERATION_NO_WRITE, postSync.getOperation());
|
EXPECT_EQ(POSTSYNC_DATA::OPERATION_NO_WRITE, postSync.getOperation());
|
||||||
|
|
||||||
walkerItor = find<COMPUTE_WALKER *>(++walkerItor, cmdList.end());
|
walkerItor = find<DefaultWalkerType *>(++walkerItor, cmdList.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
EXPECT_TRUE(walkersFound > 1);
|
EXPECT_TRUE(walkersFound > 1);
|
||||||
@@ -2708,7 +2708,7 @@ HWTEST2_F(InOrderCmdListTests, givenCopyOnlyInOrderModeWhenProgrammingCopyThenSi
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingComputeCopyThenDontSingalFromSdi, IsAtLeastXeHpCore) {
|
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingComputeCopyThenDontSingalFromSdi, IsAtLeastXeHpCore) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
|
|
||||||
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
||||||
@@ -2722,9 +2722,9 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingComputeCopyThenDon
|
|||||||
GenCmdList cmdList;
|
GenCmdList cmdList;
|
||||||
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
|
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
|
|
||||||
@@ -2737,7 +2737,7 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingComputeCopyThenDon
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(InOrderCmdListTests, givenAlocFlushRequiredhenProgrammingComputeCopyThenSingalFromSdi, IsAtLeastXeHpCore) {
|
HWTEST2_F(InOrderCmdListTests, givenAlocFlushRequiredhenProgrammingComputeCopyThenSingalFromSdi, IsAtLeastXeHpCore) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
||||||
|
|
||||||
@@ -2750,10 +2750,10 @@ HWTEST2_F(InOrderCmdListTests, givenAlocFlushRequiredhenProgrammingComputeCopyTh
|
|||||||
GenCmdList cmdList;
|
GenCmdList cmdList;
|
||||||
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
EXPECT_EQ(0u, postSync.getDestinationAddress());
|
EXPECT_EQ(0u, postSync.getDestinationAddress());
|
||||||
|
|
||||||
@@ -2822,7 +2822,7 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingFillWithSplitAndOu
|
|||||||
GenCmdList cmdList;
|
GenCmdList cmdList;
|
||||||
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
||||||
|
|
||||||
auto walkerItor = find<typename FamilyType::COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<typename FamilyType::DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto pcItor = find<PIPE_CONTROL *>(walkerItor, cmdList.end());
|
auto pcItor = find<PIPE_CONTROL *>(walkerItor, cmdList.end());
|
||||||
@@ -2871,7 +2871,7 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingFillWithSplitAndWi
|
|||||||
GenCmdList cmdList;
|
GenCmdList cmdList;
|
||||||
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
||||||
|
|
||||||
auto walkerItor = find<typename FamilyType::COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<typename FamilyType::DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto pcItor = find<PIPE_CONTROL *>(walkerItor, cmdList.end());
|
auto pcItor = find<PIPE_CONTROL *>(walkerItor, cmdList.end());
|
||||||
@@ -2898,7 +2898,7 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingFillWithSplitAndWi
|
|||||||
|
|
||||||
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingFillWithoutSplitThenSignalByWalker, IsAtLeastXeHpCore) {
|
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingFillWithoutSplitThenSignalByWalker, IsAtLeastXeHpCore) {
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
|
|
||||||
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
||||||
@@ -2913,10 +2913,10 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingFillWithoutSplitTh
|
|||||||
GenCmdList cmdList;
|
GenCmdList cmdList;
|
||||||
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
|
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
|
|
||||||
@@ -3088,7 +3088,7 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingCounterWithOverflo
|
|||||||
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingCounterWithOverflowThenHandleItCorrectly, IsAtLeastXeHpCore) {
|
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingCounterWithOverflowThenHandleItCorrectly, IsAtLeastXeHpCore) {
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
|
|
||||||
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
auto immCmdList = createImmCmdList<gfxCoreFamily>();
|
||||||
@@ -3109,7 +3109,7 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingCounterWithOverflo
|
|||||||
GenCmdList cmdList;
|
GenCmdList cmdList;
|
||||||
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
ASSERT_TRUE(FamilyType::Parse::parseCommandBuffer(cmdList, cmdStream->getCpuBase(), cmdStream->getUsed()));
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto semaphoreItor = find<MI_SEMAPHORE_WAIT *>(walkerItor, cmdList.end());
|
auto semaphoreItor = find<MI_SEMAPHORE_WAIT *>(walkerItor, cmdList.end());
|
||||||
@@ -3120,7 +3120,7 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingCounterWithOverflo
|
|||||||
if (immCmdList->isQwordInOrderCounter()) {
|
if (immCmdList->isQwordInOrderCounter()) {
|
||||||
expectedCounter = std::numeric_limits<uint32_t>::max();
|
expectedCounter = std::numeric_limits<uint32_t>::max();
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
|
|
||||||
if (isCompactEvent) {
|
if (isCompactEvent) {
|
||||||
@@ -4512,7 +4512,7 @@ HWTEST2_F(MultiTileInOrderCmdListTests, givenMultiTileInOrderModeWhenCallingSync
|
|||||||
|
|
||||||
HWTEST2_F(MultiTileInOrderCmdListTests, givenMultiTileInOrderModeWhenProgrammingTimestampEventThenHandleChaining, IsAtLeastXeHpCore) {
|
HWTEST2_F(MultiTileInOrderCmdListTests, givenMultiTileInOrderModeWhenProgrammingTimestampEventThenHandleChaining, IsAtLeastXeHpCore) {
|
||||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
auto immCmdList = createMultiTileImmCmdList<gfxCoreFamily>();
|
auto immCmdList = createMultiTileImmCmdList<gfxCoreFamily>();
|
||||||
|
|
||||||
@@ -4529,10 +4529,10 @@ HWTEST2_F(MultiTileInOrderCmdListTests, givenMultiTileInOrderModeWhenProgramming
|
|||||||
cmdStream->getCpuBase(),
|
cmdStream->getCpuBase(),
|
||||||
cmdStream->getUsed()));
|
cmdStream->getUsed()));
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto computeWalkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto computeWalkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
ASSERT_NE(nullptr, computeWalkerCmd);
|
ASSERT_NE(nullptr, computeWalkerCmd);
|
||||||
|
|
||||||
auto semaphoreItor = find<MI_SEMAPHORE_WAIT *>(walkerItor, cmdList.end());
|
auto semaphoreItor = find<MI_SEMAPHORE_WAIT *>(walkerItor, cmdList.end());
|
||||||
@@ -4561,7 +4561,7 @@ HWTEST2_F(MultiTileInOrderCmdListTests, givenMultiTileInOrderModeWhenProgramming
|
|||||||
|
|
||||||
HWTEST2_F(MultiTileInOrderCmdListTests, givenMultiTileInOrderModeWhenProgrammingTimestampEventThenHandlePacketsChaining, IsAtLeastXeHpCore) {
|
HWTEST2_F(MultiTileInOrderCmdListTests, givenMultiTileInOrderModeWhenProgrammingTimestampEventThenHandlePacketsChaining, IsAtLeastXeHpCore) {
|
||||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
auto immCmdList = createMultiTileImmCmdList<gfxCoreFamily>();
|
auto immCmdList = createMultiTileImmCmdList<gfxCoreFamily>();
|
||||||
|
|
||||||
@@ -4581,10 +4581,10 @@ HWTEST2_F(MultiTileInOrderCmdListTests, givenMultiTileInOrderModeWhenProgramming
|
|||||||
cmdStream->getCpuBase(),
|
cmdStream->getCpuBase(),
|
||||||
cmdStream->getUsed()));
|
cmdStream->getUsed()));
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto computeWalkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto computeWalkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
ASSERT_NE(nullptr, computeWalkerCmd);
|
ASSERT_NE(nullptr, computeWalkerCmd);
|
||||||
|
|
||||||
auto semaphoreItor = find<MI_SEMAPHORE_WAIT *>(walkerItor, cmdList.end());
|
auto semaphoreItor = find<MI_SEMAPHORE_WAIT *>(walkerItor, cmdList.end());
|
||||||
@@ -4623,7 +4623,7 @@ HWTEST2_F(MultiTileInOrderCmdListTests, givenMultiTileInOrderModeWhenProgramming
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(MultiTileInOrderCmdListTests, whenUsingRegularCmdListThenAddWalkerToPatch, IsAtLeastXeHpCore) {
|
HWTEST2_F(MultiTileInOrderCmdListTests, whenUsingRegularCmdListThenAddWalkerToPatch, IsAtLeastXeHpCore) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
ze_command_queue_desc_t desc = {};
|
ze_command_queue_desc_t desc = {};
|
||||||
|
|
||||||
@@ -4641,12 +4641,12 @@ HWTEST2_F(MultiTileInOrderCmdListTests, whenUsingRegularCmdListThenAddWalkerToPa
|
|||||||
|
|
||||||
ASSERT_EQ(4u, regularCmdList->inOrderPatchCmds.size()); // Walker + 2x Semaphore + Walker
|
ASSERT_EQ(4u, regularCmdList->inOrderPatchCmds.size()); // Walker + 2x Semaphore + Walker
|
||||||
|
|
||||||
auto walkerFromContainer1 = genCmdCast<COMPUTE_WALKER *>(regularCmdList->inOrderPatchCmds[0].cmd1);
|
auto walkerFromContainer1 = genCmdCast<DefaultWalkerType *>(regularCmdList->inOrderPatchCmds[0].cmd1);
|
||||||
ASSERT_NE(nullptr, walkerFromContainer1);
|
ASSERT_NE(nullptr, walkerFromContainer1);
|
||||||
auto walkerFromContainer2 = genCmdCast<COMPUTE_WALKER *>(regularCmdList->inOrderPatchCmds[3].cmd1);
|
auto walkerFromContainer2 = genCmdCast<DefaultWalkerType *>(regularCmdList->inOrderPatchCmds[3].cmd1);
|
||||||
ASSERT_NE(nullptr, walkerFromContainer2);
|
ASSERT_NE(nullptr, walkerFromContainer2);
|
||||||
COMPUTE_WALKER *walkerFromParser1 = nullptr;
|
DefaultWalkerType *walkerFromParser1 = nullptr;
|
||||||
COMPUTE_WALKER *walkerFromParser2 = nullptr;
|
DefaultWalkerType *walkerFromParser2 = nullptr;
|
||||||
|
|
||||||
{
|
{
|
||||||
GenCmdList cmdList;
|
GenCmdList cmdList;
|
||||||
@@ -4654,15 +4654,15 @@ HWTEST2_F(MultiTileInOrderCmdListTests, whenUsingRegularCmdListThenAddWalkerToPa
|
|||||||
ptrOffset(cmdStream->getCpuBase(), offset),
|
ptrOffset(cmdStream->getCpuBase(), offset),
|
||||||
(cmdStream->getUsed() - offset)));
|
(cmdStream->getUsed() - offset)));
|
||||||
|
|
||||||
auto itor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), itor);
|
ASSERT_NE(cmdList.end(), itor);
|
||||||
|
|
||||||
walkerFromParser1 = genCmdCast<COMPUTE_WALKER *>(*itor);
|
walkerFromParser1 = genCmdCast<DefaultWalkerType *>(*itor);
|
||||||
|
|
||||||
itor = find<COMPUTE_WALKER *>(++itor, cmdList.end());
|
itor = find<DefaultWalkerType *>(++itor, cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), itor);
|
ASSERT_NE(cmdList.end(), itor);
|
||||||
|
|
||||||
walkerFromParser2 = genCmdCast<COMPUTE_WALKER *>(*itor);
|
walkerFromParser2 = genCmdCast<DefaultWalkerType *>(*itor);
|
||||||
}
|
}
|
||||||
|
|
||||||
EXPECT_EQ(2u, regularCmdList->inOrderExecInfo->getCounterValue());
|
EXPECT_EQ(2u, regularCmdList->inOrderExecInfo->getCounterValue());
|
||||||
@@ -5350,7 +5350,7 @@ HWTEST2_F(InOrderRegularCmdListTests, givenDebugFlagSetWhenUsingRegularCmdListTh
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(InOrderRegularCmdListTests, whenUsingRegularCmdListThenAddWalkerToPatch, IsAtLeastXeHpCore) {
|
HWTEST2_F(InOrderRegularCmdListTests, whenUsingRegularCmdListThenAddWalkerToPatch, IsAtLeastXeHpCore) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
ze_command_queue_desc_t desc = {};
|
ze_command_queue_desc_t desc = {};
|
||||||
|
|
||||||
@@ -5367,12 +5367,12 @@ HWTEST2_F(InOrderRegularCmdListTests, whenUsingRegularCmdListThenAddWalkerToPatc
|
|||||||
|
|
||||||
ASSERT_EQ(3u, regularCmdList->inOrderPatchCmds.size()); // Walker + Semaphore + Walker
|
ASSERT_EQ(3u, regularCmdList->inOrderPatchCmds.size()); // Walker + Semaphore + Walker
|
||||||
|
|
||||||
auto walkerFromContainer1 = genCmdCast<COMPUTE_WALKER *>(regularCmdList->inOrderPatchCmds[0].cmd1);
|
auto walkerFromContainer1 = genCmdCast<DefaultWalkerType *>(regularCmdList->inOrderPatchCmds[0].cmd1);
|
||||||
ASSERT_NE(nullptr, walkerFromContainer1);
|
ASSERT_NE(nullptr, walkerFromContainer1);
|
||||||
auto walkerFromContainer2 = genCmdCast<COMPUTE_WALKER *>(regularCmdList->inOrderPatchCmds[2].cmd1);
|
auto walkerFromContainer2 = genCmdCast<DefaultWalkerType *>(regularCmdList->inOrderPatchCmds[2].cmd1);
|
||||||
ASSERT_NE(nullptr, walkerFromContainer2);
|
ASSERT_NE(nullptr, walkerFromContainer2);
|
||||||
COMPUTE_WALKER *walkerFromParser1 = nullptr;
|
DefaultWalkerType *walkerFromParser1 = nullptr;
|
||||||
COMPUTE_WALKER *walkerFromParser2 = nullptr;
|
DefaultWalkerType *walkerFromParser2 = nullptr;
|
||||||
|
|
||||||
{
|
{
|
||||||
GenCmdList cmdList;
|
GenCmdList cmdList;
|
||||||
@@ -5380,15 +5380,15 @@ HWTEST2_F(InOrderRegularCmdListTests, whenUsingRegularCmdListThenAddWalkerToPatc
|
|||||||
ptrOffset(cmdStream->getCpuBase(), offset),
|
ptrOffset(cmdStream->getCpuBase(), offset),
|
||||||
(cmdStream->getUsed() - offset)));
|
(cmdStream->getUsed() - offset)));
|
||||||
|
|
||||||
auto itor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto itor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), itor);
|
ASSERT_NE(cmdList.end(), itor);
|
||||||
|
|
||||||
walkerFromParser1 = genCmdCast<COMPUTE_WALKER *>(*itor);
|
walkerFromParser1 = genCmdCast<DefaultWalkerType *>(*itor);
|
||||||
|
|
||||||
itor = find<COMPUTE_WALKER *>(++itor, cmdList.end());
|
itor = find<DefaultWalkerType *>(++itor, cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), itor);
|
ASSERT_NE(cmdList.end(), itor);
|
||||||
|
|
||||||
walkerFromParser2 = genCmdCast<COMPUTE_WALKER *>(*itor);
|
walkerFromParser2 = genCmdCast<DefaultWalkerType *>(*itor);
|
||||||
}
|
}
|
||||||
|
|
||||||
EXPECT_EQ(2u, regularCmdList->inOrderExecInfo->getCounterValue());
|
EXPECT_EQ(2u, regularCmdList->inOrderExecInfo->getCounterValue());
|
||||||
@@ -5419,7 +5419,7 @@ HWTEST2_F(InOrderRegularCmdListTests, whenUsingRegularCmdListThenAddWalkerToPatc
|
|||||||
|
|
||||||
HWTEST2_F(InOrderRegularCmdListTests, givenInOrderModeWhenDispatchingRegularCmdListThenProgramPipeControlsToHandleDependencies, IsAtLeastXeHpCore) {
|
HWTEST2_F(InOrderRegularCmdListTests, givenInOrderModeWhenDispatchingRegularCmdListThenProgramPipeControlsToHandleDependencies, IsAtLeastXeHpCore) {
|
||||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||||
|
|
||||||
@@ -5439,10 +5439,10 @@ HWTEST2_F(InOrderRegularCmdListTests, givenInOrderModeWhenDispatchingRegularCmdL
|
|||||||
ptrOffset(cmdStream->getCpuBase(), offset),
|
ptrOffset(cmdStream->getCpuBase(), offset),
|
||||||
(cmdStream->getUsed() - offset)));
|
(cmdStream->getUsed() - offset)));
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
|
|
||||||
EXPECT_EQ(POSTSYNC_DATA::OPERATION_WRITE_IMMEDIATE_DATA, postSync.getOperation());
|
EXPECT_EQ(POSTSYNC_DATA::OPERATION_WRITE_IMMEDIATE_DATA, postSync.getOperation());
|
||||||
@@ -5466,10 +5466,10 @@ HWTEST2_F(InOrderRegularCmdListTests, givenInOrderModeWhenDispatchingRegularCmdL
|
|||||||
auto semaphoreItor = find<MI_SEMAPHORE_WAIT *>(cmdList.begin(), cmdList.end());
|
auto semaphoreItor = find<MI_SEMAPHORE_WAIT *>(cmdList.begin(), cmdList.end());
|
||||||
EXPECT_NE(cmdList.end(), semaphoreItor);
|
EXPECT_NE(cmdList.end(), semaphoreItor);
|
||||||
|
|
||||||
auto walkerItor = find<COMPUTE_WALKER *>(semaphoreItor, cmdList.end());
|
auto walkerItor = find<DefaultWalkerType *>(semaphoreItor, cmdList.end());
|
||||||
ASSERT_NE(cmdList.end(), walkerItor);
|
ASSERT_NE(cmdList.end(), walkerItor);
|
||||||
|
|
||||||
auto walkerCmd = genCmdCast<COMPUTE_WALKER *>(*walkerItor);
|
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*walkerItor);
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
|
|
||||||
EXPECT_EQ(POSTSYNC_DATA::OPERATION_WRITE_IMMEDIATE_DATA, postSync.getOperation());
|
EXPECT_EQ(POSTSYNC_DATA::OPERATION_WRITE_IMMEDIATE_DATA, postSync.getOperation());
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2023 Intel Corporation
|
* Copyright (C) 2018-2024 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@@ -1171,7 +1171,7 @@ HWTEST_F(OoqCommandQueueHwBlitTest, givenBlitBeforeBarrierWhenEnqueueingCommandT
|
|||||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||||
using XY_COPY_BLT = typename FamilyType::XY_COPY_BLT;
|
using XY_COPY_BLT = typename FamilyType::XY_COPY_BLT;
|
||||||
using COMPUTE_WALKER = typename FamilyType::DefaultWalkerType;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
if (pCmdQ->getTimestampPacketContainer() == nullptr) {
|
if (pCmdQ->getTimestampPacketContainer() == nullptr) {
|
||||||
GTEST_SKIP();
|
GTEST_SKIP();
|
||||||
@@ -1225,7 +1225,7 @@ HWTEST_F(OoqCommandQueueHwBlitTest, givenBlitBeforeBarrierWhenEnqueueingCommandT
|
|||||||
if (semaphore) {
|
if (semaphore) {
|
||||||
semaphoreIndex = index;
|
semaphoreIndex = index;
|
||||||
}
|
}
|
||||||
const auto computeWalker = genCmdCast<COMPUTE_WALKER *>(*itor);
|
const auto computeWalker = genCmdCast<DefaultWalkerType *>(*itor);
|
||||||
if (computeWalker) {
|
if (computeWalker) {
|
||||||
lastComputeWalkerIndex = index;
|
lastComputeWalkerIndex = index;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2021-2023 Intel Corporation
|
* Copyright (C) 2021-2024 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@@ -77,7 +77,7 @@ using Dg2AndLaterDispatchWalkerBasicTest = Test<Dg2AndLaterDispatchWalkerBasicFi
|
|||||||
using matcherDG2AndLater = IsAtLeastXeHpgCore;
|
using matcherDG2AndLater = IsAtLeastXeHpgCore;
|
||||||
|
|
||||||
HWTEST2_F(WalkerDispatchTestDg2AndLater, givenDebugVariableSetWhenProgramComputeWalkerThenApplyL3PrefetchAppropriately, matcherDG2AndLater) {
|
HWTEST2_F(WalkerDispatchTestDg2AndLater, givenDebugVariableSetWhenProgramComputeWalkerThenApplyL3PrefetchAppropriately, matcherDG2AndLater) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
DebugManagerStateRestore restore;
|
DebugManagerStateRestore restore;
|
||||||
auto walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
auto walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||||
MockExecutionEnvironment mockExecutionEnvironment{};
|
MockExecutionEnvironment mockExecutionEnvironment{};
|
||||||
@@ -93,7 +93,7 @@ HWTEST2_F(WalkerDispatchTestDg2AndLater, givenDebugVariableSetWhenProgramCompute
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(Dg2AndLaterDispatchWalkerBasicTest, givenTimestampPacketWhenDispatchingThenProgramPostSyncData, matcherDG2AndLater) {
|
HWTEST2_F(Dg2AndLaterDispatchWalkerBasicTest, givenTimestampPacketWhenDispatchingThenProgramPostSyncData, matcherDG2AndLater) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
MockKernelWithInternals kernel1(*device);
|
MockKernelWithInternals kernel1(*device);
|
||||||
MockKernelWithInternals kernel2(*device);
|
MockKernelWithInternals kernel2(*device);
|
||||||
@@ -126,7 +126,7 @@ HWTEST2_F(Dg2AndLaterDispatchWalkerBasicTest, givenTimestampPacketWhenDispatchin
|
|||||||
|
|
||||||
auto expectedMocs = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getRootDeviceEnvironment()) ? gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED) : gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER);
|
auto expectedMocs = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getRootDeviceEnvironment()) ? gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED) : gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER);
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
EXPECT_EQ(FamilyType::POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP, walker->getPostSync().getOperation());
|
EXPECT_EQ(FamilyType::POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP, walker->getPostSync().getOperation());
|
||||||
EXPECT_TRUE(walker->getPostSync().getDataportPipelineFlush());
|
EXPECT_TRUE(walker->getPostSync().getDataportPipelineFlush());
|
||||||
EXPECT_TRUE(walker->getPostSync().getDataportSubsliceCacheFlush());
|
EXPECT_TRUE(walker->getPostSync().getDataportSubsliceCacheFlush());
|
||||||
@@ -134,8 +134,8 @@ HWTEST2_F(Dg2AndLaterDispatchWalkerBasicTest, givenTimestampPacketWhenDispatchin
|
|||||||
auto contextStartAddress = TimestampPacketHelper::getContextStartGpuAddress(*timestampPacketContainer.peekNodes()[0]);
|
auto contextStartAddress = TimestampPacketHelper::getContextStartGpuAddress(*timestampPacketContainer.peekNodes()[0]);
|
||||||
EXPECT_EQ(contextStartAddress, walker->getPostSync().getDestinationAddress());
|
EXPECT_EQ(contextStartAddress, walker->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
auto secondWalkerItor = find<COMPUTE_WALKER *>(++hwParser.itorWalker, hwParser.cmdList.end());
|
auto secondWalkerItor = find<DefaultWalkerType *>(++hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
auto secondWalker = genCmdCast<COMPUTE_WALKER *>(*secondWalkerItor);
|
auto secondWalker = genCmdCast<DefaultWalkerType *>(*secondWalkerItor);
|
||||||
|
|
||||||
EXPECT_EQ(FamilyType::POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP, secondWalker->getPostSync().getOperation());
|
EXPECT_EQ(FamilyType::POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP, secondWalker->getPostSync().getOperation());
|
||||||
EXPECT_TRUE(secondWalker->getPostSync().getDataportPipelineFlush());
|
EXPECT_TRUE(secondWalker->getPostSync().getDataportPipelineFlush());
|
||||||
@@ -146,7 +146,7 @@ HWTEST2_F(Dg2AndLaterDispatchWalkerBasicTest, givenTimestampPacketWhenDispatchin
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWTEST2_F(Dg2AndLaterDispatchWalkerBasicTest, givenDebugVariableEnabledWhenEnqueueingThenWriteWalkerStamp, matcherDG2AndLater) {
|
HWTEST2_F(Dg2AndLaterDispatchWalkerBasicTest, givenDebugVariableEnabledWhenEnqueueingThenWriteWalkerStamp, matcherDG2AndLater) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
DebugManagerStateRestore restore;
|
DebugManagerStateRestore restore;
|
||||||
debugManager.flags.EnableTimestampPacket.set(true);
|
debugManager.flags.EnableTimestampPacket.set(true);
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ HWTEST2_F(Dg2AndLaterDispatchWalkerBasicTest, givenDebugVariableEnabledWhenEnque
|
|||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
|
|
||||||
auto gmmHelper = device->getGmmHelper();
|
auto gmmHelper = device->getGmmHelper();
|
||||||
auto expectedMocs = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getRootDeviceEnvironment()) ? gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED) : gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER);
|
auto expectedMocs = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getRootDeviceEnvironment()) ? gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED) : gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER);
|
||||||
|
|||||||
@@ -90,8 +90,8 @@ struct XeHPAndLaterDispatchWalkerBasicFixture : public LinearStreamFixture {
|
|||||||
using XeHPAndLaterDispatchWalkerBasicTest = Test<XeHPAndLaterDispatchWalkerBasicFixture>;
|
using XeHPAndLaterDispatchWalkerBasicTest = Test<XeHPAndLaterDispatchWalkerBasicFixture>;
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenWorkDimOneThenLocalWorkSizeEqualsLocalXDim) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenWorkDimOneThenLocalWorkSizeEqualsLocalXDim) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
auto localWorkSize = GpgpuWalkerHelper<FamilyType>::setGpgpuWalkerThreadData(
|
auto localWorkSize = GpgpuWalkerHelper<FamilyType>::setGpgpuWalkerThreadData(
|
||||||
@@ -109,8 +109,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenWorkDimOne
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenWorkDimTwoThenLocalWorkSizeEqualsProductLocalXandYDim) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenWorkDimTwoThenLocalWorkSizeEqualsProductLocalXandYDim) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
localWorkSizesIn[1] = 8;
|
localWorkSizesIn[1] = 8;
|
||||||
@@ -129,8 +129,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenWorkDimTwo
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenWorkDimThreeThenLocalWorkSizeEqualsProductLocalXandYandZDim) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenWorkDimThreeThenLocalWorkSizeEqualsProductLocalXandYandZDim) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
localWorkSizesIn[1] = 8;
|
localWorkSizesIn[1] = 8;
|
||||||
@@ -150,8 +150,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenWorkDimThr
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimOneWhenAskHwForLocalIdsThenExpectGenerationFieldsSet) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimOneWhenAskHwForLocalIdsThenExpectGenerationFieldsSet) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
kernel->kernelInfo.setLocalIds({1, 0, 0});
|
kernel->kernelInfo.setLocalIds({1, 0, 0});
|
||||||
@@ -174,8 +174,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimOn
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimTwoWhenOnlyYIdPresentAskHwForLocalIdsThenExpectGenerationFieldsSet) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimTwoWhenOnlyYIdPresentAskHwForLocalIdsThenExpectGenerationFieldsSet) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
kernel->kernelInfo.setLocalIds({0, 1, 0});
|
kernel->kernelInfo.setLocalIds({0, 1, 0});
|
||||||
@@ -199,8 +199,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimTw
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkThreeTwoWhenOnlyZIdPresentAskHwForLocalIdsThenExpectGenerationFieldsSet) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkThreeTwoWhenOnlyZIdPresentAskHwForLocalIdsThenExpectGenerationFieldsSet) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
kernel->kernelInfo.setLocalIds({0, 0, 1});
|
kernel->kernelInfo.setLocalIds({0, 0, 1});
|
||||||
@@ -224,8 +224,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkThree
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDifferentSIMDsizesWhenLocalIdsGeneratedThenMessageSizeIsSetToProperValue) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDifferentSIMDsizesWhenLocalIdsGeneratedThenMessageSizeIsSetToProperValue) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
kernel->kernelInfo.setLocalIds({0, 0, 1});
|
kernel->kernelInfo.setLocalIds({0, 0, 1});
|
||||||
@@ -249,8 +249,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDifferent
|
|||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDebugFlagWhenItIsSetThenMessageSimdIsOverwritten) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDebugFlagWhenItIsSetThenMessageSimdIsOverwritten) {
|
||||||
DebugManagerStateRestore restorer;
|
DebugManagerStateRestore restorer;
|
||||||
debugManager.flags.ForceSimdMessageSizeInWalker.set(1);
|
debugManager.flags.ForceSimdMessageSizeInWalker.set(1);
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
kernel->kernelInfo.setLocalIds({0, 0, 1});
|
kernel->kernelInfo.setLocalIds({0, 0, 1});
|
||||||
@@ -272,8 +272,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDebugFlag
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimTwoWhenAskHwForLocalIdsThenExpectGenerationFieldsSet) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimTwoWhenAskHwForLocalIdsThenExpectGenerationFieldsSet) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
|
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
@@ -297,8 +297,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimTw
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimThreeWhenAskHwForLocalIdsThenExpectGenerationFieldsSet) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimThreeWhenAskHwForLocalIdsThenExpectGenerationFieldsSet) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
kernel->kernelInfo.setLocalIds({1, 1, 1});
|
kernel->kernelInfo.setLocalIds({1, 1, 1});
|
||||||
@@ -321,8 +321,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimTh
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimThreeWhenAskHwForLocalIdsAndNoLocalIdsUsedThenExpectNoGenerationFieldsSet) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimThreeWhenAskHwForLocalIdsAndNoLocalIdsUsedThenExpectNoGenerationFieldsSet) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
kernel->kernelInfo.setLocalIds({0, 0, 0});
|
kernel->kernelInfo.setLocalIds({0, 0, 0});
|
||||||
@@ -343,8 +343,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimTh
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimThreeWhenNotAskHwForLocalIdsAndLocalIdsUsedThenExpectNoGenerationFieldsSet) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimThreeWhenNotAskHwForLocalIdsAndLocalIdsUsedThenExpectNoGenerationFieldsSet) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
kernel->kernelInfo.setLocalIds({1, 1, 1});
|
kernel->kernelInfo.setLocalIds({1, 1, 1});
|
||||||
@@ -365,8 +365,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimTh
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimOneWhenAskForInlineDataAndNoLocalIdsPresentThenExpectOnlyInlineFieldSet) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimOneWhenAskForInlineDataAndNoLocalIdsPresentThenExpectOnlyInlineFieldSet) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
GpgpuWalkerHelper<FamilyType>::setGpgpuWalkerThreadData(computeWalker, kernel->kernelInfo.kernelDescriptor, globalOffsets, startWorkGroups, numWorkGroups,
|
GpgpuWalkerHelper<FamilyType>::setGpgpuWalkerThreadData(computeWalker, kernel->kernelInfo.kernelDescriptor, globalOffsets, startWorkGroups, numWorkGroups,
|
||||||
@@ -382,8 +382,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimOn
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimOneWhenAskForInlineDataAndLocalIdsPresentThenExpectInlineAndDoNotExpectEmitLocalIdFieldSet) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimOneWhenAskForInlineDataAndLocalIdsPresentThenExpectInlineAndDoNotExpectEmitLocalIdFieldSet) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
kernel->kernelInfo.setLocalIds({1, 0, 0});
|
kernel->kernelInfo.setLocalIds({1, 0, 0});
|
||||||
@@ -402,8 +402,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimOn
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimThreeWhenAskForInlineDataAndLocalIdsPresentThenDoNotExpectEmitLocalIdFieldSetButExpectInlineSet) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimThreeWhenAskForInlineDataAndLocalIdsPresentThenDoNotExpectEmitLocalIdFieldSetButExpectInlineSet) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
kernel->kernelInfo.setLocalIds({1, 1, 1});
|
kernel->kernelInfo.setLocalIds({1, 1, 1});
|
||||||
@@ -421,8 +421,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimTh
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimThreeWhenAskHwForLocalIdsAndInlineDataThenExpectGenerationFieldsSet) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimThreeWhenAskHwForLocalIdsAndInlineDataThenExpectGenerationFieldsSet) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
COMPUTE_WALKER *computeWalker = static_cast<COMPUTE_WALKER *>(linearStream.getSpace(sizeof(COMPUTE_WALKER)));
|
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
kernel->kernelInfo.setLocalIds({1, 1, 1});
|
kernel->kernelInfo.setLocalIds({1, 1, 1});
|
||||||
@@ -446,7 +446,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenWorkDimTh
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenTimestampPacketWhenDispatchingThenProgramPostSyncData) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenTimestampPacketWhenDispatchingThenProgramPostSyncData) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
MockKernelWithInternals kernel1(*device);
|
MockKernelWithInternals kernel1(*device);
|
||||||
MockKernelWithInternals kernel2(*device);
|
MockKernelWithInternals kernel2(*device);
|
||||||
@@ -464,7 +464,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenTimestamp
|
|||||||
|
|
||||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||||
walkerArgs.currentTimestampPacketNodes = ×tampPacketContainer;
|
walkerArgs.currentTimestampPacketNodes = ×tampPacketContainer;
|
||||||
HardwareInterface<FamilyType>::template dispatchWalker<COMPUTE_WALKER>(
|
HardwareInterface<FamilyType>::template dispatchWalker<DefaultWalkerType>(
|
||||||
cmdQ,
|
cmdQ,
|
||||||
multiDispatchInfo,
|
multiDispatchInfo,
|
||||||
CsrDependencies(),
|
CsrDependencies(),
|
||||||
@@ -478,15 +478,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenTimestamp
|
|||||||
auto gmmHelper = device->getGmmHelper();
|
auto gmmHelper = device->getGmmHelper();
|
||||||
auto expectedMocs = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getRootDeviceEnvironment()) ? gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED) : gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER);
|
auto expectedMocs = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getRootDeviceEnvironment()) ? gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED) : gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER);
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
EXPECT_EQ(FamilyType::POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP, walker->getPostSync().getOperation());
|
EXPECT_EQ(FamilyType::POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP, walker->getPostSync().getOperation());
|
||||||
EXPECT_TRUE(walker->getPostSync().getDataportPipelineFlush());
|
EXPECT_TRUE(walker->getPostSync().getDataportPipelineFlush());
|
||||||
EXPECT_EQ(expectedMocs, walker->getPostSync().getMocs());
|
EXPECT_EQ(expectedMocs, walker->getPostSync().getMocs());
|
||||||
auto contextStartAddress = TimestampPacketHelper::getContextStartGpuAddress(*timestampPacketContainer.peekNodes()[0]);
|
auto contextStartAddress = TimestampPacketHelper::getContextStartGpuAddress(*timestampPacketContainer.peekNodes()[0]);
|
||||||
EXPECT_EQ(contextStartAddress, walker->getPostSync().getDestinationAddress());
|
EXPECT_EQ(contextStartAddress, walker->getPostSync().getDestinationAddress());
|
||||||
|
|
||||||
auto secondWalkerItor = find<COMPUTE_WALKER *>(++hwParser.itorWalker, hwParser.cmdList.end());
|
auto secondWalkerItor = find<DefaultWalkerType *>(++hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
auto secondWalker = genCmdCast<COMPUTE_WALKER *>(*secondWalkerItor);
|
auto secondWalker = genCmdCast<DefaultWalkerType *>(*secondWalkerItor);
|
||||||
|
|
||||||
EXPECT_EQ(FamilyType::POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP, secondWalker->getPostSync().getOperation());
|
EXPECT_EQ(FamilyType::POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP, secondWalker->getPostSync().getOperation());
|
||||||
EXPECT_TRUE(secondWalker->getPostSync().getDataportPipelineFlush());
|
EXPECT_TRUE(secondWalker->getPostSync().getDataportPipelineFlush());
|
||||||
@@ -496,7 +496,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenTimestamp
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDebugVariableEnabledWhenEnqueueingThenWriteWalkerStamp) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDebugVariableEnabledWhenEnqueueingThenWriteWalkerStamp) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
debugManager.flags.EnableTimestampPacket.set(true);
|
debugManager.flags.EnableTimestampPacket.set(true);
|
||||||
|
|
||||||
auto testDevice = std::make_unique<MockClDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(defaultHwInfo.get()));
|
auto testDevice = std::make_unique<MockClDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(defaultHwInfo.get()));
|
||||||
@@ -513,7 +513,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDebugVari
|
|||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
|
|
||||||
auto gmmHelper = device->getGmmHelper();
|
auto gmmHelper = device->getGmmHelper();
|
||||||
auto expectedMocs = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getRootDeviceEnvironment()) ? gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED) : gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER);
|
auto expectedMocs = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getRootDeviceEnvironment()) ? gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED) : gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER);
|
||||||
@@ -526,7 +526,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDebugVari
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDebugVariableEnabledWhenMocsValueIsOverwrittenThenPostSyncContainsProperSetting) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDebugVariableEnabledWhenMocsValueIsOverwrittenThenPostSyncContainsProperSetting) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
auto mocsValue = 8u;
|
auto mocsValue = 8u;
|
||||||
debugManager.flags.EnableTimestampPacket.set(true);
|
debugManager.flags.EnableTimestampPacket.set(true);
|
||||||
debugManager.flags.OverridePostSyncMocs.set(mocsValue);
|
debugManager.flags.OverridePostSyncMocs.set(mocsValue);
|
||||||
@@ -545,7 +545,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDebugVari
|
|||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
|
|
||||||
auto &postSyncData = walker->getPostSync();
|
auto &postSyncData = walker->getPostSync();
|
||||||
EXPECT_EQ(mocsValue, postSyncData.getMocs());
|
EXPECT_EQ(mocsValue, postSyncData.getMocs());
|
||||||
@@ -591,7 +591,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDebugVari
|
|||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
|
|
||||||
auto walker = genCmdCast<typename FamilyType::COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<typename FamilyType::DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
auto &postSyncData = walker->getPostSync();
|
auto &postSyncData = walker->getPostSync();
|
||||||
EXPECT_EQ(FamilyType::POSTSYNC_DATA::OPERATION::OPERATION_WRITE_IMMEDIATE_DATA,
|
EXPECT_EQ(FamilyType::POSTSYNC_DATA::OPERATION::OPERATION_WRITE_IMMEDIATE_DATA,
|
||||||
postSyncData.getOperation());
|
postSyncData.getOperation());
|
||||||
@@ -614,12 +614,12 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenDebugVari
|
|||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
|
|
||||||
auto walker = genCmdCast<typename FamilyType::COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<typename FamilyType::DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
EXPECT_TRUE(walker->getSystolicModeEnable());
|
EXPECT_TRUE(walker->getSystolicModeEnable());
|
||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenAutoLocalIdsGenerationEnabledWhenDispatchMeetCriteriaThenExpectNoLocalIdsAndProperIsaAddress) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenAutoLocalIdsGenerationEnabledWhenDispatchMeetCriteriaThenExpectNoLocalIdsAndProperIsaAddress) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||||
|
|
||||||
debugManager.flags.EnableHwGenerationLocalIds.set(1);
|
debugManager.flags.EnableHwGenerationLocalIds.set(1);
|
||||||
@@ -656,13 +656,13 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenAutoLocal
|
|||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
EXPECT_EQ(COMPUTE_WALKER::DWORD_LENGTH_FIXED_SIZE, walker->getDwordLength());
|
EXPECT_EQ(DefaultWalkerType::DWORD_LENGTH_FIXED_SIZE, walker->getDwordLength());
|
||||||
EXPECT_EQ(0u, walker->getEmitInlineParameter());
|
EXPECT_EQ(0u, walker->getEmitInlineParameter());
|
||||||
|
|
||||||
EXPECT_EQ(1u, walker->getGenerateLocalId());
|
EXPECT_EQ(1u, walker->getGenerateLocalId());
|
||||||
EXPECT_EQ(1u, walker->getEmitLocalId());
|
EXPECT_EQ(1u, walker->getEmitLocalId());
|
||||||
uint32_t expectedIndirectDataLength = alignUp(kernel->mockKernel->getCrossThreadDataSize(), COMPUTE_WALKER::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
uint32_t expectedIndirectDataLength = alignUp(kernel->mockKernel->getCrossThreadDataSize(), DefaultWalkerType::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
||||||
EXPECT_EQ(expectedIndirectDataLength, walker->getIndirectDataLength());
|
EXPECT_EQ(expectedIndirectDataLength, walker->getIndirectDataLength());
|
||||||
|
|
||||||
INTERFACE_DESCRIPTOR_DATA &idd = walker->getInterfaceDescriptor();
|
INTERFACE_DESCRIPTOR_DATA &idd = walker->getInterfaceDescriptor();
|
||||||
@@ -681,7 +681,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenAutoLocal
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlineDataEnabledWhenLocalIdsUsedThenDoNotExpectCrossThreadDataInWalkerEmitLocalFieldSet) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlineDataEnabledWhenLocalIdsUsedThenDoNotExpectCrossThreadDataInWalkerEmitLocalFieldSet) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||||
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
||||||
|
|
||||||
@@ -718,7 +718,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlin
|
|||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
||||||
|
|
||||||
EXPECT_EQ(0u, walker->getGenerateLocalId());
|
EXPECT_EQ(0u, walker->getGenerateLocalId());
|
||||||
@@ -732,7 +732,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlin
|
|||||||
sizePerThreadData = std::max(sizePerThreadData, sizeGrf);
|
sizePerThreadData = std::max(sizePerThreadData, sizeGrf);
|
||||||
size_t perThreadTotalDataSize = getThreadsPerWG(simd, static_cast<uint32_t>(lws[0])) * sizePerThreadData;
|
size_t perThreadTotalDataSize = getThreadsPerWG(simd, static_cast<uint32_t>(lws[0])) * sizePerThreadData;
|
||||||
|
|
||||||
uint32_t expectedIndirectDataLength = alignUp(static_cast<uint32_t>(perThreadTotalDataSize), COMPUTE_WALKER::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
uint32_t expectedIndirectDataLength = alignUp(static_cast<uint32_t>(perThreadTotalDataSize), DefaultWalkerType::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
||||||
EXPECT_EQ(expectedIndirectDataLength, walker->getIndirectDataLength());
|
EXPECT_EQ(expectedIndirectDataLength, walker->getIndirectDataLength());
|
||||||
|
|
||||||
INTERFACE_DESCRIPTOR_DATA &idd = walker->getInterfaceDescriptor();
|
INTERFACE_DESCRIPTOR_DATA &idd = walker->getInterfaceDescriptor();
|
||||||
@@ -749,7 +749,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlin
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenExecutionMaskWithoutReminderWhenProgrammingWalkerThenSetValidNumberOfBitsInMask) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenExecutionMaskWithoutReminderWhenProgrammingWalkerThenSetValidNumberOfBitsInMask) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
auto cmdQ = std::make_unique<MockCommandQueueHw<FamilyType>>(context.get(), device.get(), nullptr);
|
auto cmdQ = std::make_unique<MockCommandQueueHw<FamilyType>>(context.get(), device.get(), nullptr);
|
||||||
std::array<uint32_t, 4> testedSimd = {{1, 8, 16, 32}};
|
std::array<uint32_t, 4> testedSimd = {{1, 8, 16, 32}};
|
||||||
@@ -770,7 +770,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenExecution
|
|||||||
hwParser.parseCommands<FamilyType>(cmdQ->getCS(0), streamOffset);
|
hwParser.parseCommands<FamilyType>(cmdQ->getCS(0), streamOffset);
|
||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
if (isSimd1(simd)) {
|
if (isSimd1(simd)) {
|
||||||
EXPECT_EQ(maxNBitValue(32), walker->getExecutionMask());
|
EXPECT_EQ(maxNBitValue(32), walker->getExecutionMask());
|
||||||
} else {
|
} else {
|
||||||
@@ -780,7 +780,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenExecution
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlineDataEnabledWhenLocalIdsUsedAndCrossThreadIsTwoGrfsThenExpectFirstCrossThreadDataInWalkerSecondInPayloadWithPerThread) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlineDataEnabledWhenLocalIdsUsedAndCrossThreadIsTwoGrfsThenExpectFirstCrossThreadDataInWalkerSecondInPayloadWithPerThread) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
||||||
|
|
||||||
debugManager.flags.EnablePassInlineData.set(true);
|
debugManager.flags.EnablePassInlineData.set(true);
|
||||||
@@ -819,7 +819,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlin
|
|||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
||||||
|
|
||||||
EXPECT_EQ(0u, walker->getGenerateLocalId());
|
EXPECT_EQ(0u, walker->getGenerateLocalId());
|
||||||
@@ -840,14 +840,14 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlin
|
|||||||
|
|
||||||
// second GRF in indirect
|
// second GRF in indirect
|
||||||
uint32_t expectedIndirectDataLength = sizePerThreadData + crossThreadDataSize;
|
uint32_t expectedIndirectDataLength = sizePerThreadData + crossThreadDataSize;
|
||||||
expectedIndirectDataLength = alignUp(expectedIndirectDataLength, COMPUTE_WALKER::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
expectedIndirectDataLength = alignUp(expectedIndirectDataLength, DefaultWalkerType::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
||||||
EXPECT_EQ(expectedIndirectDataLength, walker->getIndirectDataLength());
|
EXPECT_EQ(expectedIndirectDataLength, walker->getIndirectDataLength());
|
||||||
|
|
||||||
memoryManager->freeGraphicsMemory(kernel->kernelInfo.kernelAllocation);
|
memoryManager->freeGraphicsMemory(kernel->kernelInfo.kernelAllocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenKernelWithoutLocalIdsAndPassInlineDataEnabledWhenNoHWGenerationOfLocalIdsUsedThenExpectCrossThreadDataInWalkerAndNoEmitLocalFieldSet) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenKernelWithoutLocalIdsAndPassInlineDataEnabledWhenNoHWGenerationOfLocalIdsUsedThenExpectCrossThreadDataInWalkerAndNoEmitLocalFieldSet) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
||||||
|
|
||||||
debugManager.flags.EnablePassInlineData.set(true);
|
debugManager.flags.EnablePassInlineData.set(true);
|
||||||
@@ -873,7 +873,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenKernelWit
|
|||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
||||||
|
|
||||||
EXPECT_EQ(0u, walker->getGenerateLocalId());
|
EXPECT_EQ(0u, walker->getGenerateLocalId());
|
||||||
@@ -883,14 +883,14 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenKernelWit
|
|||||||
|
|
||||||
size_t perThreadTotalDataSize = 0U;
|
size_t perThreadTotalDataSize = 0U;
|
||||||
uint32_t expectedIndirectDataLength = static_cast<uint32_t>(perThreadTotalDataSize);
|
uint32_t expectedIndirectDataLength = static_cast<uint32_t>(perThreadTotalDataSize);
|
||||||
expectedIndirectDataLength = alignUp(expectedIndirectDataLength, COMPUTE_WALKER::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
expectedIndirectDataLength = alignUp(expectedIndirectDataLength, DefaultWalkerType::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
||||||
EXPECT_EQ(expectedIndirectDataLength, walker->getIndirectDataLength());
|
EXPECT_EQ(expectedIndirectDataLength, walker->getIndirectDataLength());
|
||||||
|
|
||||||
memoryManager->freeGraphicsMemory(kernel->kernelInfo.kernelAllocation);
|
memoryManager->freeGraphicsMemory(kernel->kernelInfo.kernelAllocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlineDataEnabledWhenNoLocalIdsUsedAndCrossThreadIsTwoGrfsThenExpectFirstCrossThreadDataInWalkerSecondInPayload) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlineDataEnabledWhenNoLocalIdsUsedAndCrossThreadIsTwoGrfsThenExpectFirstCrossThreadDataInWalkerSecondInPayload) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
||||||
|
|
||||||
debugManager.flags.EnablePassInlineData.set(true);
|
debugManager.flags.EnablePassInlineData.set(true);
|
||||||
@@ -917,7 +917,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlin
|
|||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
||||||
|
|
||||||
EXPECT_EQ(0u, walker->getGenerateLocalId());
|
EXPECT_EQ(0u, walker->getGenerateLocalId());
|
||||||
@@ -931,14 +931,14 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlin
|
|||||||
|
|
||||||
// second GRF in indirect
|
// second GRF in indirect
|
||||||
uint32_t expectedIndirectDataLength = static_cast<uint32_t>(perThreadTotalDataSize + sizeof(INLINE_DATA));
|
uint32_t expectedIndirectDataLength = static_cast<uint32_t>(perThreadTotalDataSize + sizeof(INLINE_DATA));
|
||||||
expectedIndirectDataLength = alignUp(expectedIndirectDataLength, COMPUTE_WALKER::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
expectedIndirectDataLength = alignUp(expectedIndirectDataLength, DefaultWalkerType::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
||||||
EXPECT_EQ(expectedIndirectDataLength, walker->getIndirectDataLength());
|
EXPECT_EQ(expectedIndirectDataLength, walker->getIndirectDataLength());
|
||||||
|
|
||||||
memoryManager->freeGraphicsMemory(kernel->kernelInfo.kernelAllocation);
|
memoryManager->freeGraphicsMemory(kernel->kernelInfo.kernelAllocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenAllChannelsActiveWithWorkDimOneDimensionThenHwGenerationIsEnabledWithOverwrittenWalkOrder) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenAllChannelsActiveWithWorkDimOneDimensionThenHwGenerationIsEnabledWithOverwrittenWalkOrder) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
debugManager.flags.EnableHwGenerationLocalIds.set(true);
|
debugManager.flags.EnableHwGenerationLocalIds.set(true);
|
||||||
|
|
||||||
@@ -965,7 +965,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenAllChanne
|
|||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
|
|
||||||
EXPECT_EQ(1u, walker->getGenerateLocalId());
|
EXPECT_EQ(1u, walker->getGenerateLocalId());
|
||||||
EXPECT_EQ(7u, walker->getEmitLocalId());
|
EXPECT_EQ(7u, walker->getEmitLocalId());
|
||||||
@@ -975,7 +975,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenAllChanne
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlineDataAndHwLocalIdsGenerationEnabledWhenLocalIdsUsedThenExpectCrossThreadDataInWalkerAndEmitFields) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlineDataAndHwLocalIdsGenerationEnabledWhenLocalIdsUsedThenExpectCrossThreadDataInWalkerAndEmitFields) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||||
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
||||||
|
|
||||||
@@ -1006,7 +1006,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlin
|
|||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
||||||
|
|
||||||
EXPECT_EQ(1u, walker->getGenerateLocalId());
|
EXPECT_EQ(1u, walker->getGenerateLocalId());
|
||||||
@@ -1028,7 +1028,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlin
|
|||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlineDataAndHwLocalIdsGenerationEnabledWhenLocalIdsNotUsedThenExpectCrossThreadDataInWalkerAndNoHwLocalIdGeneration) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlineDataAndHwLocalIdsGenerationEnabledWhenLocalIdsNotUsedThenExpectCrossThreadDataInWalkerAndNoHwLocalIdGeneration) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||||
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
||||||
|
|
||||||
@@ -1059,7 +1059,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenPassInlin
|
|||||||
hwParser.findHardwareCommands<FamilyType>();
|
hwParser.findHardwareCommands<FamilyType>();
|
||||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||||
|
|
||||||
auto walker = genCmdCast<COMPUTE_WALKER *>(*hwParser.itorWalker);
|
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||||
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
||||||
|
|
||||||
EXPECT_EQ(0u, walker->getGenerateLocalId());
|
EXPECT_EQ(0u, walker->getGenerateLocalId());
|
||||||
@@ -1208,7 +1208,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenWalkerPart
|
|||||||
DispatchInfo dispatchInfo{};
|
DispatchInfo dispatchInfo{};
|
||||||
dispatchInfo.setNumberOfWorkgroups({32, 1, 1});
|
dispatchInfo.setNumberOfWorkgroups({32, 1, 1});
|
||||||
|
|
||||||
auto baseSize = sizeof(typename FamilyType::COMPUTE_WALKER) +
|
auto baseSize = sizeof(typename FamilyType::DefaultWalkerType) +
|
||||||
(sizeof(typename FamilyType::PIPE_CONTROL) * numPipeControls) +
|
(sizeof(typename FamilyType::PIPE_CONTROL) * numPipeControls) +
|
||||||
HardwareCommandsHelper<FamilyType>::getSizeRequiredCS() +
|
HardwareCommandsHelper<FamilyType>::getSizeRequiredCS() +
|
||||||
EncodeMemoryPrefetch<FamilyType>::getSizeForMemoryPrefetch(kernel->kernelInfo.heapInfo.kernelHeapSize, device->getRootDeviceEnvironment());
|
EncodeMemoryPrefetch<FamilyType>::getSizeForMemoryPrefetch(kernel->kernelInfo.heapInfo.kernelHeapSize, device->getRootDeviceEnvironment());
|
||||||
@@ -1225,7 +1225,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenPipeContro
|
|||||||
|
|
||||||
size_t numPipeControls = MemorySynchronizationCommands<FamilyType>::isBarrierWaRequired(device->getRootDeviceEnvironment()) ? 2 : 1;
|
size_t numPipeControls = MemorySynchronizationCommands<FamilyType>::isBarrierWaRequired(device->getRootDeviceEnvironment()) ? 2 : 1;
|
||||||
|
|
||||||
auto baseSize = sizeof(typename FamilyType::COMPUTE_WALKER) +
|
auto baseSize = sizeof(typename FamilyType::DefaultWalkerType) +
|
||||||
(sizeof(typename FamilyType::PIPE_CONTROL) * numPipeControls) +
|
(sizeof(typename FamilyType::PIPE_CONTROL) * numPipeControls) +
|
||||||
HardwareCommandsHelper<FamilyType>::getSizeRequiredCS() +
|
HardwareCommandsHelper<FamilyType>::getSizeRequiredCS() +
|
||||||
EncodeMemoryPrefetch<FamilyType>::getSizeForMemoryPrefetch(kernel->kernelInfo.heapInfo.kernelHeapSize, device->getRootDeviceEnvironment());
|
EncodeMemoryPrefetch<FamilyType>::getSizeForMemoryPrefetch(kernel->kernelInfo.heapInfo.kernelHeapSize, device->getRootDeviceEnvironment());
|
||||||
@@ -1313,9 +1313,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenProgramWal
|
|||||||
|
|
||||||
ClHardwareParse hwParser;
|
ClHardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ);
|
hwParser.parseCommands<FamilyType>(*cmdQ);
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenProgramWalkerIsCalledAndForceSynchronizeWalkerInWpariModeThenWalkerPartitionLogicIsExecuted) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenProgramWalkerIsCalledAndForceSynchronizeWalkerInWpariModeThenWalkerPartitionLogicIsExecuted) {
|
||||||
@@ -1332,9 +1332,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenProgramWal
|
|||||||
|
|
||||||
ClHardwareParse hwParser;
|
ClHardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ);
|
hwParser.parseCommands<FamilyType>(*cmdQ);
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenProgramWalkerIsCalledWithPartitionLogicDisabledThenWalkerPartitionLogicIsNotExecuted) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenProgramWalkerIsCalledWithPartitionLogicDisabledThenWalkerPartitionLogicIsNotExecuted) {
|
||||||
@@ -1350,9 +1350,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenProgramWal
|
|||||||
|
|
||||||
ClHardwareParse hwParser;
|
ClHardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ);
|
hwParser.parseCommands<FamilyType>(*cmdQ);
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_DISABLED, computeWalker->getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_DISABLED, computeWalker->getPartitionType());
|
||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenQueueIsCreatedWithMultiEngineSupportAndEnqueueIsDoneThenWalkerIsPartitioned) {
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenQueueIsCreatedWithMultiEngineSupportAndEnqueueIsDoneThenWalkerIsPartitioned) {
|
||||||
@@ -1369,9 +1369,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenQueueIsCre
|
|||||||
|
|
||||||
ClHardwareParse hwParser;
|
ClHardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ);
|
hwParser.parseCommands<FamilyType>(*cmdQ);
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
||||||
EXPECT_EQ(64u, computeWalker->getPartitionSize());
|
EXPECT_EQ(64u, computeWalker->getPartitionSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1389,11 +1389,11 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenProgramWal
|
|||||||
|
|
||||||
ClHardwareParse hwParser;
|
ClHardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ);
|
hwParser.parseCommands<FamilyType>(*cmdQ);
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
auto timestampPacket = cmdQ->timestampPacketContainer->peekNodes().at(0);
|
auto timestampPacket = cmdQ->timestampPacketContainer->peekNodes().at(0);
|
||||||
auto expectedPartitionCount = timestampPacket->getPacketsUsed();
|
auto expectedPartitionCount = timestampPacket->getPacketsUsed();
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_Y, computeWalker->getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_Y, computeWalker->getPartitionType());
|
||||||
EXPECT_EQ(1u, computeWalker->getPartitionSize());
|
EXPECT_EQ(1u, computeWalker->getPartitionSize());
|
||||||
EXPECT_EQ(expectedPartitionCount, static_cast<unsigned int>(debugManager.flags.ExperimentalSetWalkerPartitionCount.get()));
|
EXPECT_EQ(expectedPartitionCount, static_cast<unsigned int>(debugManager.flags.ExperimentalSetWalkerPartitionCount.get()));
|
||||||
}
|
}
|
||||||
@@ -1409,9 +1409,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenProgramWal
|
|||||||
|
|
||||||
ClHardwareParse hwParser;
|
ClHardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ);
|
hwParser.parseCommands<FamilyType>(*cmdQ);
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_DISABLED, computeWalker->getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_DISABLED, computeWalker->getPartitionType());
|
||||||
EXPECT_EQ(0u, computeWalker->getPartitionSize());
|
EXPECT_EQ(0u, computeWalker->getPartitionSize());
|
||||||
EXPECT_FALSE(computeWalker->getWorkloadPartitionEnable());
|
EXPECT_FALSE(computeWalker->getWorkloadPartitionEnable());
|
||||||
}
|
}
|
||||||
@@ -1428,9 +1428,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenThereIsNoL
|
|||||||
|
|
||||||
ClHardwareParse hwParser;
|
ClHardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ);
|
hwParser.parseCommands<FamilyType>(*cmdQ);
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_DISABLED, computeWalker->getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_DISABLED, computeWalker->getPartitionType());
|
||||||
EXPECT_EQ(0u, computeWalker->getPartitionSize());
|
EXPECT_EQ(0u, computeWalker->getPartitionSize());
|
||||||
EXPECT_FALSE(computeWalker->getWorkloadPartitionEnable());
|
EXPECT_FALSE(computeWalker->getWorkloadPartitionEnable());
|
||||||
}
|
}
|
||||||
@@ -1453,9 +1453,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, whenEnqueueIsB
|
|||||||
HardwareParse hwParser;
|
HardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ->getUltCommandStreamReceiver().lastFlushedCommandStream);
|
hwParser.parseCommands<FamilyType>(*cmdQ->getUltCommandStreamReceiver().lastFlushedCommandStream);
|
||||||
hwParser.findHardwareCommands<FamilyType>(&cmdQ->getGpgpuCommandStreamReceiver().getIndirectHeap(IndirectHeap::Type::dynamicState, 0));
|
hwParser.findHardwareCommands<FamilyType>(&cmdQ->getGpgpuCommandStreamReceiver().getIndirectHeap(IndirectHeap::Type::dynamicState, 0));
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_Y, computeWalker->getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_Y, computeWalker->getPartitionType());
|
||||||
EXPECT_EQ(1u, computeWalker->getPartitionSize());
|
EXPECT_EQ(1u, computeWalker->getPartitionSize());
|
||||||
EXPECT_TRUE(computeWalker->getWorkloadPartitionEnable());
|
EXPECT_TRUE(computeWalker->getWorkloadPartitionEnable());
|
||||||
|
|
||||||
@@ -1493,9 +1493,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTest, givenOpenClWhe
|
|||||||
|
|
||||||
ClHardwareParse hwParser;
|
ClHardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ);
|
hwParser.parseCommands<FamilyType>(*cmdQ);
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
||||||
EXPECT_EQ(8u, computeWalker->getPartitionSize());
|
EXPECT_EQ(8u, computeWalker->getPartitionSize());
|
||||||
|
|
||||||
GenCmdList storeDataImmList = hwParser.getCommandsList<MI_STORE_DATA_IMM>();
|
GenCmdList storeDataImmList = hwParser.getCommandsList<MI_STORE_DATA_IMM>();
|
||||||
@@ -1530,9 +1530,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTestDynamicPartition
|
|||||||
|
|
||||||
ClHardwareParse hwParser;
|
ClHardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ);
|
hwParser.parseCommands<FamilyType>(*cmdQ);
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
||||||
EXPECT_EQ(8u, computeWalker->getPartitionSize());
|
EXPECT_EQ(8u, computeWalker->getPartitionSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1564,15 +1564,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTestStaticPartition,
|
|||||||
|
|
||||||
ClHardwareParse hwParser;
|
ClHardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ);
|
hwParser.parseCommands<FamilyType>(*cmdQ);
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
||||||
EXPECT_EQ(8u, computeWalker->getPartitionSize());
|
EXPECT_EQ(8u, computeWalker->getPartitionSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTestStaticPartition,
|
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTestStaticPartition,
|
||||||
givenStaticPartitioningWhenEnqueueingNonUnifromKernelThenMultipleActivePartitionsAreSetInCsrAndWparidRegisterIsReconfiguredToStatic) {
|
givenStaticPartitioningWhenEnqueueingNonUnifromKernelThenMultipleActivePartitionsAreSetInCsrAndWparidRegisterIsReconfiguredToStatic) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
using MI_LOAD_REGISTER_MEM = typename FamilyType::MI_LOAD_REGISTER_MEM;
|
using MI_LOAD_REGISTER_MEM = typename FamilyType::MI_LOAD_REGISTER_MEM;
|
||||||
if (!OSInterface::osEnableLocalMemory) {
|
if (!OSInterface::osEnableLocalMemory) {
|
||||||
GTEST_SKIP();
|
GTEST_SKIP();
|
||||||
@@ -1590,19 +1590,19 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTestStaticPartition,
|
|||||||
HardwareParse hwParser;
|
HardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ->commandStream);
|
hwParser.parseCommands<FamilyType>(*cmdQ->commandStream);
|
||||||
|
|
||||||
auto firstComputeWalkerItor = find<COMPUTE_WALKER *>(hwParser.cmdList.begin(), hwParser.cmdList.end());
|
auto firstComputeWalkerItor = find<DefaultWalkerType *>(hwParser.cmdList.begin(), hwParser.cmdList.end());
|
||||||
ASSERT_NE(hwParser.cmdList.end(), firstComputeWalkerItor);
|
ASSERT_NE(hwParser.cmdList.end(), firstComputeWalkerItor);
|
||||||
auto computeWalker = reinterpret_cast<COMPUTE_WALKER *>(*firstComputeWalkerItor);
|
auto computeWalker = reinterpret_cast<DefaultWalkerType *>(*firstComputeWalkerItor);
|
||||||
EXPECT_EQ(COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
||||||
EXPECT_EQ(8u, computeWalker->getPartitionSize());
|
EXPECT_EQ(8u, computeWalker->getPartitionSize());
|
||||||
|
|
||||||
auto nextCmdItor = firstComputeWalkerItor;
|
auto nextCmdItor = firstComputeWalkerItor;
|
||||||
++nextCmdItor;
|
++nextCmdItor;
|
||||||
|
|
||||||
auto secondComputeWalkerItor = find<COMPUTE_WALKER *>(nextCmdItor, hwParser.cmdList.end());
|
auto secondComputeWalkerItor = find<DefaultWalkerType *>(nextCmdItor, hwParser.cmdList.end());
|
||||||
ASSERT_NE(hwParser.cmdList.end(), secondComputeWalkerItor);
|
ASSERT_NE(hwParser.cmdList.end(), secondComputeWalkerItor);
|
||||||
computeWalker = reinterpret_cast<COMPUTE_WALKER *>(*secondComputeWalkerItor);
|
computeWalker = reinterpret_cast<DefaultWalkerType *>(*secondComputeWalkerItor);
|
||||||
EXPECT_EQ(COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_DISABLED, computeWalker->getPartitionType());
|
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_DISABLED, computeWalker->getPartitionType());
|
||||||
|
|
||||||
auto workPartitionAllocationGpuVa = commandStreamReceiver.getWorkPartitionAllocationGpuAddress();
|
auto workPartitionAllocationGpuVa = commandStreamReceiver.getWorkPartitionAllocationGpuAddress();
|
||||||
auto expectedRegister = 0x221Cu;
|
auto expectedRegister = 0x221Cu;
|
||||||
@@ -1625,7 +1625,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, NonDefaultPlatformGpuWalkerTest, givenNonDefaultPla
|
|||||||
TagNode<TimestampPackets<uint32_t, TimestampPacketConstants::preferredPacketCount>> timestamp;
|
TagNode<TimestampPackets<uint32_t, TimestampPacketConstants::preferredPacketCount>> timestamp;
|
||||||
ClHardwareParse hwParser;
|
ClHardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ);
|
hwParser.parseCommands<FamilyType>(*cmdQ);
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
|
|
||||||
platformsImpl->clear();
|
platformsImpl->clear();
|
||||||
@@ -1937,9 +1937,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerTestMultiTileDevice, give
|
|||||||
|
|
||||||
ClHardwareParse hwParser;
|
ClHardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ);
|
hwParser.parseCommands<FamilyType>(*cmdQ);
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
||||||
EXPECT_EQ(2u, computeWalker->getPartitionSize());
|
EXPECT_EQ(2u, computeWalker->getPartitionSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1958,8 +1958,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerTestMultiTileDevice, give
|
|||||||
|
|
||||||
ClHardwareParse hwParser;
|
ClHardwareParse hwParser;
|
||||||
hwParser.parseCommands<FamilyType>(*cmdQ);
|
hwParser.parseCommands<FamilyType>(*cmdQ);
|
||||||
auto computeWalker = reinterpret_cast<typename FamilyType::COMPUTE_WALKER *>(hwParser.cmdWalker);
|
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
|
||||||
ASSERT_NE(nullptr, computeWalker);
|
ASSERT_NE(nullptr, computeWalker);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, computeWalker->getPartitionType());
|
||||||
EXPECT_EQ(1u, computeWalker->getPartitionSize());
|
EXPECT_EQ(1u, computeWalker->getPartitionSize());
|
||||||
}
|
}
|
||||||
@@ -932,7 +932,7 @@ size_t EncodeStates<Family>::getSshHeapSize() {
|
|||||||
|
|
||||||
template <typename Family>
|
template <typename Family>
|
||||||
void InOrderPatchCommandHelpers::PatchCmd<Family>::patchComputeWalker(uint64_t appendCounterValue) {
|
void InOrderPatchCommandHelpers::PatchCmd<Family>::patchComputeWalker(uint64_t appendCounterValue) {
|
||||||
auto walkerCmd = reinterpret_cast<typename Family::COMPUTE_WALKER *>(cmd1);
|
auto walkerCmd = reinterpret_cast<typename Family::DefaultWalkerType *>(cmd1);
|
||||||
auto &postSync = walkerCmd->getPostSync();
|
auto &postSync = walkerCmd->getPostSync();
|
||||||
postSync.setImmediateData(baseCounterValue + appendCounterValue);
|
postSync.setImmediateData(baseCounterValue + appendCounterValue);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2021-2023 Intel Corporation
|
* Copyright (C) 2021-2024 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@@ -127,16 +127,15 @@ namespace NEO {
|
|||||||
|
|
||||||
template <>
|
template <>
|
||||||
void HardwareParse::findHardwareCommands<GenGfxFamily>(IndirectHeap *dsh) {
|
void HardwareParse::findHardwareCommands<GenGfxFamily>(IndirectHeap *dsh) {
|
||||||
typedef typename GenGfxFamily::COMPUTE_WALKER COMPUTE_WALKER;
|
typedef typename GenGfxFamily::DefaultWalkerType DefaultWalkerType;
|
||||||
typedef typename GenGfxFamily::CFE_STATE CFE_STATE;
|
typedef typename GenGfxFamily::CFE_STATE CFE_STATE;
|
||||||
typedef typename GenGfxFamily::PIPELINE_SELECT PIPELINE_SELECT;
|
typedef typename GenGfxFamily::PIPELINE_SELECT PIPELINE_SELECT;
|
||||||
typedef typename GenGfxFamily::STATE_BASE_ADDRESS STATE_BASE_ADDRESS;
|
typedef typename GenGfxFamily::STATE_BASE_ADDRESS STATE_BASE_ADDRESS;
|
||||||
typedef typename GenGfxFamily::INTERFACE_DESCRIPTOR_DATA INTERFACE_DESCRIPTOR_DATA;
|
|
||||||
typedef typename GenGfxFamily::MI_BATCH_BUFFER_START MI_BATCH_BUFFER_START;
|
typedef typename GenGfxFamily::MI_BATCH_BUFFER_START MI_BATCH_BUFFER_START;
|
||||||
typedef typename GenGfxFamily::MI_LOAD_REGISTER_IMM MI_LOAD_REGISTER_IMM;
|
typedef typename GenGfxFamily::MI_LOAD_REGISTER_IMM MI_LOAD_REGISTER_IMM;
|
||||||
using _3DSTATE_BINDING_TABLE_POOL_ALLOC = typename GenGfxFamily::_3DSTATE_BINDING_TABLE_POOL_ALLOC;
|
using _3DSTATE_BINDING_TABLE_POOL_ALLOC = typename GenGfxFamily::_3DSTATE_BINDING_TABLE_POOL_ALLOC;
|
||||||
|
|
||||||
itorWalker = find<COMPUTE_WALKER *>(cmdList.begin(), cmdList.end());
|
itorWalker = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||||
if (itorWalker != cmdList.end()) {
|
if (itorWalker != cmdList.end()) {
|
||||||
cmdWalker = *itorWalker;
|
cmdWalker = *itorWalker;
|
||||||
}
|
}
|
||||||
@@ -191,20 +190,20 @@ void HardwareParse::findHardwareCommands<GenGfxFamily>(IndirectHeap *dsh) {
|
|||||||
cmdBindingTableBaseAddress = *itorBindingTableBaseAddress;
|
cmdBindingTableBaseAddress = *itorBindingTableBaseAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
// interfaceDescriptorData should be located within COMPUTE_WALKER
|
// interfaceDescriptorData should be located within DefaultWalkerType
|
||||||
if (cmdWalker) {
|
if (cmdWalker) {
|
||||||
// Extract the interfaceDescriptorData
|
// Extract the interfaceDescriptorData
|
||||||
INTERFACE_DESCRIPTOR_DATA &idd = reinterpret_cast<COMPUTE_WALKER *>(cmdWalker)->getInterfaceDescriptor();
|
auto &idd = reinterpret_cast<DefaultWalkerType *>(cmdWalker)->getInterfaceDescriptor();
|
||||||
cmdInterfaceDescriptorData = &idd;
|
cmdInterfaceDescriptorData = &idd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
const void *HardwareParse::getStatelessArgumentPointer<GenGfxFamily>(const KernelInfo &kernelInfo, uint32_t indexArg, IndirectHeap &ioh, uint32_t rootDeviceIndex) {
|
const void *HardwareParse::getStatelessArgumentPointer<GenGfxFamily>(const KernelInfo &kernelInfo, uint32_t indexArg, IndirectHeap &ioh, uint32_t rootDeviceIndex) {
|
||||||
typedef typename GenGfxFamily::COMPUTE_WALKER COMPUTE_WALKER;
|
typedef typename GenGfxFamily::DefaultWalkerType DefaultWalkerType;
|
||||||
typedef typename GenGfxFamily::STATE_BASE_ADDRESS STATE_BASE_ADDRESS;
|
typedef typename GenGfxFamily::STATE_BASE_ADDRESS STATE_BASE_ADDRESS;
|
||||||
|
|
||||||
auto cmdWalker = (COMPUTE_WALKER *)this->cmdWalker;
|
auto cmdWalker = (DefaultWalkerType *)this->cmdWalker;
|
||||||
EXPECT_NE(nullptr, cmdWalker);
|
EXPECT_NE(nullptr, cmdWalker);
|
||||||
auto inlineInComputeWalker = cmdWalker->getInlineDataPointer();
|
auto inlineInComputeWalker = cmdWalker->getInlineDataPointer();
|
||||||
|
|
||||||
|
|||||||
@@ -4033,12 +4033,12 @@ HWTEST2_F(CommandStreamReceiverHwTest,
|
|||||||
givenImmediateFlushTaskWhenCsrHasPreambleCommandsThenDispatchIndirectJumpToImmediateBatchBuffer,
|
givenImmediateFlushTaskWhenCsrHasPreambleCommandsThenDispatchIndirectJumpToImmediateBatchBuffer,
|
||||||
IsAtLeastXeHpCore) {
|
IsAtLeastXeHpCore) {
|
||||||
using MI_BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
using MI_BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver<FamilyType>();
|
auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver<FamilyType>();
|
||||||
|
|
||||||
auto startOffset = commandStream.getUsed();
|
auto startOffset = commandStream.getUsed();
|
||||||
*commandStream.getSpaceForCmd<COMPUTE_WALKER>() = FamilyType::cmdInitGpgpuWalker;
|
*commandStream.getSpaceForCmd<DefaultWalkerType>() = FamilyType::cmdInitGpgpuWalker;
|
||||||
uint64_t immediateStartAddress = commandStream.getGpuBase() + startOffset;
|
uint64_t immediateStartAddress = commandStream.getGpuBase() + startOffset;
|
||||||
|
|
||||||
commandStreamReceiver.flushImmediateTask(commandStream, startOffset, immediateFlushTaskFlags, *pDevice);
|
commandStreamReceiver.flushImmediateTask(commandStream, startOffset, immediateFlushTaskFlags, *pDevice);
|
||||||
@@ -4050,7 +4050,7 @@ HWTEST2_F(CommandStreamReceiverHwTest,
|
|||||||
EXPECT_EQ(immediateStartAddress, bbStartCmd->getBatchBufferStartAddress());
|
EXPECT_EQ(immediateStartAddress, bbStartCmd->getBatchBufferStartAddress());
|
||||||
|
|
||||||
startOffset = commandStream.getUsed();
|
startOffset = commandStream.getUsed();
|
||||||
*commandStream.getSpaceForCmd<COMPUTE_WALKER>() = FamilyType::cmdInitGpgpuWalker;
|
*commandStream.getSpaceForCmd<DefaultWalkerType>() = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
size_t usedSize = commandStreamReceiver.commandStream.getUsed();
|
size_t usedSize = commandStreamReceiver.commandStream.getUsed();
|
||||||
commandStreamReceiver.flushImmediateTask(commandStream, startOffset, immediateFlushTaskFlags, *pDevice);
|
commandStreamReceiver.flushImmediateTask(commandStream, startOffset, immediateFlushTaskFlags, *pDevice);
|
||||||
@@ -4066,7 +4066,7 @@ HWTEST2_F(CommandStreamReceiverHwTest,
|
|||||||
IsAtLeastXeHpCore) {
|
IsAtLeastXeHpCore) {
|
||||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||||
using MI_BATCH_BUFFER_END = typename FamilyType::MI_BATCH_BUFFER_END;
|
using MI_BATCH_BUFFER_END = typename FamilyType::MI_BATCH_BUFFER_END;
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver<FamilyType>();
|
auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver<FamilyType>();
|
||||||
bool additionalSyncCmd = NEO::MemorySynchronizationCommands<FamilyType>::getSizeForSingleAdditionalSynchronization(commandStreamReceiver.peekRootDeviceEnvironment()) > 0;
|
bool additionalSyncCmd = NEO::MemorySynchronizationCommands<FamilyType>::getSizeForSingleAdditionalSynchronization(commandStreamReceiver.peekRootDeviceEnvironment()) > 0;
|
||||||
@@ -4074,7 +4074,7 @@ HWTEST2_F(CommandStreamReceiverHwTest,
|
|||||||
|
|
||||||
auto startOffset = commandStream.getUsed();
|
auto startOffset = commandStream.getUsed();
|
||||||
auto immediateListCmdBufferAllocation = commandStream.getGraphicsAllocation();
|
auto immediateListCmdBufferAllocation = commandStream.getGraphicsAllocation();
|
||||||
*commandStream.getSpaceForCmd<COMPUTE_WALKER>() = FamilyType::cmdInitGpgpuWalker;
|
*commandStream.getSpaceForCmd<DefaultWalkerType>() = FamilyType::cmdInitGpgpuWalker;
|
||||||
auto csrTagAllocation = commandStreamReceiver.getTagAllocation();
|
auto csrTagAllocation = commandStreamReceiver.getTagAllocation();
|
||||||
uint64_t postsyncAddress = csrTagAllocation->getGpuAddress();
|
uint64_t postsyncAddress = csrTagAllocation->getGpuAddress();
|
||||||
|
|
||||||
@@ -4109,7 +4109,7 @@ HWTEST2_F(CommandStreamReceiverHwTest,
|
|||||||
startOffset = commandStream.getUsed();
|
startOffset = commandStream.getUsed();
|
||||||
EXPECT_EQ(0u, (startOffset % MemoryConstants::cacheLineSize));
|
EXPECT_EQ(0u, (startOffset % MemoryConstants::cacheLineSize));
|
||||||
|
|
||||||
*commandStream.getSpaceForCmd<COMPUTE_WALKER>() = FamilyType::cmdInitGpgpuWalker;
|
*commandStream.getSpaceForCmd<DefaultWalkerType>() = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
completionStamp = commandStreamReceiver.flushImmediateTask(commandStream, startOffset, immediateFlushTaskFlags, *pDevice);
|
completionStamp = commandStreamReceiver.flushImmediateTask(commandStream, startOffset, immediateFlushTaskFlags, *pDevice);
|
||||||
EXPECT_EQ(2u, completionStamp.taskCount);
|
EXPECT_EQ(2u, completionStamp.taskCount);
|
||||||
@@ -4145,7 +4145,7 @@ HWTEST2_F(CommandStreamReceiverHwTest,
|
|||||||
HWTEST2_F(CommandStreamReceiverHwTest,
|
HWTEST2_F(CommandStreamReceiverHwTest,
|
||||||
givenImmediateFlushTaskWhenPreambleIsUsedOrNotThenCsrBufferIsUsedOrImmediateBufferIsUsed,
|
givenImmediateFlushTaskWhenPreambleIsUsedOrNotThenCsrBufferIsUsedOrImmediateBufferIsUsed,
|
||||||
IsAtLeastXeHpCore) {
|
IsAtLeastXeHpCore) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver<FamilyType>();
|
auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver<FamilyType>();
|
||||||
commandStreamReceiver.storeMakeResidentAllocations = true;
|
commandStreamReceiver.storeMakeResidentAllocations = true;
|
||||||
@@ -4154,7 +4154,7 @@ HWTEST2_F(CommandStreamReceiverHwTest,
|
|||||||
auto startOffset = commandStream.getUsed();
|
auto startOffset = commandStream.getUsed();
|
||||||
auto immediateListCmdBufferAllocation = commandStream.getGraphicsAllocation();
|
auto immediateListCmdBufferAllocation = commandStream.getGraphicsAllocation();
|
||||||
|
|
||||||
*commandStream.getSpaceForCmd<COMPUTE_WALKER>() = FamilyType::cmdInitGpgpuWalker;
|
*commandStream.getSpaceForCmd<DefaultWalkerType>() = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
immediateFlushTaskFlags.hasStallingCmds = true;
|
immediateFlushTaskFlags.hasStallingCmds = true;
|
||||||
auto completionStamp = commandStreamReceiver.flushImmediateTask(commandStream, startOffset, immediateFlushTaskFlags, *pDevice);
|
auto completionStamp = commandStreamReceiver.flushImmediateTask(commandStream, startOffset, immediateFlushTaskFlags, *pDevice);
|
||||||
@@ -4179,7 +4179,7 @@ HWTEST2_F(CommandStreamReceiverHwTest,
|
|||||||
|
|
||||||
startOffset = commandStream.getUsed();
|
startOffset = commandStream.getUsed();
|
||||||
|
|
||||||
*commandStream.getSpaceForCmd<COMPUTE_WALKER>() = FamilyType::cmdInitGpgpuWalker;
|
*commandStream.getSpaceForCmd<DefaultWalkerType>() = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
immediateFlushTaskFlags.hasRelaxedOrderingDependencies = true;
|
immediateFlushTaskFlags.hasRelaxedOrderingDependencies = true;
|
||||||
completionStamp = commandStreamReceiver.flushImmediateTask(commandStream, startOffset, immediateFlushTaskFlags, *pDevice);
|
completionStamp = commandStreamReceiver.flushImmediateTask(commandStream, startOffset, immediateFlushTaskFlags, *pDevice);
|
||||||
@@ -4204,7 +4204,7 @@ HWTEST2_F(CommandStreamReceiverHwTest,
|
|||||||
HWTEST2_F(CommandStreamReceiverHwTest,
|
HWTEST2_F(CommandStreamReceiverHwTest,
|
||||||
givenImmediateFlushTaskWhenFlushOperationFailsThenExpectNoBatchBufferSentAndCorrectFailCompletionReturned,
|
givenImmediateFlushTaskWhenFlushOperationFailsThenExpectNoBatchBufferSentAndCorrectFailCompletionReturned,
|
||||||
IsAtLeastXeHpCore) {
|
IsAtLeastXeHpCore) {
|
||||||
using COMPUTE_WALKER = typename FamilyType::COMPUTE_WALKER;
|
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||||
|
|
||||||
auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver<FamilyType>();
|
auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver<FamilyType>();
|
||||||
commandStreamReceiver.storeMakeResidentAllocations = true;
|
commandStreamReceiver.storeMakeResidentAllocations = true;
|
||||||
@@ -4213,7 +4213,7 @@ HWTEST2_F(CommandStreamReceiverHwTest,
|
|||||||
auto startOffset = commandStream.getUsed();
|
auto startOffset = commandStream.getUsed();
|
||||||
auto immediateListCmdBufferAllocation = commandStream.getGraphicsAllocation();
|
auto immediateListCmdBufferAllocation = commandStream.getGraphicsAllocation();
|
||||||
|
|
||||||
*commandStream.getSpaceForCmd<COMPUTE_WALKER>() = FamilyType::cmdInitGpgpuWalker;
|
*commandStream.getSpaceForCmd<DefaultWalkerType>() = FamilyType::cmdInitGpgpuWalker;
|
||||||
|
|
||||||
immediateFlushTaskFlags.blockingAppend = true;
|
immediateFlushTaskFlags.blockingAppend = true;
|
||||||
commandStreamReceiver.flushReturnValue = NEO::SubmissionStatus::failed;
|
commandStreamReceiver.flushReturnValue = NEO::SubmissionStatus::failed;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2021-2023 Intel Corporation
|
* Copyright (C) 2021-2024 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@@ -1317,7 +1317,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenStaticPartitionIsPreferr
|
|||||||
auto partitionCount = computePartitionCountAndSetPartitionType<FamilyType>(&walker, NEO::RequiredPartitionDim::none, 4u, preferredStaticPartitioning, &staticPartitioning);
|
auto partitionCount = computePartitionCountAndSetPartitionType<FamilyType>(&walker, NEO::RequiredPartitionDim::none, 4u, preferredStaticPartitioning, &staticPartitioning);
|
||||||
EXPECT_FALSE(staticPartitioning);
|
EXPECT_FALSE(staticPartitioning);
|
||||||
EXPECT_EQ(1u, partitionCount);
|
EXPECT_EQ(1u, partitionCount);
|
||||||
EXPECT_EQ(FamilyType::COMPUTE_WALKER::PARTITION_TYPE::PARTITION_TYPE_DISABLED, walker.getPartitionType());
|
EXPECT_EQ(FamilyType::DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_DISABLED, walker.getPartitionType());
|
||||||
|
|
||||||
testArgs.partitionCount = partitionCount;
|
testArgs.partitionCount = partitionCount;
|
||||||
testArgs.staticPartitioning = staticPartitioning;
|
testArgs.staticPartitioning = staticPartitioning;
|
||||||
|
|||||||
Reference in New Issue
Block a user