2017-12-21 07:45:38 +08:00
|
|
|
/*
|
2023-01-02 20:19:09 +08:00
|
|
|
* Copyright (C) 2018-2023 Intel Corporation
|
2017-12-21 07:45:38 +08:00
|
|
|
*
|
2018-09-18 15:11:08 +08:00
|
|
|
* SPDX-License-Identifier: MIT
|
2017-12-21 07:45:38 +08:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
2023-03-22 21:45:04 +08:00
|
|
|
#include "shared/source/command_stream/task_count_helper.h"
|
|
|
|
|
2023-02-06 17:05:43 +08:00
|
|
|
#include <igfxfmid.h>
|
2023-02-01 11:12:09 +08:00
|
|
|
#include <memory>
|
2022-11-16 19:03:40 +08:00
|
|
|
#include <optional>
|
2023-02-06 17:05:43 +08:00
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
2019-02-27 18:39:32 +08:00
|
|
|
|
2022-11-16 19:03:40 +08:00
|
|
|
namespace aub_stream {
|
|
|
|
enum class ProductFamily : uint32_t;
|
|
|
|
}
|
|
|
|
|
2019-03-26 18:59:46 +08:00
|
|
|
namespace NEO {
|
2023-03-22 21:45:04 +08:00
|
|
|
|
|
|
|
class CommandStreamReceiver;
|
2022-11-29 03:00:39 +08:00
|
|
|
class Device;
|
|
|
|
enum class LocalMemoryAccessMode;
|
2022-08-30 04:06:04 +08:00
|
|
|
struct FrontEndPropertiesSupport;
|
2022-09-13 03:11:56 +08:00
|
|
|
struct HardwareInfo;
|
2023-03-07 23:22:10 +08:00
|
|
|
struct KernelDescriptor;
|
2022-09-13 03:11:56 +08:00
|
|
|
struct PipelineSelectArgs;
|
|
|
|
struct PipelineSelectPropertiesSupport;
|
2022-11-23 01:17:04 +08:00
|
|
|
struct StateBaseAddressPropertiesSupport;
|
2021-07-06 21:29:10 +08:00
|
|
|
struct StateComputeModeProperties;
|
2022-08-23 12:02:33 +08:00
|
|
|
struct StateComputeModePropertiesSupport;
|
2022-12-13 00:43:41 +08:00
|
|
|
class ProductHelper;
|
2023-05-05 23:26:09 +08:00
|
|
|
class ReleaseHelper;
|
2022-05-18 03:04:23 +08:00
|
|
|
class GraphicsAllocation;
|
2022-06-13 22:13:34 +08:00
|
|
|
class MemoryManager;
|
2022-11-14 22:52:40 +08:00
|
|
|
struct RootDeviceEnvironment;
|
2022-09-13 03:11:56 +08:00
|
|
|
class OSInterface;
|
2022-01-05 22:24:16 +08:00
|
|
|
enum class DriverModelType;
|
2022-12-25 08:00:07 +08:00
|
|
|
enum class AllocationType;
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2023-02-01 11:12:09 +08:00
|
|
|
using ProductHelperCreateFunctionType = std::unique_ptr<ProductHelper> (*)();
|
|
|
|
extern ProductHelperCreateFunctionType productHelperFactory[IGFX_MAX_PRODUCT];
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2022-07-01 23:06:12 +08:00
|
|
|
enum class UsmAccessCapabilities {
|
|
|
|
Host = 0,
|
|
|
|
Device,
|
|
|
|
SharedSingleDevice,
|
|
|
|
SharedCrossDevice,
|
|
|
|
SharedSystemCrossDevice
|
|
|
|
};
|
|
|
|
|
2022-12-13 00:43:41 +08:00
|
|
|
class ProductHelper {
|
2017-12-21 07:45:38 +08:00
|
|
|
public:
|
2023-02-01 11:12:09 +08:00
|
|
|
static std::unique_ptr<ProductHelper> create(PRODUCT_FAMILY product) {
|
|
|
|
auto productHelperCreateFunction = productHelperFactory[product];
|
2023-02-02 17:50:31 +08:00
|
|
|
if (productHelperCreateFunction == nullptr) {
|
|
|
|
return nullptr;
|
|
|
|
}
|
2023-02-01 11:12:09 +08:00
|
|
|
auto productHelper = productHelperCreateFunction();
|
|
|
|
return productHelper;
|
2017-12-21 07:45:38 +08:00
|
|
|
}
|
2023-02-01 11:12:09 +08:00
|
|
|
|
2021-11-26 17:40:06 +08:00
|
|
|
static constexpr uint32_t uuidSize = 16u;
|
2022-05-11 22:08:18 +08:00
|
|
|
static constexpr uint32_t luidSize = 8u;
|
2023-01-20 22:30:59 +08:00
|
|
|
int configureHwInfoWddm(const HardwareInfo *inHwInfo, HardwareInfo *outHwInfo, const RootDeviceEnvironment &rootDeviceEnvironment);
|
|
|
|
int configureHwInfoDrm(const HardwareInfo *inHwInfo, HardwareInfo *outHwInfo, const RootDeviceEnvironment &rootDeviceEnvironment);
|
2022-11-07 22:47:17 +08:00
|
|
|
virtual int configureHardwareCustom(HardwareInfo *hwInfo, OSInterface *osIface) const = 0;
|
2020-11-20 17:45:15 +08:00
|
|
|
virtual void adjustPlatformForProductFamily(HardwareInfo *hwInfo) = 0;
|
2023-01-02 20:19:09 +08:00
|
|
|
virtual void adjustSamplerState(void *sampler, const HardwareInfo &hwInfo) const = 0;
|
2022-11-11 06:13:46 +08:00
|
|
|
virtual void disableRcsExposure(HardwareInfo *hwInfo) const = 0;
|
2022-12-21 19:35:37 +08:00
|
|
|
virtual uint64_t getHostMemCapabilities(const HardwareInfo *hwInfo) const = 0;
|
|
|
|
virtual uint64_t getDeviceMemCapabilities() const = 0;
|
|
|
|
virtual uint64_t getSingleDeviceSharedMemCapabilities() const = 0;
|
|
|
|
virtual uint64_t getCrossDeviceSharedMemCapabilities() const = 0;
|
|
|
|
virtual uint64_t getSharedSystemMemCapabilities(const HardwareInfo *hwInfo) const = 0;
|
|
|
|
virtual void getKernelExtendedProperties(uint32_t *fp16, uint32_t *fp32, uint32_t *fp64) const = 0;
|
|
|
|
virtual std::vector<int32_t> getKernelSupportedThreadArbitrationPolicies() const = 0;
|
2022-12-20 23:13:56 +08:00
|
|
|
virtual uint32_t getDeviceMemoryMaxClkRate(const HardwareInfo &hwInfo, const OSInterface *osIface, uint32_t subDeviceIndex) const = 0;
|
|
|
|
virtual uint64_t getDeviceMemoryPhysicalSizeInBytes(const OSInterface *osIface, uint32_t subDeviceIndex) const = 0;
|
|
|
|
virtual uint64_t getDeviceMemoryMaxBandWidthInBytesPerSecond(const HardwareInfo &hwInfo, const OSInterface *osIface, uint32_t subDeviceIndex) const = 0;
|
2021-06-23 21:34:56 +08:00
|
|
|
virtual bool isAdditionalStateBaseAddressWARequired(const HardwareInfo &hwInfo) const = 0;
|
2021-07-06 18:14:23 +08:00
|
|
|
virtual bool isMaxThreadsForWorkgroupWARequired(const HardwareInfo &hwInfo) const = 0;
|
|
|
|
virtual uint32_t getMaxThreadsForWorkgroupInDSSOrSS(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice, uint32_t maxNumEUsPerDualSubSlice) const = 0;
|
|
|
|
virtual uint32_t getMaxThreadsForWorkgroup(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice) const = 0;
|
2023-01-06 00:57:56 +08:00
|
|
|
virtual void setForceNonCoherent(void *const commandPtr, const StateComputeModeProperties &properties) const = 0;
|
|
|
|
virtual void updateScmCommand(void *const commandPtr, const StateComputeModeProperties &properties) const = 0;
|
2022-12-29 06:59:37 +08:00
|
|
|
virtual void updateIddCommand(void *const commandPtr, uint32_t numGrf, int32_t threadArbitrationPolicy) const = 0;
|
2021-08-17 20:00:35 +08:00
|
|
|
virtual bool obtainBlitterPreference(const HardwareInfo &hwInfo) const = 0;
|
2021-10-28 04:22:31 +08:00
|
|
|
virtual bool isBlitterFullySupported(const HardwareInfo &hwInfo) const = 0;
|
2021-08-19 19:06:49 +08:00
|
|
|
virtual bool isPageTableManagerSupported(const HardwareInfo &hwInfo) const = 0;
|
2023-04-12 22:02:38 +08:00
|
|
|
virtual uint32_t getProductConfigFromHwInfo(const HardwareInfo &hwInfo) const = 0;
|
2021-08-20 23:41:43 +08:00
|
|
|
virtual uint32_t getHwRevIdFromStepping(uint32_t stepping, const HardwareInfo &hwInfo) const = 0;
|
2021-08-27 21:30:39 +08:00
|
|
|
virtual uint32_t getSteppingFromHwRevId(const HardwareInfo &hwInfo) const = 0;
|
|
|
|
virtual uint32_t getAubStreamSteppingFromHwRevId(const HardwareInfo &hwInfo) const = 0;
|
2022-11-16 19:03:40 +08:00
|
|
|
virtual std::optional<aub_stream::ProductFamily> getAubStreamProductFamily() const = 0;
|
2021-09-02 19:11:39 +08:00
|
|
|
virtual bool isDefaultEngineTypeAdjustmentRequired(const HardwareInfo &hwInfo) const = 0;
|
2021-11-30 20:43:06 +08:00
|
|
|
virtual bool overrideGfxPartitionLayoutForWsl() const = 0;
|
2021-08-31 23:17:18 +08:00
|
|
|
virtual std::string getDeviceMemoryName() const = 0;
|
2021-09-06 18:34:34 +08:00
|
|
|
virtual bool isDisableOverdispatchAvailable(const HardwareInfo &hwInfo) const = 0;
|
2021-12-03 21:52:16 +08:00
|
|
|
virtual bool allowCompression(const HardwareInfo &hwInfo) const = 0;
|
2021-09-09 20:27:41 +08:00
|
|
|
virtual LocalMemoryAccessMode getLocalMemoryAccessMode(const HardwareInfo &hwInfo) const = 0;
|
2021-09-14 22:57:43 +08:00
|
|
|
virtual bool isAllocationSizeAdjustmentRequired(const HardwareInfo &hwInfo) const = 0;
|
2023-02-06 16:36:40 +08:00
|
|
|
virtual int getProductMaxPreferredSlmSize(const HardwareInfo &hwInfo, int preferredEnumValue) const = 0;
|
2023-05-09 09:56:50 +08:00
|
|
|
virtual bool isPrefetchDisablingRequired(const ReleaseHelper *releaseHelper) const = 0;
|
2021-09-20 20:05:09 +08:00
|
|
|
virtual bool isNewResidencyModelSupported() const = 0;
|
2021-11-22 20:49:26 +08:00
|
|
|
virtual bool isDirectSubmissionSupported(const HardwareInfo &hwInfo) const = 0;
|
2023-05-12 22:49:39 +08:00
|
|
|
virtual std::pair<bool, bool> isPipeControlPriorToNonPipelinedStateCommandsWARequired(const HardwareInfo &hwInfo, bool isRcs, const ReleaseHelper *releaseHelper) const = 0;
|
2021-09-21 21:34:25 +08:00
|
|
|
virtual bool heapInLocalMem(const HardwareInfo &hwInfo) const = 0;
|
2021-09-22 22:39:01 +08:00
|
|
|
virtual void setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) = 0;
|
2021-09-23 23:08:41 +08:00
|
|
|
virtual bool isAdditionalMediaSamplerProgrammingRequired() const = 0;
|
|
|
|
virtual bool isInitialFlagsProgrammingRequired() const = 0;
|
|
|
|
virtual bool isReturnedCmdSizeForMediaSamplerAdjustmentRequired() const = 0;
|
2021-09-24 01:46:36 +08:00
|
|
|
virtual bool extraParametersInvalid(const HardwareInfo &hwInfo) const = 0;
|
2021-09-24 22:29:49 +08:00
|
|
|
virtual bool pipeControlWARequired(const HardwareInfo &hwInfo) const = 0;
|
|
|
|
virtual bool imagePitchAlignmentWARequired(const HardwareInfo &hwInfo) const = 0;
|
|
|
|
virtual bool isForceEmuInt32DivRemSPWARequired(const HardwareInfo &hwInfo) const = 0;
|
|
|
|
virtual bool is3DPipelineSelectWARequired() const = 0;
|
2021-09-28 18:54:52 +08:00
|
|
|
virtual bool isStorageInfoAdjustmentRequired() const = 0;
|
2021-10-13 21:30:45 +08:00
|
|
|
virtual bool isBlitterForImagesSupported() const = 0;
|
2023-02-06 01:20:25 +08:00
|
|
|
virtual bool isPageFaultSupported() const = 0;
|
2023-02-26 23:46:10 +08:00
|
|
|
virtual bool isKmdMigrationSupported() const = 0;
|
2021-10-15 23:24:03 +08:00
|
|
|
virtual bool isTile64With3DSurfaceOnBCSSupported(const HardwareInfo &hwInfo) const = 0;
|
2021-12-20 22:37:33 +08:00
|
|
|
virtual bool isDcFlushAllowed() const = 0;
|
2021-11-30 18:19:27 +08:00
|
|
|
virtual uint32_t computeMaxNeededSubSliceSpace(const HardwareInfo &hwInfo) const = 0;
|
2022-12-13 00:43:41 +08:00
|
|
|
virtual bool getUuid(Device *device, std::array<uint8_t, ProductHelper::uuidSize> &uuid) const = 0;
|
2022-02-18 05:44:55 +08:00
|
|
|
virtual bool isFlushTaskAllowed() const = 0;
|
2022-03-07 22:31:53 +08:00
|
|
|
virtual bool programAllStateComputeCommandFields() const = 0;
|
2022-03-09 23:39:57 +08:00
|
|
|
virtual bool isSystolicModeConfigurable(const HardwareInfo &hwInfo) const = 0;
|
2023-02-21 22:27:13 +08:00
|
|
|
virtual bool isInitBuiltinAsyncSupported(const HardwareInfo &hwInfo) const = 0;
|
2022-03-24 16:59:17 +08:00
|
|
|
virtual bool isGlobalFenceInCommandStreamRequired(const HardwareInfo &hwInfo) const = 0;
|
2022-07-05 18:25:16 +08:00
|
|
|
virtual bool isGlobalFenceInDirectSubmissionRequired(const HardwareInfo &hwInfo) const = 0;
|
2022-03-09 23:39:57 +08:00
|
|
|
virtual bool isComputeDispatchAllWalkerEnableInComputeWalkerRequired(const HardwareInfo &hwInfo) const = 0;
|
2022-09-20 23:46:54 +08:00
|
|
|
virtual bool isCopyEngineSelectorEnabled(const HardwareInfo &hwInfo) const = 0;
|
2022-03-09 23:39:57 +08:00
|
|
|
virtual bool isAdjustProgrammableIdPreferredSlmSizeRequired(const HardwareInfo &hwInfo) const = 0;
|
2022-03-22 01:44:02 +08:00
|
|
|
virtual uint32_t getThreadEuRatioForScratch(const HardwareInfo &hwInfo) const = 0;
|
2022-12-02 17:30:29 +08:00
|
|
|
virtual size_t getSvmCpuAlignment() const = 0;
|
2022-03-09 23:39:57 +08:00
|
|
|
virtual bool isComputeDispatchAllWalkerEnableInCfeStateRequired(const HardwareInfo &hwInfo) const = 0;
|
2022-04-12 01:13:44 +08:00
|
|
|
virtual bool isVmBindPatIndexProgrammingSupported() const = 0;
|
2022-07-08 19:29:59 +08:00
|
|
|
virtual bool isIpSamplingSupported(const HardwareInfo &hwInfo) const = 0;
|
2022-04-26 22:28:18 +08:00
|
|
|
virtual bool isGrfNumReportedWithScm() const = 0;
|
2022-05-17 04:34:53 +08:00
|
|
|
virtual bool isThreadArbitrationPolicyReportedWithScm() const = 0;
|
2022-05-11 01:38:03 +08:00
|
|
|
virtual bool isCooperativeEngineSupported(const HardwareInfo &hwInfo) const = 0;
|
2022-05-13 20:04:24 +08:00
|
|
|
virtual bool isTimestampWaitSupportedForEvents() const = 0;
|
2022-05-02 21:54:24 +08:00
|
|
|
virtual bool isTilePlacementResourceWaRequired(const HardwareInfo &hwInfo) const = 0;
|
|
|
|
virtual bool allowMemoryPrefetch(const HardwareInfo &hwInfo) const = 0;
|
|
|
|
virtual bool isBcsReportWaRequired(const HardwareInfo &hwInfo) const = 0;
|
2022-07-20 23:05:27 +08:00
|
|
|
virtual bool isBlitSplitEnqueueWARequired(const HardwareInfo &hwInfo) const = 0;
|
2023-01-27 00:21:09 +08:00
|
|
|
virtual bool isBlitCopyRequiredForLocalMemory(const RootDeviceEnvironment &rootDeviceEnvironment, const GraphicsAllocation &allocation) const = 0;
|
2023-01-27 20:37:09 +08:00
|
|
|
virtual bool isInitDeviceWithFirstSubmissionRequired(const HardwareInfo &hwInfo) const = 0;
|
2022-05-24 01:03:53 +08:00
|
|
|
virtual bool isImplicitScalingSupported(const HardwareInfo &hwInfo) const = 0;
|
2022-06-13 22:13:34 +08:00
|
|
|
virtual bool isCpuCopyNecessary(const void *ptr, MemoryManager *memoryManager) const = 0;
|
2023-01-31 00:27:42 +08:00
|
|
|
virtual bool isUnlockingLockedPtrNecessary(const HardwareInfo &hwInfo) const = 0;
|
2023-05-05 23:26:09 +08:00
|
|
|
virtual bool isAdjustWalkOrderAvailable(const ReleaseHelper *releaseHelper) const = 0;
|
2022-06-17 18:14:50 +08:00
|
|
|
virtual bool isAssignEngineRoundRobinSupported() const = 0;
|
2022-08-23 19:48:18 +08:00
|
|
|
virtual uint32_t getL1CachePolicy(bool isDebuggerActive) const = 0;
|
2022-08-22 20:11:44 +08:00
|
|
|
virtual bool isEvictionIfNecessaryFlagSupported() const = 0;
|
2022-07-25 20:13:27 +08:00
|
|
|
virtual void adjustNumberOfCcs(HardwareInfo &hwInfo) const = 0;
|
2022-08-10 19:52:06 +08:00
|
|
|
virtual bool isPrefetcherDisablingInDirectSubmissionRequired() const = 0;
|
2022-08-22 22:53:48 +08:00
|
|
|
virtual bool isStatefulAddressingModeSupported() const = 0;
|
2022-09-12 20:50:07 +08:00
|
|
|
virtual bool isPlatformQuerySupported() const = 0;
|
2022-10-28 17:25:16 +08:00
|
|
|
virtual bool isNonBlockingGpuSubmissionSupported() const = 0;
|
2023-03-22 21:45:04 +08:00
|
|
|
virtual bool isResolveDependenciesByPipeControlsSupported(const HardwareInfo &hwInfo, bool isOOQ, TaskCountType queueTaskCount, const CommandStreamReceiver &queueCsr) const = 0;
|
2022-12-08 19:56:06 +08:00
|
|
|
virtual bool isMidThreadPreemptionDisallowedForRayTracingKernels() const = 0;
|
2022-12-12 23:06:59 +08:00
|
|
|
virtual bool isBufferPoolAllocatorSupported() const = 0;
|
2022-12-25 08:00:07 +08:00
|
|
|
virtual uint64_t overridePatIndex(AllocationType allocationType, uint64_t patIndex) const = 0;
|
2023-01-12 14:17:26 +08:00
|
|
|
virtual bool isTlbFlushRequired() const = 0;
|
2023-03-01 05:08:09 +08:00
|
|
|
virtual bool isDummyBlitWaRequired() const = 0;
|
2023-03-07 23:22:10 +08:00
|
|
|
virtual bool isDetectIndirectAccessInKernelSupported(const KernelDescriptor &kernelDescriptor) const = 0;
|
2023-03-15 21:53:53 +08:00
|
|
|
virtual bool isLinearStoragePreferred(bool isSharedContext, bool isImage1d, bool forceLinearStorage) const = 0;
|
|
|
|
|
2022-08-23 12:02:33 +08:00
|
|
|
virtual bool getFrontEndPropertyScratchSizeSupport() const = 0;
|
|
|
|
virtual bool getFrontEndPropertyPrivateScratchSizeSupport() const = 0;
|
2022-08-30 04:06:04 +08:00
|
|
|
virtual bool getFrontEndPropertyComputeDispatchAllWalkerSupport() const = 0;
|
|
|
|
virtual bool getFrontEndPropertyDisableEuFusionSupport() const = 0;
|
|
|
|
virtual bool getFrontEndPropertyDisableOverDispatchSupport() const = 0;
|
|
|
|
virtual bool getFrontEndPropertySingleSliceDispatchCcsModeSupport() const = 0;
|
2022-08-23 12:02:33 +08:00
|
|
|
|
|
|
|
virtual bool getScmPropertyThreadArbitrationPolicySupport() const = 0;
|
|
|
|
virtual bool getScmPropertyCoherencyRequiredSupport() const = 0;
|
|
|
|
virtual bool getScmPropertyZPassAsyncComputeThreadLimitSupport() const = 0;
|
|
|
|
virtual bool getScmPropertyPixelAsyncComputeThreadLimitSupport() const = 0;
|
|
|
|
virtual bool getScmPropertyLargeGrfModeSupport() const = 0;
|
|
|
|
virtual bool getScmPropertyDevicePreemptionModeSupport() const = 0;
|
|
|
|
|
2022-11-23 01:17:04 +08:00
|
|
|
virtual bool getStateBaseAddressPropertyGlobalAtomicsSupport() const = 0;
|
|
|
|
virtual bool getStateBaseAddressPropertyBindingTablePoolBaseAddressSupport() const = 0;
|
2022-08-23 12:02:33 +08:00
|
|
|
|
|
|
|
virtual bool getPreemptionDbgPropertyPreemptionModeSupport() const = 0;
|
|
|
|
virtual bool getPreemptionDbgPropertyStateSipSupport() const = 0;
|
|
|
|
virtual bool getPreemptionDbgPropertyCsrSurfaceSupport() const = 0;
|
|
|
|
|
2022-09-13 03:11:56 +08:00
|
|
|
virtual bool getPipelineSelectPropertyMediaSamplerDopClockGateSupport() const = 0;
|
|
|
|
virtual bool getPipelineSelectPropertySystolicModeSupport() const = 0;
|
|
|
|
|
2022-12-15 20:13:57 +08:00
|
|
|
virtual void fillScmPropertiesSupportStructure(StateComputeModePropertiesSupport &propertiesSupport) const = 0;
|
|
|
|
virtual void fillFrontEndPropertiesSupportStructure(FrontEndPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) const = 0;
|
|
|
|
virtual void fillPipelineSelectPropertiesSupportStructure(PipelineSelectPropertiesSupport &propertiesSupport, const HardwareInfo &hwInfo) const = 0;
|
2023-01-23 22:08:25 +08:00
|
|
|
virtual void fillStateBaseAddressPropertiesSupportStructure(StateBaseAddressPropertiesSupport &propertiesSupport) const = 0;
|
2022-11-28 23:05:25 +08:00
|
|
|
virtual uint32_t getDefaultRevisionId() const = 0;
|
2022-08-23 12:02:33 +08:00
|
|
|
|
2023-03-08 18:42:29 +08:00
|
|
|
virtual bool isFusedEuDisabledForDpas(bool kernelHasDpasInstructions, const uint32_t *lws, const uint32_t *groupCount, const HardwareInfo &hwInfo) const = 0;
|
|
|
|
virtual bool isCalculationForDisablingEuFusionWithDpasNeeded(const HardwareInfo &hwInfo) const = 0;
|
2023-02-16 19:10:34 +08:00
|
|
|
virtual uint32_t getNumberOfPartsInTileForConcurrentKernel() const = 0;
|
2023-03-06 23:12:14 +08:00
|
|
|
virtual bool is48bResourceNeededForRayTracing() const = 0;
|
2023-05-09 09:56:50 +08:00
|
|
|
virtual void adjustIpVersionIfNeeded(HardwareInfo &hwInfo) const = 0;
|
2022-12-12 18:57:02 +08:00
|
|
|
|
2023-02-01 11:12:09 +08:00
|
|
|
virtual ~ProductHelper() = default;
|
2021-08-17 20:00:35 +08:00
|
|
|
|
2021-09-09 20:27:41 +08:00
|
|
|
protected:
|
2023-02-01 11:12:09 +08:00
|
|
|
ProductHelper() = default;
|
|
|
|
|
2021-09-09 20:27:41 +08:00
|
|
|
virtual LocalMemoryAccessMode getDefaultLocalMemoryAccessMode(const HardwareInfo &hwInfo) const = 0;
|
2022-12-15 20:13:57 +08:00
|
|
|
virtual void fillScmPropertiesSupportStructureBase(StateComputeModePropertiesSupport &propertiesSupport) const = 0;
|
2017-12-21 07:45:38 +08:00
|
|
|
};
|
2019-03-26 18:59:46 +08:00
|
|
|
} // namespace NEO
|