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:
Zbigniew Zdanowicz
2022-08-22 23:38:32 +00:00
committed by Compute-Runtime-Automation
parent 9974d95dc3
commit 02cf62902b
28 changed files with 754 additions and 0 deletions

View File

@ -421,6 +421,45 @@ uint32_t L1CachePolicyHelper<IGFX_UNKNOWN>::getUncachedL1CachePolicy() {
return 1u;
}
struct UnknownProduct {
struct FrontEndStateSupport {
static constexpr bool scratchSize = false;
static constexpr bool privateScratchSize = false;
};
struct StateComputeModeStateSupport {
static constexpr bool threadArbitration = false;
static constexpr bool coherency = false;
static constexpr bool largeGrf = false;
static constexpr bool zPassAsyncCompute = false;
static constexpr bool pixelAsyncCompute = false;
static constexpr bool preemptionMode = false;
};
struct StateBaseAddressStateSupport {
static constexpr bool globalAtomics = false;
static constexpr bool statelessMocs = false;
};
struct PipelineSelectStateSupport {
static constexpr bool commandSupport = false;
};
struct PreemptionDebugSupport {
static constexpr bool preemptionMode = false;
static constexpr bool stateSip = false;
static constexpr bool csrSurface = false;
};
};
template <>
struct HwMapper<IGFX_UNKNOWN> {
enum { gfxFamily = IGFX_UNKNOWN_CORE };
static const char *abbreviation;
using GfxProduct = UnknownProduct;
};
} // namespace NEO
#include "shared/source/os_interface/hw_info_config.inl"

View File

@ -80,3 +80,25 @@ EHLTEST_F(EhlHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedTh
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
}
EHLTEST_F(EhlHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
EXPECT_TRUE(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());
}

View File

@ -107,3 +107,25 @@ ICLLPTEST_F(IcllpHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupport
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
}
ICLLPTEST_F(IcllpHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
EXPECT_TRUE(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());
}

View File

@ -99,3 +99,25 @@ LKFTEST_F(LkfHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedTh
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
}
LKFTEST_F(LkfHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
EXPECT_TRUE(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());
}

View File

@ -82,3 +82,25 @@ ADLNTEST_F(AdlnHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupported
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
}
ADLNTEST_F(AdlnHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_FALSE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
EXPECT_TRUE(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());
}

View File

@ -82,3 +82,25 @@ ADLPTEST_F(AdlpHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupported
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
}
ADLPTEST_F(AdlpHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_FALSE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
EXPECT_TRUE(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());
}

View File

@ -82,3 +82,25 @@ ADLSTEST_F(AdlsHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupported
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
}
ADLSTEST_F(AdlsHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_FALSE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
EXPECT_TRUE(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());
}

View File

@ -148,3 +148,25 @@ DG1TEST_F(Dg1HwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedTh
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
}
DG1TEST_F(Dg1HwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_FALSE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
EXPECT_TRUE(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());
}

View File

@ -92,3 +92,25 @@ RKLTEST_F(RklHwInfo, givenHwInfoConfigWhenGettingEvictIfNecessaryFlagSupportedTh
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
}
RKLTEST_F(RklHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_FALSE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
EXPECT_TRUE(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());
}

View File

@ -20,3 +20,25 @@ TGLLPTEST_F(HwInfoConfigTestTgllp, givenHwInfoConfigWhenGettingEvictIfNecessaryF
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
}
TGLLPTEST_F(HwInfoConfigTestTgllp, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_FALSE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
EXPECT_TRUE(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());
}

View File

@ -100,3 +100,25 @@ using CompilerHwInfoConfigHelperTestsBdw = ::testing::Test;
BDWTEST_F(CompilerHwInfoConfigHelperTestsBdw, givenBdwWhenIsStatelessToStatefulBufferOffsetSupportedIsCalledThenReturnsTrue) {
EXPECT_FALSE(CompilerHwInfoConfig::get(productFamily)->isStatelessToStatefulBufferOffsetSupported());
}
BDWTEST_F(BdwHwInfo, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_FALSE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
EXPECT_TRUE(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_FALSE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport());
}

View File

@ -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());
}

View File

@ -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());
}

View File

@ -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());
}

View File

@ -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());
}

View File

@ -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());
}

View File

@ -20,3 +20,25 @@ XEHPTEST_F(HwInfoConfigTestXeHpSdv, givenHwInfoConfigWhenGettingEvictIfNecessary
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.isEvictionIfNecessaryFlagSupported());
}
XEHPTEST_F(HwInfoConfigTestXeHpSdv, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_FALSE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
EXPECT_TRUE(hwInfoConfig.getScmPropertyCoherencySupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyZPassAsyncSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyPixelAsyncSupport());
EXPECT_TRUE(hwInfoConfig.getScmPropertyLargeGrfSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyPreemptionModeSupport());
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyStateSipSupport());
EXPECT_FALSE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport());
}

View File

@ -74,3 +74,25 @@ PVCTEST_F(PVCHwInfoConfig, givenPVCHwInfoConfigWhenIsPrefetcherDisablingInDirect
const auto &hwInfoConfig = *HwInfoConfig::get(productFamily);
EXPECT_FALSE(hwInfoConfig.isPrefetcherDisablingInDirectSubmissionRequired());
}
PVCTEST_F(PVCHwInfoConfig, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
EXPECT_TRUE(hwInfoConfig.getScmPropertyCoherencySupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyZPassAsyncSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyPixelAsyncSupport());
EXPECT_TRUE(hwInfoConfig.getScmPropertyLargeGrfSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyPreemptionModeSupport());
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyStateSipSupport());
EXPECT_FALSE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport());
}

View File

@ -70,3 +70,25 @@ DG2TEST_F(TestDg2HwInfoConfig, givenDG2HwInfoConfigWhenCheckDirectSubmissionSupp
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_TRUE(hwInfoConfig.isDirectSubmissionSupported(hwInfo));
}
DG2TEST_F(TestDg2HwInfoConfig, givenHwInfoConfigWhenGetCommandsStreamPropertiesSupportThenExpectCorrectValues) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &hwInfoConfig = *HwInfoConfig::get(hwInfo.platform.eProductFamily);
EXPECT_FALSE(hwInfoConfig.getScmPropertyThreadArbitrationSupport());
EXPECT_TRUE(hwInfoConfig.getScmPropertyCoherencySupport());
EXPECT_TRUE(hwInfoConfig.getScmPropertyZPassAsyncSupport());
EXPECT_TRUE(hwInfoConfig.getScmPropertyPixelAsyncSupport());
EXPECT_TRUE(hwInfoConfig.getScmPropertyLargeGrfSupport());
EXPECT_FALSE(hwInfoConfig.getScmPropertyDevicePreemptionSupport());
EXPECT_FALSE(hwInfoConfig.getSbaPropertyGlobalAtomicsSupport());
EXPECT_TRUE(hwInfoConfig.getSbaPropertyStatelessMocsSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyScratchSizeSupport());
EXPECT_TRUE(hwInfoConfig.getFrontEndPropertyPrivateScratchSizeSupport());
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyPreemptionModeSupport());
EXPECT_TRUE(hwInfoConfig.getPreemptionDbgPropertyStateSipSupport());
EXPECT_FALSE(hwInfoConfig.getPreemptionDbgPropertyCsrSurfaceSupport());
}