refactor: add common command encoder enablers

Related-To: NEO-7621
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
Kamil Kopryk
2023-12-21 12:10:25 +00:00
committed by Compute-Runtime-Automation
parent 7418cff844
commit 307f45f5d2
8 changed files with 97 additions and 239 deletions

View File

@@ -11,6 +11,7 @@ set(NEO_CORE_COMMAND_CONTAINER
${CMAKE_CURRENT_SOURCE_DIR}/command_encoder.h
${CMAKE_CURRENT_SOURCE_DIR}/command_encoder.inl
${CMAKE_CURRENT_SOURCE_DIR}/command_encoder_bdw_and_later.inl
${CMAKE_CURRENT_SOURCE_DIR}/command_encoder_enablers.inl
${CMAKE_CURRENT_SOURCE_DIR}/command_encoder_tgllp_and_later.inl
${CMAKE_CURRENT_SOURCE_DIR}/encode_alu_helper.h
${CMAKE_CURRENT_SOURCE_DIR}/encode_compute_mode_bdw_and_later.inl

View File

@@ -0,0 +1,47 @@
/*
* Copyright (C) 2023 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "shared/source/command_container/command_encoder.h"
template struct NEO::EncodeDispatchKernel<Family>;
template void NEO::EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields<Family::DefaultWalkerType>(const RootDeviceEnvironment &rootDeviceEnvironment, Family::DefaultWalkerType &walkerCmd, const EncodeWalkerArgs &walkerArgs);
template void NEO::EncodeDispatchKernel<Family>::adjustTimestampPacket<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const EncodeDispatchKernelArgs &args);
template void NEO::EncodeDispatchKernel<Family>::setupPostSyncForRegularEvent<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const EncodeDispatchKernelArgs &args);
template void NEO::EncodeDispatchKernel<Family>::setupPostSyncForInOrderExec<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const EncodeDispatchKernelArgs &args);
template void NEO::EncodeDispatchKernel<Family>::setGrfInfo<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, uint32_t numGrf, const size_t &sizeCrossThreadData, const size_t &sizePerThreadData, const RootDeviceEnvironment &rootDeviceEnvironment);
template void NEO::EncodeDispatchKernel<Family>::appendAdditionalIDDFields<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, const RootDeviceEnvironment &rootDeviceEnvironment, const uint32_t threadsPerThreadGroup, uint32_t slmTotalSize, SlmPolicy slmPolicy);
template void NEO::EncodeDispatchKernel<Family>::adjustInterfaceDescriptorData<Family::DefaultWalkerType, Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, const Device &device, const HardwareInfo &hwInfo, const uint32_t threadGroupCount, const uint32_t numGrf, Family::DefaultWalkerType &walkerCmd);
template void NEO::EncodeDispatchKernel<Family>::setupPostSyncMocs<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment, bool dcFlush);
template void NEO::EncodeDispatchKernel<Family>::encode<Family::DefaultWalkerType>(CommandContainer &container, EncodeDispatchKernelArgs &args);
template void NEO::EncodeDispatchKernel<Family>::encodeThreadData<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const uint32_t *startWorkGroup, const uint32_t *numWorkGroups, const uint32_t *workGroupSizes, uint32_t simd, uint32_t localIdDimensions, uint32_t threadsPerThreadGroup, uint32_t threadExecutionMask, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, bool isIndirect, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
template void NEO::EncodeDispatchKernel<Family>::adjustWalkOrder<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
template struct NEO::EncodeStates<Family>;
template struct NEO::EncodeMath<Family>;
template struct NEO::EncodeMathMMIO<Family>;
template struct NEO::EncodeIndirectParams<Family>;
template struct NEO::EncodeSetMMIO<Family>;
template struct NEO::EncodeMediaInterfaceDescriptorLoad<Family>;
template struct NEO::EncodeStateBaseAddress<Family>;
template struct NEO::EncodeStoreMMIO<Family>;
template struct NEO::EncodeSurfaceState<Family>;
template struct NEO::EncodeComputeMode<Family>;
template struct NEO::EncodeAtomic<Family>;
template struct NEO::EncodeSemaphore<Family>;
template struct NEO::EncodeBatchBufferStartOrEnd<Family>;
template struct NEO::EncodeMiFlushDW<Family>;
template struct NEO::EncodeMiPredicate<Family>;
template struct NEO::EncodeMemoryPrefetch<Family>;
template struct NEO::EncodeMiArbCheck<Family>;
template struct NEO::EncodeWA<Family>;
template struct NEO::EncodeEnableRayTracing<Family>;
template struct NEO::EncodeNoop<Family>;
template struct NEO::EncodeStoreMemory<Family>;
template struct NEO::EncodeMemoryFence<Family>;
template struct NEO::EnodeUserInterrupt<Family>;