Rename HwInfoConfig to ProductHelper

Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
Kamil Kopryk
2022-12-12 16:43:41 +00:00
committed by Compute-Runtime-Automation
parent a1cf7fb938
commit 232b886056
394 changed files with 1818 additions and 1787 deletions

View File

@@ -48,10 +48,10 @@ const SipKernel &BuiltIns::getSipKernel(SipKernelType type, Device &device) {
auto sipAllocation = device.getMemoryManager()->allocateGraphicsMemoryWithProperties(properties);
auto &hwInfo = device.getHardwareInfo();
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
if (sipAllocation) {
MemoryTransferHelper::transferMemoryToAllocation(hwInfoConfig.isBlitCopyRequiredForLocalMemory(hwInfo, *sipAllocation),
MemoryTransferHelper::transferMemoryToAllocation(productHelper.isBlitCopyRequiredForLocalMemory(hwInfo, *sipAllocation),
device, sipAllocation, 0, sipBinary.data(),
sipBinary.size());
}

View File

@@ -89,7 +89,7 @@ StackVec<std::string, 3> getBuiltinResourceNames(EBuiltInOps::Type builtin, Buil
const auto extension = BuiltinCode::getExtension(type);
auto getAddressingMode = [type, &hwInfo, builtin]() {
if (type == BuiltinCode::ECodeType::Binary) {
const bool requiresStatelessAddressing = (false == HwInfoConfig::get(hwInfo.platform.eProductFamily)->isStatefulAddressingModeSupported());
const bool requiresStatelessAddressing = (false == ProductHelper::get(hwInfo.platform.eProductFamily)->isStatefulAddressingModeSupported());
const bool builtInUsesStatelessAddressing = EBuiltInOps::isStateless(builtin);
if (builtInUsesStatelessAddressing || requiresStatelessAddressing) {
return "stateless_";

View File

@@ -140,9 +140,9 @@ bool SipKernel::initRawBinaryFromFileKernel(SipKernelType type, Device &device,
}
auto &hwInfo = device.getHardwareInfo();
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
MemoryTransferHelper::transferMemoryToAllocation(hwInfoConfig.isBlitCopyRequiredForLocalMemory(hwInfo, *sipAllocation),
MemoryTransferHelper::transferMemoryToAllocation(productHelper.isBlitCopyRequiredForLocalMemory(hwInfo, *sipAllocation),
device, sipAllocation, 0, alignedBuffer,
bytesRead);
@@ -202,8 +202,8 @@ bool SipKernel::initHexadecimalArraySipKernel(SipKernelType type, Device &device
if (sipAllocation == nullptr) {
return false;
}
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
MemoryTransferHelper::transferMemoryToAllocation(hwInfoConfig.isBlitCopyRequiredForLocalMemory(hwInfo, *sipAllocation),
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
MemoryTransferHelper::transferMemoryToAllocation(productHelper.isBlitCopyRequiredForLocalMemory(hwInfo, *sipAllocation),
device, sipAllocation, 0, sipKernelBinary,
kernelBinarySize);

View File

@@ -16,8 +16,8 @@ template <>
void EncodeSurfaceState<Family>::encodeExtraCacheSettings(R_SURFACE_STATE *surfaceState, const EncodeSurfaceStateArgs &args) {
using L1_CACHE_POLICY = typename R_SURFACE_STATE::L1_CACHE_POLICY;
const auto &hwInfo = *args.gmmHelper->getHardwareInfo();
auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily);
auto cachePolicy = static_cast<L1_CACHE_POLICY>(hwInfoConfig->getL1CachePolicy(args.isDebuggerActive));
auto productHelper = ProductHelper::get(hwInfo.platform.eProductFamily);
auto cachePolicy = static_cast<L1_CACHE_POLICY>(productHelper->getL1CachePolicy(args.isDebuggerActive));
if (DebugManager.flags.OverrideL1CacheControlInSurfaceState.get() != -1 &&
DebugManager.flags.ForceAllResourcesUncached.get() == false) {
cachePolicy = static_cast<L1_CACHE_POLICY>(DebugManager.flags.OverrideL1CacheControlInSurfaceState.get());

View File

@@ -76,9 +76,9 @@ void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDis
EncodeDispatchKernel<Family>::setGrfInfo(&idd, kernelDescriptor.kernelAttributes.numGrfRequired, sizeCrossThreadData,
sizePerThreadData, hwInfo);
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
hwInfoConfig.updateIddCommand(&idd, kernelDescriptor.kernelAttributes.numGrfRequired,
kernelDescriptor.kernelAttributes.threadArbitrationPolicy);
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
productHelper.updateIddCommand(&idd, kernelDescriptor.kernelAttributes.numGrfRequired,
kernelDescriptor.kernelAttributes.threadArbitrationPolicy);
bool localIdsGenerationByRuntime = args.dispatchInterface->requiresGenerationOfLocalIdsByRuntime();
auto requiredWorkgroupOrder = args.dispatchInterface->getRequiredWorkgroupOrder();
@@ -551,10 +551,10 @@ void EncodeStateBaseAddress<Family>::encode(EncodeStateBaseAddressArgs<Family> &
template <typename Family>
size_t EncodeStateBaseAddress<Family>::getRequiredSizeForStateBaseAddress(Device &device, CommandContainer &container, bool isRcs) {
auto &hwInfo = device.getHardwareInfo();
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
size_t size = sizeof(typename Family::STATE_BASE_ADDRESS);
if (hwInfoConfig.isAdditionalStateBaseAddressWARequired(hwInfo)) {
if (productHelper.isAdditionalStateBaseAddressWARequired(hwInfo)) {
size += sizeof(typename Family::STATE_BASE_ADDRESS);
}
@@ -712,8 +712,8 @@ inline size_t EncodeWA<Family>::getAdditionalPipelineSelectSize(Device &device,
template <typename Family>
inline void EncodeWA<Family>::addPipeControlPriorToNonPipelinedStateCommand(LinearStream &commandStream, PipeControlArgs args,
const HardwareInfo &hwInfo, bool isRcs) {
auto &hwInfoConfig = (*HwInfoConfig::get(hwInfo.platform.eProductFamily));
const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
auto &productHelper = (*ProductHelper::get(hwInfo.platform.eProductFamily));
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
if (isExtendedWARequired) {
args.textureCacheInvalidationEnable = true;

View File

@@ -15,8 +15,8 @@ namespace NEO {
template <typename Family>
size_t EncodeComputeMode<Family>::getCmdSizeForComputeMode(const HardwareInfo &hwInfo, bool hasSharedHandles, bool isRcs) {
size_t size = 0;
auto &hwInfoConfig = (*HwInfoConfig::get(hwInfo.platform.eProductFamily));
const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
auto &productHelper = (*ProductHelper::get(hwInfo.platform.eProductFamily));
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
std::ignore = isExtendedWARequired;
if (isBasicWARequired) {
@@ -26,7 +26,7 @@ size_t EncodeComputeMode<Family>::getCmdSizeForComputeMode(const HardwareInfo &h
if (hasSharedHandles) {
size += MemorySynchronizationCommands<Family>::getSizeForSingleBarrier(false);
}
if (hwInfoConfig.is3DPipelineSelectWARequired() && isRcs) {
if (productHelper.is3DPipelineSelectWARequired() && isRcs) {
size += (2 * PreambleHelper<Family>::getCmdSizeForPipelineSelect(hwInfo));
}
return size;
@@ -39,8 +39,8 @@ inline void EncodeComputeMode<Family>::programComputeModeCommandWithSynchronizat
NEO::EncodeWA<Family>::encodeAdditionalPipelineSelect(csr, args, true, hwInfo, isRcs);
auto &hwInfoConfig = (*HwInfoConfig::get(hwInfo.platform.eProductFamily));
const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
auto &productHelper = (*ProductHelper::get(hwInfo.platform.eProductFamily));
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
std::ignore = isExtendedWARequired;
if (isBasicWARequired) {

View File

@@ -154,8 +154,8 @@ void AUBCommandStreamReceiverHw<GfxFamily>::initFile(const std::string &fileName
}
// Add the file header
auto &hwInfo = this->peekHwInfo();
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
stream->init(hwInfoConfig.getAubStreamSteppingFromHwRevId(hwInfo), aubDeviceId);
const auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
stream->init(productHelper.getAubStreamSteppingFromHwRevId(hwInfo), aubDeviceId);
}
}

View File

@@ -80,9 +80,9 @@ CommandStreamReceiver::CommandStreamReceiver(ExecutionEnvironment &executionEnvi
this->staticWorkPartitioningEnabled = true;
}
auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily);
hwInfoConfig->fillFrontEndPropertiesSupportStructure(feSupportFlags, hwInfo);
hwInfoConfig->fillPipelineSelectPropertiesSupportStructure(pipelineSupportFlags, hwInfo);
auto productHelper = ProductHelper::get(hwInfo.platform.eProductFamily);
productHelper->fillFrontEndPropertiesSupportStructure(feSupportFlags, hwInfo);
productHelper->fillPipelineSelectPropertiesSupportStructure(pipelineSupportFlags, hwInfo);
}
CommandStreamReceiver::~CommandStreamReceiver() {
@@ -852,7 +852,7 @@ bool CommandStreamReceiver::needsPageTableManager() const {
if (pageTableManager.get() != nullptr) {
return false;
}
return HwInfoConfig::get(hwInfo->platform.eProductFamily)->isPageTableManagerSupported(*hwInfo);
return ProductHelper::get(hwInfo->platform.eProductFamily)->isPageTableManagerSupported(*hwInfo);
}
void CommandStreamReceiver::printDeviceIndex() {

View File

@@ -301,8 +301,8 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
levelClosed = true;
// if we guard with ppc, flush dc as well to speed up completion latency
if (dispatchFlags.guardCommandBufferWithPipeControl) {
const auto &hwInfoConfig = *NEO::HwInfoConfig::get(hwInfo.platform.eProductFamily);
if (hwInfoConfig.isDcFlushAllowed()) {
const auto &productHelper = *NEO::ProductHelper::get(hwInfo.platform.eProductFamily);
if (productHelper.isDcFlushAllowed()) {
dispatchFlags.dcFlush = true;
}
}
@@ -1431,8 +1431,8 @@ inline MemoryCompressionState CommandStreamReceiverHw<GfxFamily>::getMemoryCompr
template <typename GfxFamily>
inline bool CommandStreamReceiverHw<GfxFamily>::isPipelineSelectAlreadyProgrammed() const {
const auto &hwInfoConfig = *HwInfoConfig::get(peekHwInfo().platform.eProductFamily);
return this->streamProperties.stateComputeMode.isDirty() && hwInfoConfig.is3DPipelineSelectWARequired() && isRcs();
const auto &productHelper = *ProductHelper::get(peekHwInfo().platform.eProductFamily);
return this->streamProperties.stateComputeMode.isDirty() && productHelper.is3DPipelineSelectWARequired() && isRcs();
}
template <typename GfxFamily>

View File

@@ -39,8 +39,8 @@ size_t CommandStreamReceiverHw<GfxFamily>::getRequiredStateBaseAddressSize(const
using PIPELINE_SELECT = typename GfxFamily::PIPELINE_SELECT;
size_t size = 0;
const auto &hwInfoConfig = *HwInfoConfig::get(peekHwInfo().platform.eProductFamily);
if (hwInfoConfig.is3DPipelineSelectWARequired()) {
const auto &productHelper = *ProductHelper::get(peekHwInfo().platform.eProductFamily);
if (productHelper.is3DPipelineSelectWARequired()) {
size += (2 * PreambleHelper<GfxFamily>::getCmdSizeForPipelineSelect(peekHwInfo()));
}
size += sizeof(typename GfxFamily::STATE_BASE_ADDRESS) + sizeof(PIPE_CONTROL);

View File

@@ -36,8 +36,8 @@ template <>
size_t CommandStreamReceiverHw<Family>::getCmdSizeForPerDssBackedBuffer(const HardwareInfo &hwInfo) {
size_t size = sizeof(_3DSTATE_BTD);
auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily);
const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs());
auto productHelper = ProductHelper::get(hwInfo.platform.eProductFamily);
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs());
std::ignore = isBasicWARequired;
if (isExtendedWARequired) {
@@ -58,8 +58,8 @@ inline void CommandStreamReceiverHw<GfxFamily>::addPipeControlBefore3dState(Line
}
auto &hwInfo = peekHwInfo();
auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily);
const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs());
auto productHelper = ProductHelper::get(hwInfo.platform.eProductFamily);
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs());
std::ignore = isBasicWARequired;
PipeControlArgs args;

View File

@@ -33,8 +33,8 @@ size_t CommandStreamReceiverHw<GfxFamily>::getRequiredStateBaseAddressSize(const
size += MemorySynchronizationCommands<GfxFamily>::getSizeForSingleBarrier(false);
auto &hwInfo = *device.getRootDeviceEnvironment().getHardwareInfo();
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
if (hwInfoConfig.isAdditionalStateBaseAddressWARequired(hwInfo)) {
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
if (productHelper.isAdditionalStateBaseAddressWARequired(hwInfo)) {
size += sizeof(typename GfxFamily::STATE_BASE_ADDRESS);
}
@@ -140,11 +140,11 @@ template <typename GfxFamily>
inline void CommandStreamReceiverHw<GfxFamily>::addPipeControlBeforeStateSip(LinearStream &commandStream, Device &device) {
auto &hwInfo = peekHwInfo();
auto &gfxCoreHelper = getGfxCoreHelper();
auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily);
auto productHelper = ProductHelper::get(hwInfo.platform.eProductFamily);
bool debuggingEnabled = device.getDebugger() != nullptr;
PipeControlArgs args;
args.dcFlushEnable = this->dcFlushSupport;
const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs());
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs());
std::ignore = isExtendedWARequired;
if (isBasicWARequired && debuggingEnabled && !gfxCoreHelper.isSipWANeeded(hwInfo)) {

View File

@@ -81,8 +81,8 @@ size_t PreemptionHelper::getRequiredStateSipCmdSize<GfxFamily>(Device &device, b
size += MemorySynchronizationCommands<GfxFamily>::getSizeForSingleBarrier(false);
size += 2 * sizeof(typename GfxFamily::MI_LOAD_REGISTER_IMM);
} else {
auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily);
const auto &[isBasicWARequired, isExtendedWARequired] = hwInfoConfig->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
auto productHelper = ProductHelper::get(hwInfo.platform.eProductFamily);
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
const auto isWARequired = isBasicWARequired || isExtendedWARequired;
if (isWARequired) {

View File

@@ -19,8 +19,8 @@ void StateComputeModeProperties::setProperties(bool requiresCoherency, uint32_t
const HardwareInfo &hwInfo) {
if (this->propertiesSupportLoaded == false) {
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
hwInfoConfig.fillScmPropertiesSupportStructure(this->scmPropertiesSupport);
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
productHelper.fillScmPropertiesSupportStructure(this->scmPropertiesSupport);
this->propertiesSupportLoaded = true;
}
@@ -105,8 +105,8 @@ void StateComputeModeProperties::clearIsDirty() {
void FrontEndProperties::setProperties(bool isCooperativeKernel, bool disableEUFusion, bool disableOverdispatch, int32_t engineInstancedDevice, const HardwareInfo &hwInfo) {
if (this->propertiesSupportLoaded == false) {
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
hwInfoConfig.fillFrontEndPropertiesSupportStructure(this->frontEndPropertiesSupport, hwInfo);
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
productHelper.fillFrontEndPropertiesSupportStructure(this->frontEndPropertiesSupport, hwInfo);
this->propertiesSupportLoaded = true;
}
@@ -131,8 +131,8 @@ void FrontEndProperties::setProperties(bool isCooperativeKernel, bool disableEUF
void FrontEndProperties::setPropertySingleSliceDispatchCcsMode(int32_t engineInstancedDevice, const HardwareInfo &hwInfo) {
if (this->propertiesSupportLoaded == false) {
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
hwInfoConfig.fillFrontEndPropertiesSupportStructure(this->frontEndPropertiesSupport, hwInfo);
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
productHelper.fillFrontEndPropertiesSupportStructure(this->frontEndPropertiesSupport, hwInfo);
this->propertiesSupportLoaded = true;
}
this->singleSliceDispatchCcsMode.isDirty = false;
@@ -164,8 +164,8 @@ void FrontEndProperties::clearIsDirty() {
void PipelineSelectProperties::setProperties(bool modeSelected, bool mediaSamplerDopClockGate, bool systolicMode, const HardwareInfo &hwInfo) {
if (this->propertiesSupportLoaded == false) {
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
hwInfoConfig.fillPipelineSelectPropertiesSupportStructure(this->pipelineSelectPropertiesSupport, hwInfo);
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
productHelper.fillPipelineSelectPropertiesSupportStructure(this->pipelineSelectPropertiesSupport, hwInfo);
this->propertiesSupportLoaded = true;
}
@@ -207,8 +207,8 @@ void StateBaseAddressProperties::setProperties(bool globalAtomics, int32_t state
int64_t dynamicStateBaseAddress, size_t dynamicStateSize,
int64_t indirectObjectBaseAddress, size_t indirectObjectSize, const HardwareInfo &hwInfo) {
if (this->propertiesSupportLoaded == false) {
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
hwInfoConfig.fillStateBaseAddressPropertiesSupportStructure(this->stateBaseAddressPropertiesSupport, hwInfo);
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
productHelper.fillStateBaseAddressPropertiesSupportStructure(this->stateBaseAddressPropertiesSupport, hwInfo);
this->propertiesSupportLoaded = true;
}

View File

@@ -168,7 +168,7 @@ CommandStreamReceiver *TbxCommandStreamReceiverHw<GfxFamily>::create(const std::
auto &rootDeviceEnvironment = *executionEnvironment.rootDeviceEnvironments[rootDeviceIndex];
auto &hwInfo = *rootDeviceEnvironment.getHardwareInfo();
auto &gfxCoreHelper = rootDeviceEnvironment.getHelper<GfxCoreHelper>();
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
const auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
if (withAubDump) {
auto localMemoryEnabled = gfxCoreHelper.getEnableLocalMemory(hwInfo);
auto fullName = AUBCommandStreamReceiver::createFullFilePath(hwInfo, baseName, rootDeviceIndex);
@@ -204,7 +204,7 @@ CommandStreamReceiver *TbxCommandStreamReceiverHw<GfxFamily>::create(const std::
csr->stream->open(nullptr);
// Add the file header.
bool streamInitialized = csr->stream->init(hwInfoConfig.getAubStreamSteppingFromHwRevId(hwInfo), csr->aubDeviceId);
bool streamInitialized = csr->stream->init(productHelper.getAubStreamSteppingFromHwRevId(hwInfo), csr->aubDeviceId);
csr->streamInitialized = streamInitialized;
}
return csr;

View File

@@ -480,13 +480,13 @@ void Linker::patchDataSegments(const SegmentInfo &globalVariablesSegInfo, const
if (isAnySymbolRelocated) {
auto &hwInfo = pDevice->getHardwareInfo();
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
if (globalConstantsSeg) {
bool useBlitter = hwInfoConfig.isBlitCopyRequiredForLocalMemory(hwInfo, *globalConstantsSeg);
bool useBlitter = productHelper.isBlitCopyRequiredForLocalMemory(hwInfo, *globalConstantsSeg);
MemoryTransferHelper::transferMemoryToAllocation(useBlitter, *pDevice, globalConstantsSeg, 0, constantsInitDataCopy.data(), constantsInitDataCopy.size());
}
if (globalVariablesSeg) {
bool useBlitter = hwInfoConfig.isBlitCopyRequiredForLocalMemory(hwInfo, *globalVariablesSeg);
bool useBlitter = productHelper.isBlitCopyRequiredForLocalMemory(hwInfo, *globalVariablesSeg);
MemoryTransferHelper::transferMemoryToAllocation(useBlitter, *pDevice, globalVariablesSeg, 0, variablesInitDataCopy.data(), variablesInitDataCopy.size());
}
}

View File

@@ -96,8 +96,8 @@ void DebuggerL0::initialize() {
memoryOperationsIface->makeResident(device, ArrayRef<NEO::GraphicsAllocation *>(&moduleDebugArea, 1));
}
const auto &hwInfoConfig = *NEO::HwInfoConfig::get(hwInfo.platform.eProductFamily);
NEO::MemoryTransferHelper::transferMemoryToAllocation(hwInfoConfig.isBlitCopyRequiredForLocalMemory(hwInfo, *moduleDebugArea),
const auto &productHelper = *NEO::ProductHelper::get(hwInfo.platform.eProductFamily);
NEO::MemoryTransferHelper::transferMemoryToAllocation(productHelper.isBlitCopyRequiredForLocalMemory(hwInfo, *moduleDebugArea),
*device, moduleDebugArea, 0, &debugArea,
sizeof(DebugAreaHeader));
if (gfxCoreHelper.disableL3CacheForDebug(hwInfo)) {

View File

@@ -270,7 +270,7 @@ bool Device::createDeviceImpl() {
if (DebugManager.flags.EnableChipsetUniqueUUID.get() != 0) {
if (gfxCoreHelper.isChipsetUniqueUUIDSupported()) {
uuid.isValid = HwInfoConfig::get(hardwareInfo->platform.eProductFamily)->getUuid(this, uuid.id);
uuid.isValid = ProductHelper::get(hardwareInfo->platform.eProductFamily)->getUuid(this, uuid.id);
}
}
@@ -406,7 +406,7 @@ uint64_t Device::getProfilingTimerClock() {
}
bool Device::isBcsSplitSupported() {
auto bcsSplit = HwInfoConfig::get(getHardwareInfo().platform.eProductFamily)->isBlitSplitEnqueueWARequired(getHardwareInfo()) &&
auto bcsSplit = ProductHelper::get(getHardwareInfo().platform.eProductFamily)->isBlitSplitEnqueueWARequired(getHardwareInfo()) &&
ApiSpecificConfig::isBcsSplitWaSupported() &&
Device::isBlitSplitEnabled();
@@ -704,20 +704,20 @@ void Device::initializeEngineRoundRobinControls() {
OSTime *Device::getOSTime() const { return getRootDeviceEnvironment().osTime.get(); };
bool Device::getUuid(std::array<uint8_t, HwInfoConfig::uuidSize> &uuid) {
bool Device::getUuid(std::array<uint8_t, ProductHelper::uuidSize> &uuid) {
if (this->uuid.isValid) {
uuid = this->uuid.id;
if (!isSubDevice() && deviceBitfield.count() == 1) {
// In case of no sub devices created (bits set in affinity mask == 1), return the UUID of enabled sub-device.
uint32_t subDeviceIndex = Math::log2(static_cast<uint32_t>(deviceBitfield.to_ulong()));
uuid[HwInfoConfig::uuidSize - 1] = subDeviceIndex + 1;
uuid[ProductHelper::uuidSize - 1] = subDeviceIndex + 1;
}
}
return this->uuid.isValid;
}
bool Device::generateUuidFromPciBusInfo(const PhysicalDevicePciBusInfo &pciBusInfo, std::array<uint8_t, HwInfoConfig::uuidSize> &uuid) {
bool Device::generateUuidFromPciBusInfo(const PhysicalDevicePciBusInfo &pciBusInfo, std::array<uint8_t, ProductHelper::uuidSize> &uuid) {
if (pciBusInfo.pciDomain != PhysicalDevicePciBusInfo::invalidValue) {
uuid.fill(0);
@@ -725,13 +725,13 @@ bool Device::generateUuidFromPciBusInfo(const PhysicalDevicePciBusInfo &pciBusIn
memcpy_s(&uuid[2], 1, &pciBusInfo.pciBus, 1);
memcpy_s(&uuid[3], 1, &pciBusInfo.pciDevice, 1);
memcpy_s(&uuid[4], 1, &pciBusInfo.pciFunction, 1);
uuid[HwInfoConfig::uuidSize - 1] = isSubDevice() ? static_cast<SubDevice *>(this)->getSubDeviceIndex() + 1 : 0;
uuid[ProductHelper::uuidSize - 1] = isSubDevice() ? static_cast<SubDevice *>(this)->getSubDeviceIndex() + 1 : 0;
return true;
}
return false;
}
void Device::generateUuid(std::array<uint8_t, HwInfoConfig::uuidSize> &uuid) {
void Device::generateUuid(std::array<uint8_t, ProductHelper::uuidSize> &uuid) {
const auto &deviceInfo = getDeviceInfo();
const auto &hardwareInfo = getHardwareInfo();
uint32_t rootDeviceIndex = getRootDeviceIndex();
@@ -772,7 +772,7 @@ void Device::allocateRTDispatchGlobals(uint32_t maxBvhLevels) {
}
auto &hwInfo = getHardwareInfo();
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
GraphicsAllocation *dispatchGlobalsArrayAllocation = nullptr;
@@ -814,7 +814,7 @@ void Device::allocateRTDispatchGlobals(uint32_t maxBvhLevels) {
uint32_t *dispatchGlobalsAsArray = reinterpret_cast<uint32_t *>(&dispatchGlobals);
dispatchGlobalsAsArray[7] = 1;
MemoryTransferHelper::transferMemoryToAllocation(hwInfoConfig.isBlitCopyRequiredForLocalMemory(this->getHardwareInfo(), *dispatchGlobalsArrayAllocation),
MemoryTransferHelper::transferMemoryToAllocation(productHelper.isBlitCopyRequiredForLocalMemory(this->getHardwareInfo(), *dispatchGlobalsArrayAllocation),
*this,
dispatchGlobalsArrayAllocation,
tile * dispatchGlobalsStride,

View File

@@ -140,9 +140,9 @@ class Device : public ReferenceTrackedObject<Device> {
uint64_t getGlobalMemorySize(uint32_t deviceBitfield) const;
const std::vector<SubDevice *> getSubDevices() const { return subdevices; }
bool getUuid(std::array<uint8_t, HwInfoConfig::uuidSize> &uuid);
void generateUuid(std::array<uint8_t, HwInfoConfig::uuidSize> &uuid);
void getAdapterLuid(std::array<uint8_t, HwInfoConfig::luidSize> &luid);
bool getUuid(std::array<uint8_t, ProductHelper::uuidSize> &uuid);
void generateUuid(std::array<uint8_t, ProductHelper::uuidSize> &uuid);
void getAdapterLuid(std::array<uint8_t, ProductHelper::luidSize> &luid);
MOCKABLE_VIRTUAL bool verifyAdapterLuid();
void getAdapterMask(uint32_t &nodeMask);
const GfxCoreHelper &getGfxCoreHelper() const;
@@ -216,9 +216,9 @@ class Device : public ReferenceTrackedObject<Device> {
struct {
bool isValid = false;
std::array<uint8_t, HwInfoConfig::uuidSize> id;
std::array<uint8_t, ProductHelper::uuidSize> id;
} uuid;
bool generateUuidFromPciBusInfo(const PhysicalDevicePciBusInfo &pciBusInfo, std::array<uint8_t, HwInfoConfig::uuidSize> &uuid);
bool generateUuidFromPciBusInfo(const PhysicalDevicePciBusInfo &pciBusInfo, std::array<uint8_t, ProductHelper::uuidSize> &uuid);
};
inline EngineControl &Device::getDefaultEngine() {

View File

@@ -9,7 +9,7 @@
namespace NEO {
void Device::getAdapterLuid(std::array<uint8_t, HwInfoConfig::luidSize> &luid) {}
void Device::getAdapterLuid(std::array<uint8_t, ProductHelper::luidSize> &luid) {}
bool Device::verifyAdapterLuid() { return false; }
} // namespace NEO

View File

@@ -10,9 +10,9 @@
namespace NEO {
void Device::getAdapterLuid(std::array<uint8_t, HwInfoConfig::luidSize> &luid) {
void Device::getAdapterLuid(std::array<uint8_t, ProductHelper::luidSize> &luid) {
const LUID adapterLuid = getRootDeviceEnvironment().osInterface->getDriverModel()->as<Wddm>()->getAdapterLuid();
memcpy_s(&luid, HwInfoConfig::luidSize, &adapterLuid, sizeof(luid));
memcpy_s(&luid, ProductHelper::luidSize, &adapterLuid, sizeof(luid));
}
bool Device::verifyAdapterLuid() {

View File

@@ -22,11 +22,11 @@ std::vector<uint8_t> packDeviceBinary(const SingleDeviceBinary binary, std::stri
TargetDevice targetDeviceFromHwInfo(const HardwareInfo &hwInfo) {
TargetDevice targetDevice = {};
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
const auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
targetDevice.coreFamily = hwInfo.platform.eRenderCoreFamily;
targetDevice.productFamily = hwInfo.platform.eProductFamily;
targetDevice.aotConfig.value = hwInfoConfig.getProductConfigFromHwInfo(hwInfo);
targetDevice.aotConfig.value = productHelper.getProductConfigFromHwInfo(hwInfo);
targetDevice.stepping = hwInfo.platform.usRevId;
targetDevice.maxPointerSizeInBytes = sizeof(uintptr_t);
targetDevice.grfSize = hwInfo.capabilityTable.grfSize;

View File

@@ -40,7 +40,7 @@ DirectSubmissionHw<GfxFamily, Dispatcher>::DirectSubmissionHw(const DirectSubmis
hwInfo = inputParams.rootDeviceEnvironment.getHardwareInfo();
memoryOperationHandler = inputParams.rootDeviceEnvironment.memoryOperationsInterface.get();
auto hwInfoConfig = HwInfoConfig::get(hwInfo->platform.eProductFamily);
auto productHelper = ProductHelper::get(hwInfo->platform.eProductFamily);
disableCacheFlush = UllsDefaults::defaultDisableCacheFlush;
disableMonitorFence = UllsDefaults::defaultDisableMonitorFence;
@@ -53,7 +53,7 @@ DirectSubmissionHw<GfxFamily, Dispatcher>::DirectSubmissionHw(const DirectSubmis
disableCacheFlush = !!DebugManager.flags.DirectSubmissionDisableCacheFlush.get();
}
miMemFenceRequired = hwInfoConfig->isGlobalFenceInDirectSubmissionRequired(*hwInfo);
miMemFenceRequired = productHelper->isGlobalFenceInDirectSubmissionRequired(*hwInfo);
if (DebugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.get() == 0) {
miMemFenceRequired = false;
}
@@ -66,7 +66,7 @@ DirectSubmissionHw<GfxFamily, Dispatcher>::DirectSubmissionHw(const DirectSubmis
disableCpuCacheFlush = disableCacheFlushKey == 1 ? true : false;
}
isDisablePrefetcherRequired = hwInfoConfig->isPrefetcherDisablingInDirectSubmissionRequired();
isDisablePrefetcherRequired = productHelper->isPrefetcherDisablingInDirectSubmissionRequired();
if (DebugManager.flags.DirectSubmissionDisablePrefetcher.get() != -1) {
isDisablePrefetcherRequired = !!DebugManager.flags.DirectSubmissionDisablePrefetcher.get();
}

View File

@@ -127,9 +127,9 @@ BindlessHeapsHelper *RootDeviceEnvironment::getBindlessHeapsHelper() const {
return bindlessHeapsHelper.get();
}
const HwInfoConfig &RootDeviceEnvironment::getHwInfoConfig() const {
auto &hwInfoConfig = *HwInfoConfig::get(this->getHardwareInfo()->platform.eProductFamily);
return hwInfoConfig;
const ProductHelper &RootDeviceEnvironment::getProductHelper() const {
auto &productHelper = *ProductHelper::get(this->getHardwareInfo()->platform.eProductFamily);
return productHelper;
}
void RootDeviceEnvironment::createBindlessHeapsHelper(MemoryManager *memoryManager, bool availableDevices, uint32_t rootDeviceIndex, DeviceBitfield deviceBitfield) {
@@ -170,8 +170,8 @@ bool RootDeviceEnvironment::isNumberOfCcsLimited() const {
template <typename HelperType>
HelperType &RootDeviceEnvironment::getHelper() const {
if constexpr (std::is_same_v<HelperType, ProductHelper>) {
auto &hwInfoConfig = *HwInfoConfig::get(this->getHardwareInfo()->platform.eProductFamily);
return hwInfoConfig;
auto &productHelper = *ProductHelper::get(this->getHardwareInfo()->platform.eProductFamily);
return productHelper;
} else {
static_assert(std::is_same_v<HelperType, GfxCoreHelper>, "Only ProductHelper and GfxCoreHelper are supported");
auto &gfxCoreHelper = GfxCoreHelper::get(this->getHardwareInfo()->platform.eRenderCoreFamily);

View File

@@ -31,13 +31,10 @@ class OSInterface;
class OSTime;
class SipKernel;
class SWTagsManager;
class HwInfoConfig;
class ProductHelper;
class GfxCoreHelper;
struct HardwareInfo;
using GfxCoreHelper = GfxCoreHelper;
using ProductHelper = HwInfoConfig;
struct RootDeviceEnvironment {
protected:
std::unique_ptr<HardwareInfo> hwInfo;
@@ -68,7 +65,7 @@ struct RootDeviceEnvironment {
void createBindlessHeapsHelper(MemoryManager *memoryManager, bool availableDevices, uint32_t rootDeviceIndex, DeviceBitfield deviceBitfield);
void limitNumberOfCcs(uint32_t numberOfCcs);
bool isNumberOfCcsLimited() const;
const HwInfoConfig &getHwInfoConfig() const;
const ProductHelper &getProductHelper() const;
template <typename HelperType>
HelperType &getHelper() const;

View File

@@ -24,7 +24,7 @@ void CommandStreamReceiverHw<Family>::programMediaSampler(LinearStream &stream,
using PWR_CLK_STATE_REGISTER = Family::PWR_CLK_STATE_REGISTER;
const auto &hwInfo = peekHwInfo();
if (HwInfoConfig::get(hwInfo.platform.eProductFamily)->isAdditionalMediaSamplerProgrammingRequired()) {
if (ProductHelper::get(hwInfo.platform.eProductFamily)->isAdditionalMediaSamplerProgrammingRequired()) {
if (dispatchFlags.pipelineSelectArgs.mediaSamplerRequired) {
if (!lastVmeSubslicesConfig) {
PipeControlArgs args;
@@ -105,7 +105,7 @@ void CommandStreamReceiverHw<Family>::programMediaSampler(LinearStream &stream,
template <>
bool CommandStreamReceiverHw<Family>::detectInitProgrammingFlagsRequired(const DispatchFlags &dispatchFlags) const {
bool flag = DebugManager.flags.ForceCsrReprogramming.get();
if (HwInfoConfig::get(peekHwInfo().platform.eProductFamily)->isInitialFlagsProgrammingRequired()) {
if (ProductHelper::get(peekHwInfo().platform.eProductFamily)->isInitialFlagsProgrammingRequired()) {
if (!dispatchFlags.pipelineSelectArgs.mediaSamplerRequired) {
if (lastVmeSubslicesConfig) {
flag = true;
@@ -120,7 +120,7 @@ size_t CommandStreamReceiverHw<Family>::getCmdSizeForMediaSampler(bool mediaSamp
typedef typename Family::MI_LOAD_REGISTER_IMM MI_LOAD_REGISTER_IMM;
typedef typename Family::PIPE_CONTROL PIPE_CONTROL;
if (HwInfoConfig::get(peekHwInfo().platform.eProductFamily)->isReturnedCmdSizeForMediaSamplerAdjustmentRequired()) {
if (ProductHelper::get(peekHwInfo().platform.eProductFamily)->isReturnedCmdSizeForMediaSamplerAdjustmentRequired()) {
if (mediaSamplerRequired) {
if (!lastVmeSubslicesConfig) {
return sizeof(MI_LOAD_REGISTER_IMM) + 2 * sizeof(PIPE_CONTROL);

View File

@@ -7,7 +7,7 @@
namespace NEO {
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
return AOT::EHL;
}
} // namespace NEO

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_ELKHARTLAKE> enableEHL;
static EnableProductProductHelper<IGFX_ELKHARTLAKE> enableEHL;
} // namespace NEO

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_ICELAKE_LP> enableICLLP;
static EnableProductProductHelper<IGFX_ICELAKE_LP> enableICLLP;
} // namespace NEO

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_LAKEFIELD> enableLKF;
static EnableProductProductHelper<IGFX_LAKEFIELD> enableLKF;
} // namespace NEO

View File

@@ -9,27 +9,27 @@
namespace NEO {
template <>
bool HwInfoConfigHw<gfxProduct>::isAdditionalMediaSamplerProgrammingRequired() const {
bool ProductHelperHw<gfxProduct>::isAdditionalMediaSamplerProgrammingRequired() const {
return true;
}
template <>
bool HwInfoConfigHw<gfxProduct>::isInitialFlagsProgrammingRequired() const {
bool ProductHelperHw<gfxProduct>::isInitialFlagsProgrammingRequired() const {
return true;
}
template <>
bool HwInfoConfigHw<gfxProduct>::isReturnedCmdSizeForMediaSamplerAdjustmentRequired() const {
bool ProductHelperHw<gfxProduct>::isReturnedCmdSizeForMediaSamplerAdjustmentRequired() const {
return true;
}
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
return AOT::ICL;
}
template <>
std::optional<aub_stream::ProductFamily> HwInfoConfigHw<gfxProduct>::getAubStreamProductFamily() const {
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
return aub_stream::ProductFamily::Icllp;
};

View File

@@ -19,7 +19,7 @@ constexpr static auto gfxProduct = IGFX_ELKHARTLAKE;
namespace NEO {
template <>
int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
if (nullptr == osIface) {
return 0;
}
@@ -30,5 +30,5 @@ int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OS
return 0;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -18,7 +18,7 @@ constexpr static auto gfxProduct = IGFX_ICELAKE_LP;
namespace NEO {
template <>
int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
if (nullptr == osIface) {
return 0;
}
@@ -30,5 +30,5 @@ int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OS
return 0;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -18,7 +18,7 @@ constexpr static auto gfxProduct = IGFX_LAKEFIELD;
namespace NEO {
template <>
int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
if (nullptr == osIface) {
return 0;
}
@@ -30,5 +30,5 @@ int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OS
return 0;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -7,7 +7,7 @@
namespace NEO {
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
return AOT::LKF;
}
} // namespace NEO

View File

@@ -16,4 +16,4 @@ constexpr static auto gfxProduct = IGFX_ELKHARTLAKE;
#include "shared/source/gen11/ehl/os_agnostic_hw_info_config_ehl.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -16,4 +16,4 @@ constexpr static auto gfxProduct = IGFX_ICELAKE_LP;
#include "shared/source/gen11/icllp/os_agnostic_hw_info_config_icllp.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -16,4 +16,4 @@ constexpr static auto gfxProduct = IGFX_LAKEFIELD;
#include "shared/source/gen11/lkf/os_agnostic_hw_info_config_lkf.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -9,7 +9,7 @@
namespace NEO {
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
uint32_t ProductHelperHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
switch (stepping) {
case REVISION_A0:
return 0x0;
@@ -18,12 +18,12 @@ uint32_t HwInfoConfigHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, c
}
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
return AOT::ADL_N;
}
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &hwInfo) const {
uint32_t ProductHelperHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &hwInfo) const {
switch (hwInfo.platform.usRevId) {
case 0x0:
return REVISION_A0;
@@ -32,7 +32,7 @@ uint32_t HwInfoConfigHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &
}
template <>
std::optional<aub_stream::ProductFamily> HwInfoConfigHw<gfxProduct>::getAubStreamProductFamily() const {
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
return aub_stream::ProductFamily::Adln;
};

View File

@@ -9,7 +9,7 @@
namespace NEO {
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
uint32_t ProductHelperHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
switch (stepping) {
case REVISION_A0:
return 0x0;
@@ -20,12 +20,12 @@ uint32_t HwInfoConfigHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, c
}
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
return AOT::ADL_P;
}
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &hwInfo) const {
uint32_t ProductHelperHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &hwInfo) const {
switch (hwInfo.platform.usRevId) {
case 0x0:
return REVISION_A0;
@@ -36,7 +36,7 @@ uint32_t HwInfoConfigHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &
}
template <>
std::optional<aub_stream::ProductFamily> HwInfoConfigHw<gfxProduct>::getAubStreamProductFamily() const {
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
return aub_stream::ProductFamily::Adlp;
};

View File

@@ -9,7 +9,7 @@
namespace NEO {
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
uint32_t ProductHelperHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
switch (stepping) {
case REVISION_A0:
return 0x0;
@@ -20,12 +20,12 @@ uint32_t HwInfoConfigHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, c
}
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
return AOT::ADL_S;
}
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &hwInfo) const {
uint32_t ProductHelperHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &hwInfo) const {
switch (hwInfo.platform.usRevId) {
case 0x0:
return REVISION_A0;
@@ -36,7 +36,7 @@ uint32_t HwInfoConfigHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &
}
template <>
std::optional<aub_stream::ProductFamily> HwInfoConfigHw<gfxProduct>::getAubStreamProductFamily() const {
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
return aub_stream::ProductFamily::Adls;
};

View File

@@ -27,8 +27,8 @@ namespace NEO {
template <>
size_t EncodeWA<Family>::getAdditionalPipelineSelectSize(Device &device, bool isRcs) {
size_t size = 0;
const auto &hwInfoConfig = *HwInfoConfig::get(device.getHardwareInfo().platform.eProductFamily);
if (isRcs && hwInfoConfig.is3DPipelineSelectWARequired()) {
const auto &productHelper = *ProductHelper::get(device.getHardwareInfo().platform.eProductFamily);
if (isRcs && productHelper.is3DPipelineSelectWARequired()) {
size += 2 * PreambleHelper<Family>::getCmdSizeForPipelineSelect(device.getHardwareInfo());
}
return size;
@@ -56,8 +56,8 @@ void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, Sta
template <>
void EncodeWA<Family>::encodeAdditionalPipelineSelect(LinearStream &stream, const PipelineSelectArgs &args,
bool is3DPipeline, const HardwareInfo &hwInfo, bool isRcs) {
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
if (hwInfoConfig.is3DPipelineSelectWARequired() && isRcs) {
const auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
if (productHelper.is3DPipelineSelectWARequired() && isRcs) {
PipelineSelectArgs pipelineSelectArgs = args;
pipelineSelectArgs.is3DPipelineRequired = is3DPipeline;
PreambleHelper<Family>::programPipelineSelect(&stream, pipelineSelectArgs, hwInfo);

View File

@@ -9,7 +9,7 @@
namespace NEO {
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
uint32_t ProductHelperHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
switch (stepping) {
case REVISION_A0:
return 0x0;
@@ -20,12 +20,12 @@ uint32_t HwInfoConfigHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, c
}
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
return AOT::DG1;
}
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &hwInfo) const {
uint32_t ProductHelperHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &hwInfo) const {
switch (hwInfo.platform.usRevId) {
case 0x0:
return REVISION_A0;
@@ -36,42 +36,42 @@ uint32_t HwInfoConfigHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &
}
template <>
bool HwInfoConfigHw<gfxProduct>::pipeControlWARequired(const HardwareInfo &hwInfo) const {
bool ProductHelperHw<gfxProduct>::pipeControlWARequired(const HardwareInfo &hwInfo) const {
return GfxCoreHelper::get(hwInfo.platform.eRenderCoreFamily).isWorkaroundRequired(REVISION_A0, REVISION_B, hwInfo);
}
template <>
bool HwInfoConfigHw<gfxProduct>::imagePitchAlignmentWARequired(const HardwareInfo &hwInfo) const {
bool ProductHelperHw<gfxProduct>::imagePitchAlignmentWARequired(const HardwareInfo &hwInfo) const {
return GfxCoreHelper::get(hwInfo.platform.eRenderCoreFamily).isWorkaroundRequired(REVISION_A0, REVISION_B, hwInfo);
}
template <>
bool HwInfoConfigHw<gfxProduct>::isForceEmuInt32DivRemSPWARequired(const HardwareInfo &hwInfo) const {
bool ProductHelperHw<gfxProduct>::isForceEmuInt32DivRemSPWARequired(const HardwareInfo &hwInfo) const {
return GfxCoreHelper::get(hwInfo.platform.eRenderCoreFamily).isWorkaroundRequired(REVISION_A0, REVISION_B, hwInfo);
}
template <>
bool HwInfoConfigHw<gfxProduct>::obtainBlitterPreference(const HardwareInfo &hwInfo) const {
bool ProductHelperHw<gfxProduct>::obtainBlitterPreference(const HardwareInfo &hwInfo) const {
return true;
}
template <>
bool HwInfoConfigHw<gfxProduct>::is3DPipelineSelectWARequired() const {
bool ProductHelperHw<gfxProduct>::is3DPipelineSelectWARequired() const {
return true;
}
template <>
bool HwInfoConfigHw<gfxProduct>::isStorageInfoAdjustmentRequired() const {
bool ProductHelperHw<gfxProduct>::isStorageInfoAdjustmentRequired() const {
return true;
}
template <>
bool HwInfoConfigHw<gfxProduct>::overrideGfxPartitionLayoutForWsl() const {
bool ProductHelperHw<gfxProduct>::overrideGfxPartitionLayoutForWsl() const {
return true;
}
template <>
std::optional<aub_stream::ProductFamily> HwInfoConfigHw<gfxProduct>::getAubStreamProductFamily() const {
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
return aub_stream::ProductFamily::Dg1;
};

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_ALDERLAKE_N> enableADLN;
static EnableProductProductHelper<IGFX_ALDERLAKE_N> enableADLN;
} // namespace NEO

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_ALDERLAKE_P> enableADLP;
static EnableProductProductHelper<IGFX_ALDERLAKE_P> enableADLP;
} // namespace NEO

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_ALDERLAKE_S> enableADLS;
static EnableProductProductHelper<IGFX_ALDERLAKE_S> enableADLS;
} // namespace NEO

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_DG1> enableDG1;
static EnableProductProductHelper<IGFX_DG1> enableDG1;
} // namespace NEO

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_ROCKETLAKE> enableRKL;
static EnableProductProductHelper<IGFX_ROCKETLAKE> enableRKL;
} // namespace NEO

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_TIGERLAKE_LP> enableTGLLP;
static EnableProductProductHelper<IGFX_TIGERLAKE_LP> enableTGLLP;
} // namespace NEO

View File

@@ -184,7 +184,7 @@ uint32_t GfxCoreHelperHw<Family>::getMocsIndex(const GmmHelper &gmmHelper, bool
template <>
bool MemorySynchronizationCommands<Family>::isBarrierWaRequired(const HardwareInfo &hwInfo) {
return HwInfoConfig::get(hwInfo.platform.eProductFamily)->pipeControlWARequired(hwInfo);
return ProductHelper::get(hwInfo.platform.eProductFamily)->pipeControlWARequired(hwInfo);
}
template <>
@@ -194,13 +194,13 @@ bool MemorySynchronizationCommands<Family>::isBarrierlPriorToPipelineSelectWaReq
template <>
void GfxCoreHelperHw<Family>::setExtraAllocationData(AllocationData &allocationData, const AllocationProperties &properties, const HardwareInfo &hwInfo) const {
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
if (hwInfoConfig.getLocalMemoryAccessMode(hwInfo) == LocalMemoryAccessMode::CpuAccessDisallowed) {
const auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
if (productHelper.getLocalMemoryAccessMode(hwInfo) == LocalMemoryAccessMode::CpuAccessDisallowed) {
if (GraphicsAllocation::isCpuAccessRequired(properties.allocationType)) {
allocationData.flags.useSystemMemory = true;
}
}
if (HwInfoConfig::get(hwInfo.platform.eProductFamily)->isStorageInfoAdjustmentRequired()) {
if (ProductHelper::get(hwInfo.platform.eProductFamily)->isStorageInfoAdjustmentRequired()) {
if (properties.allocationType == AllocationType::BUFFER && !properties.flags.preferCompressed && !properties.flags.shareable) {
allocationData.storageInfo.isLockable = true;
}

View File

@@ -10,7 +10,7 @@
namespace NEO {
template <>
int HwInfoConfigHw<IGFX_ALDERLAKE_S>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) {
int ProductHelperHw<IGFX_ALDERLAKE_S>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) {
if (nullptr == osIface) {
return 0;
}
@@ -22,5 +22,5 @@ int HwInfoConfigHw<IGFX_ALDERLAKE_S>::configureHardwareCustom(HardwareInfo *hwIn
return 0;
}
template class HwInfoConfigHw<IGFX_ALDERLAKE_S>;
template class ProductHelperHw<IGFX_ALDERLAKE_S>;
} // namespace NEO

View File

@@ -18,4 +18,4 @@ constexpr static auto gfxProduct = IGFX_ALDERLAKE_N;
#include "shared/source/gen12lp/adln/os_agnostic_hw_info_config_adln.inl"
#include "shared/source/gen12lp/os_agnostic_hw_info_config_gen12lp.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -22,16 +22,16 @@ constexpr static auto gfxProduct = IGFX_ALDERLAKE_P;
namespace NEO {
template <>
int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
GT_SYSTEM_INFO *gtSystemInfo = &hwInfo->gtSystemInfo;
gtSystemInfo->SliceCount = 1;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo->platform.eProductFamily);
hwInfo->featureTable.flags.ftrGpGpuMidThreadLevelPreempt = (hwInfo->platform.usRevId >= hwInfoConfig.getHwRevIdFromStepping(REVISION_B, *hwInfo));
const auto &productHelper = *ProductHelper::get(hwInfo->platform.eProductFamily);
hwInfo->featureTable.flags.ftrGpGpuMidThreadLevelPreempt = (hwInfo->platform.usRevId >= productHelper.getHwRevIdFromStepping(REVISION_B, *hwInfo));
enableBlitterOperationsSupport(hwInfo);
return 0;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -18,4 +18,4 @@ constexpr static auto gfxProduct = IGFX_ALDERLAKE_S;
#include "shared/source/gen12lp/adls/os_agnostic_hw_info_config_adls.inl"
#include "shared/source/gen12lp/os_agnostic_hw_info_config_gen12lp.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -20,7 +20,7 @@ constexpr static auto gfxProduct = IGFX_DG1;
namespace NEO {
template <>
int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
GT_SYSTEM_INFO *gtSystemInfo = &hwInfo->gtSystemInfo;
gtSystemInfo->SliceCount = 1;
@@ -33,5 +33,5 @@ int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OS
return 0;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -20,7 +20,7 @@ constexpr static auto gfxProduct = IGFX_ROCKETLAKE;
namespace NEO {
template <>
int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
GT_SYSTEM_INFO *gtSystemInfo = &hwInfo->gtSystemInfo;
gtSystemInfo->SliceCount = 1;
hwInfo->featureTable.flags.ftrGpGpuMidThreadLevelPreempt = false;
@@ -30,5 +30,5 @@ int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OS
return 0;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -21,7 +21,7 @@ constexpr static auto gfxProduct = IGFX_TIGERLAKE_LP;
namespace NEO {
template <>
int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
GT_SYSTEM_INFO *gtSystemInfo = &hwInfo->gtSystemInfo;
gtSystemInfo->SliceCount = 1;
hwInfo->featureTable.flags.ftrGpGpuMidThreadLevelPreempt = false;
@@ -30,5 +30,5 @@ int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OS
return 0;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -7,18 +7,18 @@
namespace NEO {
template <>
void HwInfoConfigHw<gfxProduct>::adjustPlatformForProductFamily(HardwareInfo *hwInfo) {
void ProductHelperHw<gfxProduct>::adjustPlatformForProductFamily(HardwareInfo *hwInfo) {
hwInfo->platform.eRenderCoreFamily = GFXCORE_FAMILY::IGFX_GEN12LP_CORE;
hwInfo->platform.eDisplayCoreFamily = GFXCORE_FAMILY::IGFX_GEN12LP_CORE;
}
template <>
bool HwInfoConfigHw<gfxProduct>::isPageTableManagerSupported(const HardwareInfo &hwInfo) const {
bool ProductHelperHw<gfxProduct>::isPageTableManagerSupported(const HardwareInfo &hwInfo) const {
return hwInfo.capabilityTable.ftrRenderCompressedBuffers || hwInfo.capabilityTable.ftrRenderCompressedImages;
}
template <>
void HwInfoConfigHw<gfxProduct>::adjustSamplerState(void *sampler, const HardwareInfo &hwInfo) {
void ProductHelperHw<gfxProduct>::adjustSamplerState(void *sampler, const HardwareInfo &hwInfo) {
using SAMPLER_STATE = typename Gen12LpFamily::SAMPLER_STATE;
auto samplerState = reinterpret_cast<SAMPLER_STATE *>(sampler);
if (DebugManager.flags.ForceSamplerLowFilteringPrecision.get()) {
@@ -27,7 +27,7 @@ void HwInfoConfigHw<gfxProduct>::adjustSamplerState(void *sampler, const Hardwar
}
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getMaxThreadsForWorkgroupInDSSOrSS(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice, uint32_t maxNumEUsPerDualSubSlice) const {
uint32_t ProductHelperHw<gfxProduct>::getMaxThreadsForWorkgroupInDSSOrSS(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice, uint32_t maxNumEUsPerDualSubSlice) const {
return getMaxThreadsForWorkgroup(hwInfo, maxNumEUsPerDualSubSlice);
}
} // namespace NEO

View File

@@ -7,7 +7,7 @@
namespace NEO {
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
uint32_t ProductHelperHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
switch (stepping) {
case REVISION_A0:
return 0x0;
@@ -20,12 +20,12 @@ uint32_t HwInfoConfigHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, c
}
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
return AOT::RKL;
}
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &hwInfo) const {
uint32_t ProductHelperHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &hwInfo) const {
switch (hwInfo.platform.usRevId) {
case 0x0:
return REVISION_A0;
@@ -38,12 +38,12 @@ uint32_t HwInfoConfigHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &
}
template <>
bool HwInfoConfigHw<gfxProduct>::isForceEmuInt32DivRemSPWARequired(const HardwareInfo &hwInfo) const {
bool ProductHelperHw<gfxProduct>::isForceEmuInt32DivRemSPWARequired(const HardwareInfo &hwInfo) const {
return GfxCoreHelper::get(hwInfo.platform.eRenderCoreFamily).isWorkaroundRequired(REVISION_A0, REVISION_C, hwInfo);
}
template <>
bool HwInfoConfigHw<gfxProduct>::is3DPipelineSelectWARequired() const {
bool ProductHelperHw<gfxProduct>::is3DPipelineSelectWARequired() const {
return true;
}
} // namespace NEO

View File

@@ -9,7 +9,7 @@
namespace NEO {
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
uint32_t ProductHelperHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const {
switch (stepping) {
case REVISION_A0:
return 0x0;
@@ -22,12 +22,12 @@ uint32_t HwInfoConfigHw<gfxProduct>::getHwRevIdFromStepping(uint32_t stepping, c
}
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
return AOT::TGL;
}
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &hwInfo) const {
uint32_t ProductHelperHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &hwInfo) const {
switch (hwInfo.platform.usRevId) {
case 0x0:
return REVISION_A0;
@@ -40,27 +40,27 @@ uint32_t HwInfoConfigHw<gfxProduct>::getSteppingFromHwRevId(const HardwareInfo &
}
template <>
bool HwInfoConfigHw<gfxProduct>::pipeControlWARequired(const HardwareInfo &hwInfo) const {
bool ProductHelperHw<gfxProduct>::pipeControlWARequired(const HardwareInfo &hwInfo) const {
return GfxCoreHelper::get(hwInfo.platform.eRenderCoreFamily).isWorkaroundRequired(REVISION_A0, REVISION_B, hwInfo);
}
template <>
bool HwInfoConfigHw<gfxProduct>::imagePitchAlignmentWARequired(const HardwareInfo &hwInfo) const {
bool ProductHelperHw<gfxProduct>::imagePitchAlignmentWARequired(const HardwareInfo &hwInfo) const {
return GfxCoreHelper::get(hwInfo.platform.eRenderCoreFamily).isWorkaroundRequired(REVISION_A0, REVISION_B, hwInfo);
}
template <>
bool HwInfoConfigHw<gfxProduct>::isForceEmuInt32DivRemSPWARequired(const HardwareInfo &hwInfo) const {
bool ProductHelperHw<gfxProduct>::isForceEmuInt32DivRemSPWARequired(const HardwareInfo &hwInfo) const {
return GfxCoreHelper::get(hwInfo.platform.eRenderCoreFamily).isWorkaroundRequired(REVISION_A0, REVISION_B, hwInfo);
}
template <>
bool HwInfoConfigHw<gfxProduct>::is3DPipelineSelectWARequired() const {
bool ProductHelperHw<gfxProduct>::is3DPipelineSelectWARequired() const {
return true;
}
template <>
std::optional<aub_stream::ProductFamily> HwInfoConfigHw<gfxProduct>::getAubStreamProductFamily() const {
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
return aub_stream::ProductFamily::Tgllp;
};

View File

@@ -18,4 +18,4 @@ constexpr static auto gfxProduct = IGFX_ALDERLAKE_N;
#include "shared/source/gen12lp/adln/os_agnostic_hw_info_config_adln.inl"
#include "shared/source/gen12lp/os_agnostic_hw_info_config_gen12lp.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -20,4 +20,4 @@ constexpr static auto gfxProduct = IGFX_ALDERLAKE_P;
#include "shared/source/gen12lp/adlp/os_agnostic_hw_info_config_adlp.inl"
#include "shared/source/gen12lp/os_agnostic_hw_info_config_gen12lp.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -18,4 +18,4 @@ constexpr static auto gfxProduct = IGFX_ALDERLAKE_S;
#include "shared/source/gen12lp/adls/os_agnostic_hw_info_config_adls.inl"
#include "shared/source/gen12lp/os_agnostic_hw_info_config_gen12lp.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -21,9 +21,9 @@ constexpr static auto gfxProduct = IGFX_DG1;
namespace NEO {
template <>
void HwInfoConfigHw<gfxProduct>::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) {
void ProductHelperHw<gfxProduct>::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) {
coherencyFlag = false;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -18,4 +18,4 @@ constexpr static auto gfxProduct = IGFX_ROCKETLAKE;
#include "shared/source/gen12lp/os_agnostic_hw_info_config_gen12lp.inl"
#include "shared/source/gen12lp/rkl/os_agnostic_hw_info_config_rkl.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -21,7 +21,7 @@ constexpr static auto gfxProduct = IGFX_TIGERLAKE_LP;
namespace NEO {
template <>
void HwInfoConfigHw<gfxProduct>::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) {
void ProductHelperHw<gfxProduct>::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) {
coherencyFlag = true;
GfxCoreHelper &gfxCoreHelper = GfxCoreHelper::get(hwInfo.platform.eRenderCoreFamily);
if (gfxCoreHelper.isWorkaroundRequired(REVISION_A0, REVISION_B, hwInfo)) {
@@ -30,5 +30,5 @@ void HwInfoConfigHw<gfxProduct>::setCapabilityCoherencyFlag(const HardwareInfo &
}
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -9,12 +9,12 @@
namespace NEO {
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
return AOT::BDW;
}
template <>
std::optional<aub_stream::ProductFamily> HwInfoConfigHw<gfxProduct>::getAubStreamProductFamily() const {
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
return aub_stream::ProductFamily::Bdw;
};

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_BROADWELL> enableBDW;
static EnableProductProductHelper<IGFX_BROADWELL> enableBDW;
} // namespace NEO

View File

@@ -20,7 +20,7 @@ constexpr static auto gfxProduct = IGFX_BROADWELL;
namespace NEO {
template <>
int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
if (nullptr == osIface) {
return 0;
}
@@ -42,6 +42,6 @@ int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OS
return 0;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -17,4 +17,4 @@ constexpr static auto gfxProduct = IGFX_BROADWELL;
#include "shared/source/gen8/bdw/os_agnostic_hw_info_config_bdw.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -9,12 +9,12 @@
namespace NEO {
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
return AOT::APL;
}
template <>
std::optional<aub_stream::ProductFamily> HwInfoConfigHw<gfxProduct>::getAubStreamProductFamily() const {
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
return aub_stream::ProductFamily::Bxt;
};

View File

@@ -14,7 +14,7 @@
namespace NEO {
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
auto deviceId = hwInfo.platform.usDeviceID;
bool isCfl = (std::find(cflDeviceIds.begin(), cflDeviceIds.end(), deviceId) != cflDeviceIds.end());
bool isWhl = (std::find(whlDeviceIds.begin(), whlDeviceIds.end(), deviceId) != whlDeviceIds.end());
@@ -31,12 +31,12 @@ AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const
}
template <>
std::optional<aub_stream::ProductFamily> HwInfoConfigHw<gfxProduct>::getAubStreamProductFamily() const {
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
return aub_stream::ProductFamily::Cfl;
};
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getDefaultRevisionId() const {
uint32_t ProductHelperHw<gfxProduct>::getDefaultRevisionId() const {
return 9u;
}

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_BROXTON> enableBXT;
static EnableProductProductHelper<IGFX_BROXTON> enableBXT;
} // namespace NEO

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_COFFEELAKE> enableCFL;
static EnableProductProductHelper<IGFX_COFFEELAKE> enableCFL;
} // namespace NEO

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_GEMINILAKE> enableGLK;
static EnableProductProductHelper<IGFX_GEMINILAKE> enableGLK;
} // namespace NEO

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_KABYLAKE> enableKBL;
static EnableProductProductHelper<IGFX_KABYLAKE> enableKBL;
} // namespace NEO

View File

@@ -10,6 +10,6 @@
namespace NEO {
static EnableProductHwInfoConfig<IGFX_SKYLAKE> enableSKL;
static EnableProductProductHelper<IGFX_SKYLAKE> enableSKL;
} // namespace NEO

View File

@@ -9,12 +9,12 @@
namespace NEO {
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
return AOT::GLK;
}
template <>
std::optional<aub_stream::ProductFamily> HwInfoConfigHw<gfxProduct>::getAubStreamProductFamily() const {
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
return aub_stream::ProductFamily::Glk;
};

View File

@@ -14,7 +14,7 @@
namespace NEO {
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
auto deviceId = hwInfo.platform.usDeviceID;
bool isKbl = (std::find(kblDeviceIds.begin(), kblDeviceIds.end(), deviceId) != kblDeviceIds.end());
bool isAml = (std::find(amlDeviceIds.begin(), amlDeviceIds.end(), deviceId) != amlDeviceIds.end());
@@ -28,12 +28,12 @@ AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const
}
template <>
std::optional<aub_stream::ProductFamily> HwInfoConfigHw<gfxProduct>::getAubStreamProductFamily() const {
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
return aub_stream::ProductFamily::Kbl;
};
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getDefaultRevisionId() const {
uint32_t ProductHelperHw<gfxProduct>::getDefaultRevisionId() const {
return 9u;
}

View File

@@ -22,7 +22,7 @@ constexpr static auto gfxProduct = IGFX_BROXTON;
namespace NEO {
template <>
int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
if (nullptr == osIface || osIface->getDriverModel()->getDriverModelType() == DriverModelType::WDDM) {
return 0;
}
@@ -71,5 +71,5 @@ int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OS
return 0;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -17,7 +17,7 @@ constexpr static auto gfxProduct = IGFX_COFFEELAKE;
namespace NEO {
template <>
int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
if (nullptr == osIface) {
return 0;
}
@@ -48,5 +48,5 @@ int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OS
return 0;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -22,7 +22,7 @@ constexpr static auto gfxProduct = IGFX_GEMINILAKE;
namespace NEO {
template <>
int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
if (nullptr == osIface || osIface->getDriverModel()->getDriverModelType() == DriverModelType::WDDM) {
return 0;
}
@@ -69,5 +69,5 @@ int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OS
return 0;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -17,7 +17,7 @@ constexpr static auto gfxProduct = IGFX_KABYLAKE;
namespace NEO {
template <>
int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
if (nullptr == osIface) {
return 0;
}
@@ -48,5 +48,5 @@ int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OS
return 0;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -20,7 +20,7 @@ constexpr static auto gfxProduct = IGFX_SKYLAKE;
namespace NEO {
template <>
int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
int ProductHelperHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const {
if (nullptr == osIface) {
return 0;
}
@@ -52,5 +52,5 @@ int HwInfoConfigHw<gfxProduct>::configureHardwareCustom(HardwareInfo *hwInfo, OS
return 0;
}
template class HwInfoConfigHw<gfxProduct>;
template class ProductHelperHw<gfxProduct>;
} // namespace NEO

View File

@@ -9,17 +9,17 @@
namespace NEO {
template <>
AOT::PRODUCT_CONFIG HwInfoConfigHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
AOT::PRODUCT_CONFIG ProductHelperHw<gfxProduct>::getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const {
return AOT::SKL;
}
template <>
std::optional<aub_stream::ProductFamily> HwInfoConfigHw<gfxProduct>::getAubStreamProductFamily() const {
std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStreamProductFamily() const {
return aub_stream::ProductFamily::Skl;
};
template <>
uint32_t HwInfoConfigHw<gfxProduct>::getDefaultRevisionId() const {
uint32_t ProductHelperHw<gfxProduct>::getDefaultRevisionId() const {
return 9u;
}

View File

@@ -16,4 +16,4 @@ constexpr static auto gfxProduct = IGFX_BROXTON;
#include "shared/source/gen9/bxt/os_agnostic_hw_info_config_bxt.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -14,4 +14,4 @@ constexpr static auto gfxProduct = IGFX_COFFEELAKE;
#include "shared/source/gen9/cfl/os_agnostic_hw_info_config_cfl.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -16,4 +16,4 @@ constexpr static auto gfxProduct = IGFX_GEMINILAKE;
#include "shared/source/gen9/glk/os_agnostic_hw_info_config_glk.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -14,4 +14,4 @@ constexpr static auto gfxProduct = IGFX_KABYLAKE;
#include "shared/source/gen9/kbl/os_agnostic_hw_info_config_kbl.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -16,4 +16,4 @@ constexpr static auto gfxProduct = IGFX_SKYLAKE;
#include "shared/source/gen9/skl/os_agnostic_hw_info_config_skl.inl"
template class NEO::HwInfoConfigHw<gfxProduct>;
template class NEO::ProductHelperHw<gfxProduct>;

View File

@@ -29,7 +29,7 @@ GMM_RESOURCE_USAGE_TYPE_ENUM CacheSettingsHelper::getGmmUsageType(AllocationType
}
GMM_RESOURCE_USAGE_TYPE_ENUM CacheSettingsHelper::getDefaultUsageTypeWithCachingEnabled(AllocationType allocationType, const HardwareInfo &hwInfo) {
const auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily);
const auto productHelper = ProductHelper::get(hwInfo.platform.eProductFamily);
switch (allocationType) {
case AllocationType::IMAGE:
@@ -62,7 +62,7 @@ GMM_RESOURCE_USAGE_TYPE_ENUM CacheSettingsHelper::getDefaultUsageTypeWithCaching
return GMM_RESOURCE_USAGE_OCL_BUFFER;
case AllocationType::GPU_TIMESTAMP_DEVICE_BUFFER:
case AllocationType::TIMESTAMP_PACKET_TAG_BUFFER:
if (hwInfoConfig->isDcFlushAllowed()) {
if (productHelper->isDcFlushAllowed()) {
return getDefaultUsageTypeWithCachingDisabled(allocationType);
}
return GMM_RESOURCE_USAGE_OCL_BUFFER;

View File

@@ -14,8 +14,8 @@ namespace NEO {
template <typename GfxFamily>
uint64_t BlitCommandsHelper<GfxFamily>::getMaxBlitWidthOverride(const RootDeviceEnvironment &rootDeviceEnvironment) {
auto &hwInfo = *rootDeviceEnvironment.getHardwareInfo();
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
if (hwInfoConfig.getLocalMemoryAccessMode(hwInfo) == LocalMemoryAccessMode::CpuAccessAllowed) {
const auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
if (productHelper.getLocalMemoryAccessMode(hwInfo) == LocalMemoryAccessMode::CpuAccessAllowed) {
return 1024;
}
return 0;
@@ -24,8 +24,8 @@ uint64_t BlitCommandsHelper<GfxFamily>::getMaxBlitWidthOverride(const RootDevice
template <typename GfxFamily>
uint64_t BlitCommandsHelper<GfxFamily>::getMaxBlitHeightOverride(const RootDeviceEnvironment &rootDeviceEnvironment) {
auto &hwInfo = *rootDeviceEnvironment.getHardwareInfo();
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
if (hwInfoConfig.getLocalMemoryAccessMode(hwInfo) == LocalMemoryAccessMode::CpuAccessAllowed) {
const auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
if (productHelper.getLocalMemoryAccessMode(hwInfo) == LocalMemoryAccessMode::CpuAccessAllowed) {
return 1024;
}
return 0;

View File

@@ -109,7 +109,7 @@ aub_stream::EngineType getBcsEngineType(const HardwareInfo &hwInfo, const Device
return aub_stream::ENGINE_BCS3;
}
auto enableSelector = HwInfoConfig::get(hwInfo.platform.eProductFamily)->isCopyEngineSelectorEnabled(hwInfo);
auto enableSelector = ProductHelper::get(hwInfo.platform.eProductFamily)->isCopyEngineSelectorEnabled(hwInfo);
if (DebugManager.flags.EnableCopyEngineSelector.get() != -1) {
enableSelector = DebugManager.flags.EnableCopyEngineSelector.get();

View File

@@ -14,9 +14,9 @@ namespace NEO {
template <>
void GfxCoreHelperHw<Family>::setExtraAllocationData(AllocationData &allocationData, const AllocationProperties &properties, const HardwareInfo &hwInfo) const {
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
const auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
if (LocalMemoryAccessMode::CpuAccessDisallowed == hwInfoConfig.getLocalMemoryAccessMode(hwInfo)) {
if (LocalMemoryAccessMode::CpuAccessDisallowed == productHelper.getLocalMemoryAccessMode(hwInfo)) {
if (properties.allocationType == AllocationType::LINEAR_STREAM ||
properties.allocationType == AllocationType::INTERNAL_HEAP ||
properties.allocationType == AllocationType::PRINTF_SURFACE ||
@@ -37,7 +37,7 @@ void GfxCoreHelperHw<Family>::setExtraAllocationData(AllocationData &allocationD
allocationData.flags.requiresCpuAccess = true;
}
if (hwInfoConfig.allowStatelessCompression(hwInfo)) {
if (productHelper.allowStatelessCompression(hwInfo)) {
if (properties.allocationType == AllocationType::GLOBAL_SURFACE ||
properties.allocationType == AllocationType::CONSTANT_SURFACE ||
properties.allocationType == AllocationType::PRINTF_SURFACE) {
@@ -46,7 +46,7 @@ void GfxCoreHelperHw<Family>::setExtraAllocationData(AllocationData &allocationD
}
}
if (HwInfoConfig::get(hwInfo.platform.eProductFamily)->isStorageInfoAdjustmentRequired()) {
if (ProductHelper::get(hwInfo.platform.eProductFamily)->isStorageInfoAdjustmentRequired()) {
if (properties.allocationType == AllocationType::BUFFER && !properties.flags.preferCompressed && !properties.flags.shareable) {
allocationData.storageInfo.isLockable = true;
}

View File

@@ -356,8 +356,8 @@ void MemorySynchronizationCommands<GfxFamily>::addAdditionalSynchronizationForDi
template <typename GfxFamily>
bool MemorySynchronizationCommands<GfxFamily>::getDcFlushEnable(bool isFlushPreferred, const HardwareInfo &hwInfo) {
if (isFlushPreferred) {
const auto &hwInfoConfig = *NEO::HwInfoConfig::get(hwInfo.platform.eProductFamily);
return hwInfoConfig.isDcFlushAllowed();
const auto &productHelper = *NEO::ProductHelper::get(hwInfo.platform.eProductFamily);
return productHelper.isDcFlushAllowed();
}
return false;
}
@@ -450,9 +450,9 @@ inline bool GfxCoreHelperHw<GfxFamily>::isOffsetToSkipSetFFIDGPWARequired(const
template <typename GfxFamily>
bool GfxCoreHelperHw<GfxFamily>::isWorkaroundRequired(uint32_t lowestSteppingWithBug, uint32_t steppingWithFix, const HardwareInfo &hwInfo) const {
const auto hwInfoConfig = HwInfoConfig::get(hwInfo.platform.eProductFamily);
auto lowestHwRevIdWithBug = hwInfoConfig->getHwRevIdFromStepping(lowestSteppingWithBug, hwInfo);
auto hwRevIdWithFix = hwInfoConfig->getHwRevIdFromStepping(steppingWithFix, hwInfo);
const auto productHelper = ProductHelper::get(hwInfo.platform.eProductFamily);
auto lowestHwRevIdWithBug = productHelper->getHwRevIdFromStepping(lowestSteppingWithBug, hwInfo);
auto hwRevIdWithFix = productHelper->getHwRevIdFromStepping(steppingWithFix, hwInfo);
if ((lowestHwRevIdWithBug == CommonConstants::invalidStepping) || (hwRevIdWithFix == CommonConstants::invalidStepping)) {
return false;
}
@@ -692,8 +692,8 @@ const void *GfxCoreHelperHw<GfxFamily>::getBatchBufferEndReference() const {
}
template <typename GfxFamily>
bool GfxCoreHelperHw<GfxFamily>::isPlatformFlushTaskEnabled(const HardwareInfo &hwInfo) const {
const auto &hwInfoConfig = *NEO::HwInfoConfig::get(hwInfo.platform.eProductFamily);
return hwInfoConfig.isFlushTaskAllowed();
const auto &productHelper = *NEO::ProductHelper::get(hwInfo.platform.eProductFamily);
return productHelper.isFlushTaskAllowed();
}
template <typename GfxFamily>

View File

@@ -34,8 +34,8 @@ bool GfxCoreHelperHw<Family>::isRcsAvailable(const HardwareInfo &hwInfo) const {
template <>
bool GfxCoreHelperHw<Family>::isCooperativeDispatchSupported(const EngineGroupType engineGroupType, const HardwareInfo &hwInfo) const {
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
if (hwInfoConfig.isCooperativeEngineSupported(hwInfo)) {
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
if (productHelper.isCooperativeEngineSupported(hwInfo)) {
if (engineGroupType == EngineGroupType::RenderCompute) {
return false;
}
@@ -57,8 +57,8 @@ uint32_t GfxCoreHelperHw<Family>::adjustMaxWorkGroupCount(uint32_t maxWorkGroupC
if (!isCooperativeDispatchSupported(engineGroupType, hwInfo)) {
return 1u;
}
auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
bool requiresLimitation = hwInfoConfig.isCooperativeEngineSupported(hwInfo) &&
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
bool requiresLimitation = productHelper.isCooperativeEngineSupported(hwInfo) &&
(engineGroupType != EngineGroupType::CooperativeCompute) &&
(!isEngineInstanced);
if (requiresLimitation) {

View File

@@ -183,7 +183,7 @@ bool MemorySynchronizationCommands<GfxFamily>::isBarrierWaRequired(const Hardwar
template <typename GfxFamily>
inline bool GfxCoreHelperHw<GfxFamily>::preferSmallWorkgroupSizeForKernel(const size_t size, const HardwareInfo &hwInfo) const {
if (HwInfoConfig::get(hwInfo.platform.eProductFamily)->getSteppingFromHwRevId(hwInfo) >= REVISION_B) {
if (ProductHelper::get(hwInfo.platform.eProductFamily)->getSteppingFromHwRevId(hwInfo) >= REVISION_B) {
return false;
}

View File

@@ -116,8 +116,8 @@ uint32_t PreambleHelper<GfxFamily>::getScratchSizeValueToProgramMediaVfeState(ui
template <typename GfxFamily>
bool PreambleHelper<GfxFamily>::isSystolicModeConfigurable(const HardwareInfo &hwInfo) {
const auto &hwInfoConfig = *NEO::HwInfoConfig::get(hwInfo.platform.eProductFamily);
return hwInfoConfig.isSystolicModeConfigurable(hwInfo);
const auto &productHelper = *NEO::ProductHelper::get(hwInfo.platform.eProductFamily);
return productHelper.isSystolicModeConfigurable(hwInfo);
}
} // namespace NEO

View File

@@ -22,8 +22,8 @@ void StateBaseAddressHelper<GfxFamily>::programStateBaseAddressIntoCommandStream
auto cmdSpace = StateBaseAddressHelper<GfxFamily>::getSpaceForSbaCmd(commandStream);
*cmdSpace = *args.stateBaseAddressCmd;
auto &hwInfoConfig = *HwInfoConfig::get(args.hwInfo->platform.eProductFamily);
if (hwInfoConfig.isAdditionalStateBaseAddressWARequired(*args.hwInfo)) {
auto &productHelper = *ProductHelper::get(args.hwInfo->platform.eProductFamily);
if (productHelper.isAdditionalStateBaseAddressWARequired(*args.hwInfo)) {
auto cmdSpace = StateBaseAddressHelper<GfxFamily>::getSpaceForSbaCmd(commandStream);
*cmdSpace = *args.stateBaseAddressCmd;
}

View File

@@ -7,8 +7,8 @@
template <typename GfxFamily>
void StateBaseAddressHelper<GfxFamily>::appendExtraCacheSettings(StateBaseAddressHelperArgs<GfxFamily> &args) {
auto hwInfoConfig = HwInfoConfig::get(args.gmmHelper->getHardwareInfo()->platform.eProductFamily);
auto cachePolicy = hwInfoConfig->getL1CachePolicy(args.isDebuggerActive);
auto productHelper = ProductHelper::get(args.gmmHelper->getHardwareInfo()->platform.eProductFamily);
auto cachePolicy = productHelper->getL1CachePolicy(args.isDebuggerActive);
args.stateBaseAddressCmd->setL1CachePolicyL1CacheControl(static_cast<typename STATE_BASE_ADDRESS::L1_CACHE_POLICY>(cachePolicy));
if (DebugManager.flags.ForceStatelessL1CachingPolicy.get() != -1 &&

Some files were not shown because too many files have changed in this diff Show More