refactor: use designated initializer for EncodeWalkerArgs

also make EncodeWalkerArgs an aggregate

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
Kamil Kopryk
2025-01-21 22:07:41 +00:00
committed by Compute-Runtime-Automation
parent 69bdd4d4ce
commit 47fc1ce34b
8 changed files with 55 additions and 61 deletions

View File

@@ -84,12 +84,13 @@ inline void HardwareInterface<GfxFamily>::programWalker(
commandQueue.getDevice());
EncodeWalkerArgs encodeWalkerArgs{
kernel.getExecutionType(), // kernelExecutionType
RequiredDispatchWalkOrder::none, // requiredDispatchWalkOrder
0, // localRegionSize
0, // maxFrontEndThreads
false, // requiredSystemFence
false}; // hasSample
.kernelExecutionType = kernel.getExecutionType(),
.requiredDispatchWalkOrder = RequiredDispatchWalkOrder::none,
.localRegionSize = 0,
.maxFrontEndThreads = 0,
.requiredSystemFence = false,
.hasSample = false};
EncodeDispatchKernel<GfxFamily>::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, encodeWalkerArgs);
*walkerCmdBuf = walkerCmd;
}

View File

@@ -142,16 +142,14 @@ inline void HardwareInterface<GfxFamily>::programWalker(
} else {
kernelSystemAllocation = kernel.isAnyKernelArgumentUsingSystemMemory();
}
bool requiredSystemFence = kernelSystemAllocation && walkerArgs.event != nullptr;
auto maxFrontEndThreads = device.getDeviceInfo().maxFrontEndThreads;
EncodeWalkerArgs encodeWalkerArgs{
kernel.getExecutionType(), // kernelExecutionType
kernelAttributes.dispatchWalkOrder, // requiredDispatchWalkOrder
kernelAttributes.localRegionSize, // localRegionSize
maxFrontEndThreads, // maxFrontEndThreads
requiredSystemFence, // requiredSystemFence
kernelInfo.kernelDescriptor.kernelAttributes.flags.hasSample}; // hasSample
.kernelExecutionType = kernel.getExecutionType(),
.requiredDispatchWalkOrder = kernelAttributes.dispatchWalkOrder,
.localRegionSize = kernelAttributes.localRegionSize,
.maxFrontEndThreads = device.getDeviceInfo().maxFrontEndThreads,
.requiredSystemFence = kernelSystemAllocation && walkerArgs.event != nullptr,
.hasSample = kernelInfo.kernelDescriptor.kernelAttributes.flags.hasSample};
EncodeDispatchKernel<GfxFamily>::template encodeAdditionalWalkerFields<WalkerType>(rootDeviceEnvironment, walkerCmd, encodeWalkerArgs);
EncodeDispatchKernel<GfxFamily>::template encodeWalkerPostSyncFields<WalkerType>(walkerCmd, encodeWalkerArgs);

View File

@@ -26,12 +26,13 @@ XE2_HPG_CORETEST_F(WalkerDispatchTestsXe2HpGCore, whenEncodeAdditionalWalkerFiel
auto walkerCmd = FamilyType::cmdInitGpgpuWalker;
EncodeWalkerArgs walkerArgs{
KernelExecutionType::concurrent, // kernelExecutionType
NEO::RequiredDispatchWalkOrder::none, // requiredDispatchWalkOrder
0, // localRegionSize
113, // maxFrontEndThreads
true, // requiresMemoryFence
false}; // hasSample
.kernelExecutionType = KernelExecutionType::concurrent,
.requiredDispatchWalkOrder = RequiredDispatchWalkOrder::none,
.localRegionSize = 0,
.maxFrontEndThreads = 113,
.requiredSystemFence = true,
.hasSample = false};
{
EncodeDispatchKernel<FamilyType>::encodeComputeDispatchAllWalker(walkerCmd, &walkerCmd.getInterfaceDescriptor(), *executionEnvironment.rootDeviceEnvironments[0], walkerArgs);
EXPECT_TRUE(walkerCmd.getComputeDispatchAllWalkerEnable());

View File

@@ -27,12 +27,13 @@ XE3_CORETEST_F(WalkerDispatchTestsXe3Core, whenEncodeAdditionalWalkerFieldsIsCal
auto walkerCmd = FamilyType::cmdInitGpgpuWalker;
EncodeWalkerArgs walkerArgs{
KernelExecutionType::concurrent, // kernelExecutionType
NEO::RequiredDispatchWalkOrder::none, // requiredDispatchWalkOrder
0, // localRegionSize
113, // maxFrontEndThreads
true, // requiredSystemFence
false}; // hasSample
.kernelExecutionType = KernelExecutionType::concurrent,
.requiredDispatchWalkOrder = RequiredDispatchWalkOrder::none,
.localRegionSize = 0,
.maxFrontEndThreads = 113,
.requiredSystemFence = true,
.hasSample = false};
{
EncodeDispatchKernel<FamilyType>::encodeComputeDispatchAllWalker(walkerCmd, &walkerCmd.getInterfaceDescriptor(), *executionEnvironment.rootDeviceEnvironments[0], walkerArgs);
EXPECT_TRUE(walkerCmd.getComputeDispatchAllWalkerEnable());
@@ -102,12 +103,12 @@ XE3_CORETEST_F(WalkerDispatchTestsXe3Core, givenHasSampleSetWhenEncodingExtraPar
auto &rootDeviceEnvironment = *mockExecutionEnvironment.rootDeviceEnvironments[0];
EncodeWalkerArgs walkerArgs{
KernelExecutionType::defaultType, // kernelExecutionType
NEO::RequiredDispatchWalkOrder::none, // requiredDispatchWalkOrder
0, // localRegionSize
0, // maxFrontEndThreads
false, // requiredSystemFence
false}; // hasSample
.kernelExecutionType = KernelExecutionType::defaultType,
.requiredDispatchWalkOrder = RequiredDispatchWalkOrder::none,
.localRegionSize = 0,
.maxFrontEndThreads = 0,
.requiredSystemFence = false,
.hasSample = false};
{
walkerArgs.hasSample = false;