mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-22 10:17:01 +08:00
refactor: pass outImplicitArgs to patchImplicitArgs function
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
fdf7b98502
commit
2a9bcdeb83
@@ -58,6 +58,7 @@ struct EncodeDispatchKernelArgs {
|
||||
void *outWalkerPtr = nullptr;
|
||||
void *cpuWalkerBuffer = nullptr;
|
||||
void *cpuPayloadBuffer = nullptr;
|
||||
void *outImplicitArgsPtr = nullptr;
|
||||
std::list<void *> *additionalCommands = nullptr;
|
||||
PreemptionMode preemptionMode = PreemptionMode::Initial;
|
||||
NEO::RequiredPartitionDim requiredPartitionDim = NEO::RequiredPartitionDim::none;
|
||||
@@ -210,7 +211,6 @@ struct EncodeDispatchKernel {
|
||||
static void patchScratchAddressInImplicitArgs(ImplicitArgs &implicitArgs, uint64_t scratchAddress, bool scratchPtrPatchingRequired);
|
||||
|
||||
static size_t getInlineDataOffset(EncodeDispatchKernelArgs &args);
|
||||
static void *getImplicitArgsAddress(EncodeDispatchKernelArgs &args, const KernelDescriptor &kernelDescriptor);
|
||||
static size_t getScratchPtrOffsetOfImplicitArgs();
|
||||
|
||||
template <typename WalkerType>
|
||||
|
||||
@@ -906,11 +906,6 @@ size_t EncodeDispatchKernel<Family>::getDefaultDshAlignment() {
|
||||
return Family::cacheLineSize;
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
void *EncodeDispatchKernel<GfxFamily>::getImplicitArgsAddress(EncodeDispatchKernelArgs &args, const KernelDescriptor &kernelDescriptor) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
size_t EncodeDispatchKernel<GfxFamily>::getScratchPtrOffsetOfImplicitArgs() {
|
||||
return 0;
|
||||
|
||||
@@ -198,7 +198,7 @@ void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDis
|
||||
auto implicitArgsCrossThreadPtr = ptrOffset(const_cast<uint64_t *>(reinterpret_cast<const uint64_t *>(args.dispatchInterface->getCrossThreadData())), kernelDescriptor.payloadMappings.implicitArgs.implicitArgsBuffer);
|
||||
*implicitArgsCrossThreadPtr = implicitArgsGpuVA;
|
||||
|
||||
ptr = NEO::ImplicitArgsHelper::patchImplicitArgs(ptr, *pImplicitArgs, kernelDescriptor, {}, rootDeviceEnvironment);
|
||||
ptr = NEO::ImplicitArgsHelper::patchImplicitArgs(ptr, *pImplicitArgs, kernelDescriptor, {}, rootDeviceEnvironment, nullptr);
|
||||
}
|
||||
|
||||
memcpy_s(ptr, sizeCrossThreadData,
|
||||
|
||||
@@ -267,7 +267,7 @@ void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDis
|
||||
pImplicitArgs->localIdTablePtr = heap->getGraphicsAllocation()->getGpuAddress() + heap->getUsed() - iohRequiredSize;
|
||||
EncodeDispatchKernel<Family>::patchScratchAddressInImplicitArgs<heaplessModeEnabled>(*pImplicitArgs, scratchAddressForImmediatePatching, args.immediateScratchAddressPatching);
|
||||
|
||||
ptr = NEO::ImplicitArgsHelper::patchImplicitArgs(ptr, *pImplicitArgs, kernelDescriptor, std::make_pair(localIdsGenerationByRuntime, requiredWorkgroupOrder), rootDeviceEnvironment);
|
||||
ptr = NEO::ImplicitArgsHelper::patchImplicitArgs(ptr, *pImplicitArgs, kernelDescriptor, std::make_pair(localIdsGenerationByRuntime, requiredWorkgroupOrder), rootDeviceEnvironment, &args.outImplicitArgsPtr);
|
||||
}
|
||||
|
||||
if (args.isIndirect) {
|
||||
|
||||
Reference in New Issue
Block a user