mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 15:53:45 +08:00
feature: add mechanism to extend cmdlist launch params
Related-To: NEO-13954 Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
f89725d31b
commit
1877e66bc8
@@ -44,6 +44,7 @@ struct RootDeviceEnvironment;
|
||||
struct StateBaseAddressProperties;
|
||||
struct StateComputeModeProperties;
|
||||
struct ImplicitArgs;
|
||||
struct EncodeKernelArgsExt;
|
||||
|
||||
struct EncodeDispatchKernelArgs {
|
||||
uint64_t eventAddress = 0;
|
||||
@@ -60,6 +61,7 @@ struct EncodeDispatchKernelArgs {
|
||||
void *cpuPayloadBuffer = nullptr;
|
||||
void *outImplicitArgsPtr = nullptr;
|
||||
std::list<void *> *additionalCommands = nullptr;
|
||||
EncodeKernelArgsExt *extendedArgs = nullptr;
|
||||
PreemptionMode preemptionMode = PreemptionMode::Initial;
|
||||
NEO::RequiredPartitionDim requiredPartitionDim = NEO::RequiredPartitionDim::none;
|
||||
NEO::RequiredDispatchWalkOrder requiredDispatchWalkOrder = NEO::RequiredDispatchWalkOrder::none;
|
||||
@@ -104,6 +106,7 @@ enum class CompareOperation : uint32_t {
|
||||
};
|
||||
|
||||
struct EncodeWalkerArgs {
|
||||
EncodeKernelArgsExt *argsExtended = nullptr;
|
||||
KernelExecutionType kernelExecutionType = KernelExecutionType::defaultType;
|
||||
NEO::RequiredDispatchWalkOrder requiredDispatchWalkOrder = NEO::RequiredDispatchWalkOrder::none;
|
||||
uint32_t localRegionSize = NEO::localRegionSizeParamNotSet;
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
#include "shared/source/os_interface/product_helper.h"
|
||||
#include "shared/source/release_helper/release_helper.h"
|
||||
|
||||
#include "encode_dispatch_kernel_args_ext.h"
|
||||
#include "encode_surface_state_args.h"
|
||||
|
||||
#include <algorithm>
|
||||
@@ -405,6 +406,7 @@ void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDis
|
||||
auto kernelExecutionType = args.isCooperative ? KernelExecutionType::concurrent : KernelExecutionType::defaultType;
|
||||
|
||||
EncodeWalkerArgs walkerArgs{
|
||||
.argsExtended = args.extendedArgs,
|
||||
.kernelExecutionType = kernelExecutionType,
|
||||
.requiredDispatchWalkOrder = args.requiredDispatchWalkOrder,
|
||||
.localRegionSize = args.localRegionSize,
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* Copyright (C) 2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace NEO {
|
||||
|
||||
struct EncodeKernelArgsExt {
|
||||
};
|
||||
} // namespace NEO
|
||||
@@ -53,6 +53,7 @@ EncodeDispatchKernelArgs CommandEncodeStatesFixture::createDefaultDispatchKernel
|
||||
nullptr, // cpuPayloadBuffer
|
||||
nullptr, // outImplicitArgsPtr
|
||||
nullptr, // additionalCommands
|
||||
nullptr, // extendedArgs
|
||||
PreemptionMode::Disabled, // preemptionMode
|
||||
NEO::RequiredPartitionDim::none, // requiredPartitionDim
|
||||
NEO::RequiredDispatchWalkOrder::none, // requiredDispatchWalkOrder
|
||||
|
||||
Reference in New Issue
Block a user