mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-09 06:23:01 +08:00
Add hardware support for each pipeline property
This change is a baseline for tight control over when dispatch pipeline state commands and which pipeline state properties can be changed for a given hardware platform Related-To: NEO-5019 Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
9974d95dc3
commit
02cf62902b
@@ -106,3 +106,25 @@ BXTTEST_F(BxtHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedTh
|
||||
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
|
||||
}
|
||||
|
||||
BXTTEST_F(BxtHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyCoherencySupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyZPassAsyncSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyPixelAsyncSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionSupport());
|
||||
|
||||
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyPreemptionModeSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyStateSipSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport());
|
||||
}
|
||||
|
||||
@@ -113,3 +113,25 @@ CFLTEST_F(CflHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedTh
|
||||
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
|
||||
}
|
||||
|
||||
CFLTEST_F(CflHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyCoherencySupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyZPassAsyncSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyPixelAsyncSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionSupport());
|
||||
|
||||
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyPreemptionModeSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyStateSipSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport());
|
||||
}
|
||||
|
||||
@@ -96,3 +96,25 @@ GLKTEST_F(GlkHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedTh
|
||||
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
|
||||
}
|
||||
|
||||
GLKTEST_F(GlkHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyCoherencySupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyZPassAsyncSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyPixelAsyncSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionSupport());
|
||||
|
||||
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyPreemptionModeSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyStateSipSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport());
|
||||
}
|
||||
|
||||
@@ -120,3 +120,25 @@ KBLTEST_F(KblHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedTh
|
||||
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
|
||||
}
|
||||
|
||||
KBLTEST_F(KblHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyCoherencySupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyZPassAsyncSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyPixelAsyncSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionSupport());
|
||||
|
||||
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyPreemptionModeSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyStateSipSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport());
|
||||
}
|
||||
|
||||
@@ -120,3 +120,25 @@ SKLTEST_F(SklHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedTh
|
||||
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
|
||||
}
|
||||
|
||||
SKLTEST_F(SklHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyCoherencySupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyZPassAsyncSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyPixelAsyncSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyLargeGrfSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionSupport());
|
||||
|
||||
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
|
||||
EXPECT_FALSE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());
|
||||
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyPreemptionModeSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyStateSipSupport());
|
||||
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user