mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-08 14:02:58 +08:00
Leave init builtin async only on post silicon
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
012cbecb32
commit
45139de33a
@@ -24,7 +24,8 @@ std::unique_ptr<BuiltinFunctionsLib> BuiltinFunctionsLib::create(Device *device,
|
||||
bool BuiltinFunctionsLibImpl::initBuiltinsAsyncEnabled(Device *device) {
|
||||
return device->getNEODevice()->getRootDeviceEnvironment().osInterface.get() &&
|
||||
device->getNEODevice()->getRootDeviceEnvironment().osInterface->getDriverModel()->getDriverModelType() == NEO::DriverModelType::DRM &&
|
||||
device->getNEODevice()->getDefaultEngine().commandStreamReceiver->getType() == NEO::CommandStreamReceiverType::CSR_HW;
|
||||
device->getNEODevice()->getDefaultEngine().commandStreamReceiver->getType() == NEO::CommandStreamReceiverType::CSR_HW &&
|
||||
device->getNEODevice()->getRootDeviceEnvironment().getProductHelper().isInitBuiltinAsyncSupported(device->getHwInfo());
|
||||
}
|
||||
|
||||
} // namespace L0
|
||||
|
||||
@@ -125,6 +125,7 @@ class ProductHelper {
|
||||
virtual bool isFlushTaskAllowed() const = 0;
|
||||
virtual bool programAllStateComputeCommandFields() const = 0;
|
||||
virtual bool isSystolicModeConfigurable(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual bool isInitBuiltinAsyncSupported(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual bool isGlobalFenceInCommandStreamRequired(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual bool isGlobalFenceInDirectSubmissionRequired(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual bool isComputeDispatchAllWalkerEnableInComputeWalkerRequired(const HardwareInfo &hwInfo) const = 0;
|
||||
|
||||
@@ -55,6 +55,11 @@ void ProductHelperHw<gfxProduct>::setCapabilityCoherencyFlag(const HardwareInfo
|
||||
coherencyFlag = true;
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
bool ProductHelperHw<gfxProduct>::isInitBuiltinAsyncSupported(const HardwareInfo &hwInfo) const {
|
||||
return true;
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
bool ProductHelperHw<gfxProduct>::isTile64With3DSurfaceOnBCSSupported(const HardwareInfo &hwInfo) const {
|
||||
return true;
|
||||
|
||||
@@ -58,6 +58,11 @@ void ProductHelperHw<gfxProduct>::setCapabilityCoherencyFlag(const HardwareInfo
|
||||
coherencyFlag = false;
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
bool ProductHelperHw<gfxProduct>::isInitBuiltinAsyncSupported(const HardwareInfo &hwInfo) const {
|
||||
return true;
|
||||
}
|
||||
|
||||
template <PRODUCT_FAMILY gfxProduct>
|
||||
bool ProductHelperHw<gfxProduct>::isTile64With3DSurfaceOnBCSSupported(const HardwareInfo &hwInfo) const {
|
||||
return false;
|
||||
|
||||
@@ -84,6 +84,7 @@ class ProductHelperHw : public ProductHelper {
|
||||
bool isFlushTaskAllowed() const override;
|
||||
bool programAllStateComputeCommandFields() const override;
|
||||
bool isSystolicModeConfigurable(const HardwareInfo &hwInfo) const override;
|
||||
bool isInitBuiltinAsyncSupported(const HardwareInfo &hwInfo) const override;
|
||||
bool isComputeDispatchAllWalkerEnableInComputeWalkerRequired(const HardwareInfo &hwInfo) const override;
|
||||
bool isCopyEngineSelectorEnabled(const HardwareInfo &hwInfo) const override;
|
||||
bool isGlobalFenceInCommandStreamRequired(const HardwareInfo &hwInfo) const override;
|
||||
|
||||
@@ -106,6 +106,11 @@ bool ProductHelperHw<gfxProduct>::isAdjustWalkOrderAvailable(const HardwareInfo
|
||||
return (MTL::isLpg(hwInfo) == false);
|
||||
}
|
||||
|
||||
template <>
|
||||
bool ProductHelperHw<gfxProduct>::isInitBuiltinAsyncSupported(const HardwareInfo &hwInfo) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
template <>
|
||||
bool ProductHelperHw<gfxProduct>::isEvictionIfNecessaryFlagSupported() const {
|
||||
return true;
|
||||
|
||||
@@ -215,6 +215,11 @@ template <>
|
||||
void ProductHelperHw<IGFX_UNKNOWN>::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) {
|
||||
}
|
||||
|
||||
template <>
|
||||
bool ProductHelperHw<IGFX_UNKNOWN>::isInitBuiltinAsyncSupported(const HardwareInfo &hwInfo) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
template <>
|
||||
bool ProductHelperHw<IGFX_UNKNOWN>::isAdditionalMediaSamplerProgrammingRequired() const {
|
||||
return false;
|
||||
|
||||
@@ -35,6 +35,10 @@ SKLTEST_F(SklProductHelper, GivenIncorrectDataWhenConfiguringHwInfoThenErrorIsRe
|
||||
EXPECT_EQ(0u, gtSystemInfo.EUCount);
|
||||
}
|
||||
|
||||
SKLTEST_F(SklProductHelper, givenSklProductHelperWhenIsInitBuiltinAsyncSupportedThenReturnTrue) {
|
||||
EXPECT_TRUE(productHelper->isInitBuiltinAsyncSupported(*defaultHwInfo));
|
||||
}
|
||||
|
||||
SKLTEST_F(SklProductHelper, givenBoolWhenCallSklHardwareInfoSetupThenFeatureTableAndWorkaroundTableAreSetCorrect) {
|
||||
uint64_t configs[] = {
|
||||
0x100030008,
|
||||
|
||||
@@ -51,6 +51,10 @@ XEHPTEST_F(XeHpProductHelper, givenProductHelperWhenRevisionIsAtLeastBThenAllowS
|
||||
}
|
||||
}
|
||||
|
||||
XEHPTEST_F(XeHpProductHelper, givenXeHpProductHelperWhenIsInitBuiltinAsyncSupportedThenReturnTrue) {
|
||||
EXPECT_TRUE(productHelper->isInitBuiltinAsyncSupported(*defaultHwInfo));
|
||||
}
|
||||
|
||||
XEHPTEST_F(XeHpProductHelper, givenXeHpCoreProductHelperWhenCheckDirectSubmissionSupportedThenTrueIsReturned) {
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
|
||||
|
||||
@@ -87,6 +87,10 @@ PVCTEST_F(PvcProductHelper, givenPvcProductHelperWhenIsStatefulAddressingModeSup
|
||||
EXPECT_FALSE(productHelper->isStatefulAddressingModeSupported());
|
||||
}
|
||||
|
||||
PVCTEST_F(PvcProductHelper, givenPvcProductHelperWhenIsInitBuiltinAsyncSupportedThenReturnTrue) {
|
||||
EXPECT_TRUE(productHelper->isInitBuiltinAsyncSupported(*defaultHwInfo));
|
||||
}
|
||||
|
||||
PVCTEST_F(PvcProductHelper, givenPvcSteppingWhenQueryIsComputeDispatchAllWalkerEnableInCfeStateRequiredThenAppropriateValueIsReturned) {
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
|
||||
|
||||
@@ -55,6 +55,10 @@ DG2TEST_F(ProductHelperTestDg2, givenDg2ConfigWhenSetupHardwareInfoThenGtSystemI
|
||||
EXPECT_FALSE(gtSystemInfo.IsL3HashModeEnabled);
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDg2ProductHelperWhenIsInitBuiltinAsyncSupportedThenReturnTrue) {
|
||||
EXPECT_TRUE(productHelper->isInitBuiltinAsyncSupported(*defaultHwInfo));
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenG10DevIdWhenAdditionalKernelExecInfoSupportCheckedThenCorrectValueIsReturned) {
|
||||
HardwareInfo myHwInfo = *defaultHwInfo;
|
||||
myHwInfo.platform.usDeviceID = dg2G10DeviceIds[0];
|
||||
|
||||
@@ -62,6 +62,10 @@ MTLTEST_F(MtlProductHelper, whenGettingAubstreamProductFamilyThenProperEnumValue
|
||||
EXPECT_EQ(aub_stream::ProductFamily::Mtl, productHelper->getAubStreamProductFamily());
|
||||
}
|
||||
|
||||
MTLTEST_F(MtlProductHelper, givenMtlProductHelperWhenIsInitBuiltinAsyncSupportedThenReturnFalse) {
|
||||
EXPECT_FALSE(productHelper->isInitBuiltinAsyncSupported(*defaultHwInfo));
|
||||
}
|
||||
|
||||
MTLTEST_F(MtlProductHelper, givenProductHelperWhenGettingEvictIfNecessaryFlagSupportedThenExpectTrue) {
|
||||
EXPECT_TRUE(productHelper->isEvictionIfNecessaryFlagSupported());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user