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

@@ -104,17 +104,6 @@ enum class CompareOperation : uint32_t {
};
struct EncodeWalkerArgs {
EncodeWalkerArgs() = delete;
EncodeWalkerArgs(KernelExecutionType kernelExecutionType, NEO::RequiredDispatchWalkOrder requiredDispatchWalkOrder,
uint32_t localRegionSize, uint32_t maxFrontEndThreads, bool requiredSystemFence, bool hasSample)
: kernelExecutionType(kernelExecutionType),
requiredDispatchWalkOrder(requiredDispatchWalkOrder),
localRegionSize(localRegionSize),
maxFrontEndThreads(maxFrontEndThreads),
requiredSystemFence(requiredSystemFence),
hasSample(hasSample) {}
KernelExecutionType kernelExecutionType = KernelExecutionType::defaultType;
NEO::RequiredDispatchWalkOrder requiredDispatchWalkOrder = NEO::RequiredDispatchWalkOrder::none;
uint32_t localRegionSize = NEO::localRegionSizeParamNotSet;

View File

@@ -279,12 +279,13 @@ void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDis
EncodeDispatchKernel<Family>::encodeThreadGroupDispatch(idd, *args.device, hwInfo, threadGroupDims, threadGroupCount, kernelDescriptor.kernelAttributes.numGrfRequired, numThreadsPerThreadGroup, cmd);
EncodeWalkerArgs walkerArgs{
KernelExecutionType::defaultType, // kernelExecutionType
args.requiredDispatchWalkOrder, // requiredDispatchWalkOrder
args.localRegionSize, // localRegionSize
args.device->getDeviceInfo().maxFrontEndThreads, // maxFrontEndThreads
args.requiresSystemMemoryFence(), // requiresSystemFence
false}; // hasSample
.kernelExecutionType = KernelExecutionType::defaultType,
.requiredDispatchWalkOrder = args.requiredDispatchWalkOrder,
.localRegionSize = args.localRegionSize,
.maxFrontEndThreads = args.device->getDeviceInfo().maxFrontEndThreads,
.requiredSystemFence = args.requiresSystemMemoryFence(),
.hasSample = false};
EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields(rootDeviceEnvironment, cmd, walkerArgs);
EncodeDispatchKernel<Family>::encodeWalkerPostSyncFields(cmd, walkerArgs);
EncodeDispatchKernel<Family>::template encodeComputeDispatchAllWalker<WalkerType, INTERFACE_DESCRIPTOR_DATA>(cmd, nullptr, rootDeviceEnvironment, walkerArgs);

View File

@@ -402,13 +402,15 @@ void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDis
args.dispatchInterface->getSlmPolicy());
auto kernelExecutionType = args.isCooperative ? KernelExecutionType::concurrent : KernelExecutionType::defaultType;
EncodeWalkerArgs walkerArgs{
kernelExecutionType, // kernelExecutionType
args.requiredDispatchWalkOrder, // requiredDispatchWalkOrder
args.localRegionSize, // localRegionSize
args.device->getDeviceInfo().maxFrontEndThreads, // maxFrontEndThreads
args.requiresSystemMemoryFence(), // requiresMemoryFence
kernelDescriptor.kernelAttributes.flags.hasSample}; // hasSample
.kernelExecutionType = kernelExecutionType,
.requiredDispatchWalkOrder = args.requiredDispatchWalkOrder,
.localRegionSize = args.localRegionSize,
.maxFrontEndThreads = args.device->getDeviceInfo().maxFrontEndThreads,
.requiredSystemFence = args.requiresSystemMemoryFence(),
.hasSample = kernelDescriptor.kernelAttributes.flags.hasSample};
EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields(rootDeviceEnvironment, walkerCmd, walkerArgs);
EncodeDispatchKernel<Family>::encodeWalkerPostSyncFields(walkerCmd, walkerArgs);
EncodeDispatchKernel<Family>::encodeComputeDispatchAllWalker(walkerCmd, &idd, rootDeviceEnvironment, walkerArgs);