mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
Rename HwInfoConfig to ProductHelper
Related-To: NEO-6853 Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
a1cf7fb938
commit
232b886056
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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_";
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_ELKHARTLAKE> enableEHL;
|
||||
static EnableProductProductHelper<IGFX_ELKHARTLAKE> enableEHL;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_ICELAKE_LP> enableICLLP;
|
||||
static EnableProductProductHelper<IGFX_ICELAKE_LP> enableICLLP;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_LAKEFIELD> enableLKF;
|
||||
static EnableProductProductHelper<IGFX_LAKEFIELD> enableLKF;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_ALDERLAKE_N> enableADLN;
|
||||
static EnableProductProductHelper<IGFX_ALDERLAKE_N> enableADLN;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_ALDERLAKE_P> enableADLP;
|
||||
static EnableProductProductHelper<IGFX_ALDERLAKE_P> enableADLP;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_ALDERLAKE_S> enableADLS;
|
||||
static EnableProductProductHelper<IGFX_ALDERLAKE_S> enableADLS;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_DG1> enableDG1;
|
||||
static EnableProductProductHelper<IGFX_DG1> enableDG1;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_ROCKETLAKE> enableRKL;
|
||||
static EnableProductProductHelper<IGFX_ROCKETLAKE> enableRKL;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_TIGERLAKE_LP> enableTGLLP;
|
||||
static EnableProductProductHelper<IGFX_TIGERLAKE_LP> enableTGLLP;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_BROADWELL> enableBDW;
|
||||
static EnableProductProductHelper<IGFX_BROADWELL> enableBDW;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_BROXTON> enableBXT;
|
||||
static EnableProductProductHelper<IGFX_BROXTON> enableBXT;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_COFFEELAKE> enableCFL;
|
||||
static EnableProductProductHelper<IGFX_COFFEELAKE> enableCFL;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_GEMINILAKE> enableGLK;
|
||||
static EnableProductProductHelper<IGFX_GEMINILAKE> enableGLK;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_KABYLAKE> enableKBL;
|
||||
static EnableProductProductHelper<IGFX_KABYLAKE> enableKBL;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
static EnableProductHwInfoConfig<IGFX_SKYLAKE> enableSKL;
|
||||
static EnableProductProductHelper<IGFX_SKYLAKE> enableSKL;
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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>;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user