feature: Add BCS engine as internal engine for dg1
Related-To: NEO-9033 Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
This commit is contained in:
parent
7d811384d7
commit
5a018385aa
|
@ -69,6 +69,50 @@ GEN12LPTEST_F(ClGfxCoreHelperTestsGen12Lp, WhenGettingSupportedDeviceFeatureCapa
|
|||
|
||||
using GfxCoreHelperTestGen12Lp = GfxCoreHelperTest;
|
||||
|
||||
struct IsGen12LPIntegrated {
|
||||
template <PRODUCT_FAMILY productFamily>
|
||||
static constexpr bool isMatched() {
|
||||
return IsGen12LP::isMatched<productFamily>() && !IsDG1::isMatched<productFamily>();
|
||||
}
|
||||
};
|
||||
|
||||
HWTEST2_F(GfxCoreHelperTestGen12Lp, givenFtrCcsNodeNotSetAndBcsInfoSetWhenGetGpgpuEnginesThenReturnThreeRcsEnginesAndOneBcsEngine, IsGen12LPIntegrated) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
hwInfo.featureTable.flags.ftrCCSNode = false;
|
||||
hwInfo.featureTable.ftrBcsInfo = 1;
|
||||
hwInfo.capabilityTable.blitterOperationsSupported = true;
|
||||
hwInfo.capabilityTable.defaultEngineType = aub_stream::ENGINE_RCS;
|
||||
|
||||
auto device = std::unique_ptr<MockDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(&hwInfo, 0));
|
||||
auto &gfxCoreHelper = device->getGfxCoreHelper();
|
||||
EXPECT_EQ(4u, device->allEngines.size());
|
||||
auto &engines = gfxCoreHelper.getGpgpuEngineInstances(device->getRootDeviceEnvironment());
|
||||
EXPECT_EQ(4u, engines.size());
|
||||
EXPECT_EQ(aub_stream::ENGINE_RCS, engines[0].first);
|
||||
EXPECT_EQ(aub_stream::ENGINE_RCS, engines[1].first);
|
||||
EXPECT_EQ(aub_stream::ENGINE_RCS, engines[2].first);
|
||||
EXPECT_EQ(aub_stream::ENGINE_BCS, engines[3].first);
|
||||
}
|
||||
|
||||
HWTEST2_F(GfxCoreHelperTestGen12Lp, givenFtrCcsNodeNotSetAndBcsInfoSetWhenGetGpgpuEnginesThenReturnThreeRcsEnginesAndOneBcsEngine, IsDG1) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
hwInfo.featureTable.flags.ftrCCSNode = false;
|
||||
hwInfo.featureTable.ftrBcsInfo = 1;
|
||||
hwInfo.capabilityTable.blitterOperationsSupported = true;
|
||||
hwInfo.capabilityTable.defaultEngineType = aub_stream::ENGINE_RCS;
|
||||
|
||||
auto device = std::unique_ptr<MockDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(&hwInfo, 0));
|
||||
auto &gfxCoreHelper = device->getGfxCoreHelper();
|
||||
EXPECT_EQ(5u, device->allEngines.size());
|
||||
auto &engines = gfxCoreHelper.getGpgpuEngineInstances(device->getRootDeviceEnvironment());
|
||||
EXPECT_EQ(5u, engines.size());
|
||||
EXPECT_EQ(aub_stream::ENGINE_RCS, engines[0].first);
|
||||
EXPECT_EQ(aub_stream::ENGINE_RCS, engines[1].first);
|
||||
EXPECT_EQ(aub_stream::ENGINE_RCS, engines[2].first);
|
||||
EXPECT_EQ(aub_stream::ENGINE_BCS, engines[3].first);
|
||||
EXPECT_EQ(aub_stream::ENGINE_BCS, engines[4].first);
|
||||
}
|
||||
|
||||
GEN12LPTEST_F(GfxCoreHelperTestGen12Lp, WhenGettingMaxBarriersPerSliceThenCorrectSizeIsReturned) {
|
||||
auto &helper = getHelper<GfxCoreHelper>();
|
||||
EXPECT_EQ(32u, helper.getMaxBarrierRegisterPerSlice());
|
||||
|
@ -104,24 +148,6 @@ GEN12LPTEST_F(GfxCoreHelperTestGen12Lp, givenDifferentSizesOfAllocationWhenCheck
|
|||
}
|
||||
}
|
||||
|
||||
GEN12LPTEST_F(GfxCoreHelperTestGen12Lp, givenFtrCcsNodeNotSetAndBcsInfoSetWhenGetGpgpuEnginesThenReturnThreeRcsEnginesAndOneBcsEngine) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
hwInfo.featureTable.flags.ftrCCSNode = false;
|
||||
hwInfo.featureTable.ftrBcsInfo = 1;
|
||||
hwInfo.capabilityTable.blitterOperationsSupported = true;
|
||||
hwInfo.capabilityTable.defaultEngineType = aub_stream::ENGINE_RCS;
|
||||
|
||||
auto device = std::unique_ptr<MockDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(&hwInfo, 0));
|
||||
auto &gfxCoreHelper = device->getGfxCoreHelper();
|
||||
EXPECT_EQ(4u, device->allEngines.size());
|
||||
auto &engines = gfxCoreHelper.getGpgpuEngineInstances(device->getRootDeviceEnvironment());
|
||||
EXPECT_EQ(4u, engines.size());
|
||||
EXPECT_EQ(aub_stream::ENGINE_RCS, engines[0].first);
|
||||
EXPECT_EQ(aub_stream::ENGINE_RCS, engines[1].first);
|
||||
EXPECT_EQ(aub_stream::ENGINE_RCS, engines[2].first);
|
||||
EXPECT_EQ(aub_stream::ENGINE_BCS, engines[3].first);
|
||||
}
|
||||
|
||||
GEN12LPTEST_F(GfxCoreHelperTestGen12Lp, givenFtrCcsNodeNotSetAndCcsDefualtEngineWhenGetGpgpuEnginesThenReturnTwoRcsEnginesAndOneCcs) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
hwInfo.featureTable.flags.ftrCCSNode = false;
|
||||
|
|
|
@ -112,7 +112,10 @@ const EngineInstancesContainer GfxCoreHelperHw<Family>::getGpgpuEngineInstances(
|
|||
|
||||
if (hwInfo.capabilityTable.blitterOperationsSupported) {
|
||||
if (hwInfo.featureTable.ftrBcsInfo.test(0)) {
|
||||
engines.push_back({aub_stream::ENGINE_BCS, EngineUsage::Regular});
|
||||
engines.push_back({aub_stream::ENGINE_BCS, EngineUsage::Regular}); // Main copy engine
|
||||
if (!hwInfo.capabilityTable.isIntegratedDevice) {
|
||||
engines.push_back({aub_stream::ENGINE_BCS, EngineUsage::Internal}); // internal usage
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue