refactor: get postSync type from walker in ults

Related-To: NEO-10641
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
Kamil Kopryk
2024-06-26 02:09:48 +00:00
committed by Compute-Runtime-Automation
parent 44e8fdfb22
commit 5883e9288a
7 changed files with 38 additions and 24 deletions

View File

@@ -5964,6 +5964,8 @@ typedef struct tagCOMPUTE_WALKER {
return 32u;
}
using InterfaceDescriptorType = INTERFACE_DESCRIPTOR_DATA; // patched
using PostSyncType = POSTSYNC_DATA; // patched
} COMPUTE_WALKER;
STATIC_ASSERT(160 == sizeof(COMPUTE_WALKER));

View File

@@ -5818,6 +5818,8 @@ typedef struct tagCOMPUTE_WALKER {
return 32u;
}
using InterfaceDescriptorType = INTERFACE_DESCRIPTOR_DATA; // patched
using PostSyncType = POSTSYNC_DATA; // patched
} COMPUTE_WALKER;
STATIC_ASSERT(156 == sizeof(COMPUTE_WALKER));

View File

@@ -5587,6 +5587,8 @@ typedef struct tagCOMPUTE_WALKER {
return 32u;
}
using InterfaceDescriptorType = INTERFACE_DESCRIPTOR_DATA; // patched
using PostSyncType = POSTSYNC_DATA; // patched
} COMPUTE_WALKER;
STATIC_ASSERT(156 == sizeof(COMPUTE_WALKER));

View File

@@ -19,7 +19,7 @@
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenGetSizeWhenDispatchingCmdBufferThenConsumedSizeMatchEstimatedAndCmdBufferHasCorrectCmds) {
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
using PostSyncType = typename DefaultWalkerType::PostSyncType;
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
uint64_t postSyncAddress = (1ull << 48) | (1ull << 24);
@@ -27,7 +27,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenGetSizeWhenDispatchingCm
DefaultWalkerType walker = FamilyType::template getInitGpuWalker<DefaultWalkerType>();
walker.setThreadGroupIdXDimension(32);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
size_t expectedSize = 0;
@@ -62,7 +62,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenGetSizeWhenDispatchingCm
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenWorkgroupOneAndNoPartitionHintWhenDispatchingCmdBufferThenPartitionCountOneAndPartitionTypeDisabled) {
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
using PostSyncType = typename DefaultWalkerType::PostSyncType;
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
uint64_t postSyncAddress = (1ull << 48) | (1ull << 24);
@@ -70,7 +70,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenWorkgroupOneAndNoPartiti
DefaultWalkerType walker = FamilyType::template getInitGpuWalker<DefaultWalkerType>();
walker.setThreadGroupIdXDimension(1);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
size_t expectedSize = 0;
@@ -105,7 +105,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenWorkgroupOneAndNoPartiti
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenWorkgroupOneAndPartitionHintWhenDispatchingCmdBufferThenPartitionCountOneAndPartitionTypeFromHint) {
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
using PostSyncType = typename DefaultWalkerType::PostSyncType;
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
uint64_t postSyncAddress = (1ull << 48) | (1ull << 24);
@@ -114,7 +114,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenWorkgroupOneAndPartition
walker.setThreadGroupIdXDimension(1);
debugManager.flags.ExperimentalSetWalkerPartitionType.set(static_cast<int32_t>(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X));
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
size_t expectedSize = 0;
@@ -149,7 +149,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenWorkgroupOneAndPartition
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenDispatchingCmdBufferThenCorrectStaticPartitioningCommandsAreProgrammed) {
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
using PostSyncType = typename DefaultWalkerType::PostSyncType;
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
using MI_LOAD_REGISTER_MEM = typename FamilyType::MI_LOAD_REGISTER_MEM;
@@ -161,7 +161,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenDi
DefaultWalkerType walker = FamilyType::template getInitGpuWalker<DefaultWalkerType>();
walker.setThreadGroupIdXDimension(32);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
size_t expectedSize = 0;
@@ -200,7 +200,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenDi
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenPartitionRegisterIsRequiredThenCorrectStaticPartitioningCommandsAreProgrammed) {
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
using PostSyncType = typename DefaultWalkerType::PostSyncType;
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
using MI_LOAD_REGISTER_MEM = typename FamilyType::MI_LOAD_REGISTER_MEM;
@@ -213,7 +213,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenPa
DefaultWalkerType walker = FamilyType::template getInitGpuWalker<DefaultWalkerType>();
walker.setThreadGroupIdXDimension(32);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
size_t expectedSize = 0;
@@ -255,7 +255,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenPa
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPreferredAndPartitionCountIsOneWhenDispatchingCmdBufferThenCorrectStaticPartitioningCommandsAreProgrammed) {
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
using PostSyncType = typename DefaultWalkerType::PostSyncType;
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
using MI_LOAD_REGISTER_MEM = typename FamilyType::MI_LOAD_REGISTER_MEM;
@@ -267,7 +267,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
DefaultWalkerType walker = FamilyType::template getInitGpuWalker<DefaultWalkerType>();
walker.setThreadGroupIdXDimension(1);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
size_t expectedSize = 0;
@@ -306,7 +306,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPreferredWhenForceDisabledWparidRegisterThenExpectNoCommandFound) {
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
using PostSyncType = typename DefaultWalkerType::PostSyncType;
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
using MI_LOAD_REGISTER_MEM = typename FamilyType::MI_LOAD_REGISTER_MEM;
@@ -318,7 +318,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
DefaultWalkerType walker = FamilyType::template getInitGpuWalker<DefaultWalkerType>();
walker.setThreadGroupIdXDimension(1);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
size_t expectedSize = 0;
@@ -343,7 +343,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPreferredWhenForceDisabledPipeControlThenExpectNoCommandFound) {
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
using PostSyncType = typename DefaultWalkerType::PostSyncType;
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
@@ -355,7 +355,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
DefaultWalkerType walker = FamilyType::template getInitGpuWalker<DefaultWalkerType>();
walker.setThreadGroupIdXDimension(1);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
size_t expectedSize = 0;
@@ -380,7 +380,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenDynamicPartitioningPreferredWhenForceDisabledPipeControlThenExpectNoCommandFound) {
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
using PostSyncType = typename DefaultWalkerType::PostSyncType;
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
@@ -392,7 +392,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenDynamicPartitioningPrefe
DefaultWalkerType walker = FamilyType::template getInitGpuWalker<DefaultWalkerType>();
walker.setThreadGroupIdXDimension(32);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
size_t expectedSize = 0;

View File

@@ -23,12 +23,13 @@ struct WalkerPartitionTests : public ::testing::Test {
template <typename GfxFamily>
auto createWalker(uint64_t postSyncAddress) {
using WalkerType = typename GfxFamily::DefaultWalkerType;
using PostSyncType = typename WalkerType::PostSyncType;
WalkerType walker;
walker = GfxFamily::template getInitGpuWalker<WalkerType>();
walker.setPartitionType(WalkerType::PARTITION_TYPE::PARTITION_TYPE_X);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA<GfxFamily>::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
return walker;
}

View File

@@ -14,6 +14,7 @@
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenWalkerPartitionWhenConstructCommandBufferIsCalledThenBatchBufferIsBeingProgrammed) {
using WalkerType = typename FamilyType::DefaultWalkerType;
using PostSyncType = typename WalkerType::PostSyncType;
MockExecutionEnvironment mockExecutionEnvironment{};
testArgs.partitionCount = 16u;
@@ -26,7 +27,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenWalkerPartitionWhenConst
walker = FamilyType::template getInitGpuWalker<WalkerType>();
walker.setPartitionType(WalkerType::PARTITION_TYPE::PARTITION_TYPE_X);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA<FamilyType>::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
uint32_t totalBytesProgrammed;
@@ -1071,6 +1072,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenStaticWalkerPartitionWit
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenDebugModesForWalkerPartitionWhenConstructCommandBufferIsCalledThenBatchBufferIsBeingProgrammed) {
using WalkerType = typename FamilyType::DefaultWalkerType;
using PostSyncType = typename WalkerType::PostSyncType;
MockExecutionEnvironment mockExecutionEnvironment{};
testArgs.crossTileAtomicSynchronization = false;
@@ -1087,7 +1089,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenDebugModesForWalkerParti
walker = FamilyType::template getInitGpuWalker<WalkerType>();
walker.setPartitionType(WalkerType::PARTITION_TYPE::PARTITION_TYPE_X);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA<FamilyType>::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
uint32_t totalBytesProgrammed;

View File

@@ -895,6 +895,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenStaticPartitioningWhenZD
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenSelfCleanupSectionWhenDebugForceDisableCrossTileSyncThenSelfCleanupOverridesDebugAndAddsOwnCleanupSection) {
using WalkerType = typename FamilyType::DefaultWalkerType;
using PostSyncType = typename WalkerType::PostSyncType;
MockExecutionEnvironment mockExecutionEnvironment{};
testArgs.crossTileAtomicSynchronization = false;
@@ -909,7 +910,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenSelfCleanupSectionWhenDe
walker = FamilyType::template getInitGpuWalker<WalkerType>();
walker.setPartitionType(WalkerType::PARTITION_TYPE::PARTITION_TYPE_X);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA<FamilyType>::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
uint32_t totalBytesProgrammed = 0u;
@@ -1103,6 +1104,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenSelfCleanupSectionWhenDe
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenSelfCleanupAndAtomicsUsedForCleanupWhenDebugForceDisableCrossTileSyncThenSelfCleanupOverridesDebugAndAddsOwnCleanupSection) {
using WalkerType = typename FamilyType::DefaultWalkerType;
using PostSyncType = typename WalkerType::PostSyncType;
MockExecutionEnvironment mockExecutionEnvironment{};
testArgs.crossTileAtomicSynchronization = false;
@@ -1118,7 +1121,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenSelfCleanupAndAtomicsUse
walker = FamilyType::template getInitGpuWalker<WalkerType>();
walker.setPartitionType(WalkerType::PARTITION_TYPE::PARTITION_TYPE_X);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA<FamilyType>::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
uint32_t totalBytesProgrammed = 0u;
@@ -1319,6 +1322,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenSelfCleanupAndAtomicsUse
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenDynamicPartitioningWhenPipeControlProgrammingDisabledThenExpectNoPipeControlCommand) {
using WalkerType = typename FamilyType::DefaultWalkerType;
using PostSyncType = typename WalkerType::PostSyncType;
testArgs.crossTileAtomicSynchronization = false;
testArgs.partitionCount = 16u;
testArgs.tileCount = 4u;
@@ -1333,7 +1338,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerPartitionTests, givenDynamicPartitioningWhenP
walker = FamilyType::template getInitGpuWalker<WalkerType>();
walker.setPartitionType(WalkerType::PARTITION_TYPE::PARTITION_TYPE_X);
auto &postSync = walker.getPostSync();
postSync.setOperation(POSTSYNC_DATA<FamilyType>::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setOperation(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP);
postSync.setDestinationAddress(postSyncAddress);
uint32_t totalBytesProgrammed = 0u;