mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-08 14:02:58 +08:00
refactor: don't use global ProductHelper getter 5/n
Related-To: NEO-6853 Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
97d1de3c1e
commit
64eb024ba2
@@ -331,7 +331,7 @@ HWTEST_F(PipeControlHelperTests, givenNotifyEnableArgumentIsTrueWhenHelperIsUsed
|
||||
|
||||
HWTEST_F(PipeControlHelperTests, WhenIsDcFlushAllowedIsCalledThenCorrectResultIsReturned) {
|
||||
MockExecutionEnvironment mockExecutionEnvironment{};
|
||||
auto &productHelper = *ProductHelper::get(defaultHwInfo->platform.eProductFamily);
|
||||
auto &productHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
EXPECT_FALSE(MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(false, *mockExecutionEnvironment.rootDeviceEnvironments[0]));
|
||||
EXPECT_EQ(productHelper.isDcFlushAllowed(), MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, *mockExecutionEnvironment.rootDeviceEnvironments[0]));
|
||||
}
|
||||
|
||||
@@ -210,6 +210,7 @@ HWTEST2_F(GfxCoreHelperDg2AndLaterTest, givenGfxCoreHelperWhenCheckIsUpdateTaskC
|
||||
using ProductHelperTestDg2AndLater = ::testing::Test;
|
||||
|
||||
HWTEST2_F(ProductHelperTestDg2AndLater, givenDg2AndLaterPlatformWhenAskedIfHeapInLocalMemThenTrueIsReturned, IsAtLeastXeHpgCore) {
|
||||
const auto &productHelper = *ProductHelper::get(defaultHwInfo->platform.eProductFamily);
|
||||
MockExecutionEnvironment mockExecutionEnvironment{};
|
||||
auto &productHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
EXPECT_TRUE(productHelper.heapInLocalMem(*defaultHwInfo));
|
||||
}
|
||||
|
||||
@@ -203,7 +203,7 @@ HWTEST2_F(GfxCoreHelperTestCooperativeEngine, givenCooperativeContextSupportedWh
|
||||
hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 2;
|
||||
hwInfo.featureTable.flags.ftrCCSNode = true;
|
||||
auto &gfxCoreHelper = getHelper<GfxCoreHelper>();
|
||||
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
|
||||
uint32_t revisions[] = {REVISION_A0, REVISION_B};
|
||||
for (auto &revision : revisions) {
|
||||
|
||||
@@ -120,7 +120,7 @@ HWTEST2_F(BlitTests, givenA0StepWhenAppendBlitCommandsForFillBufferWithLocalAcce
|
||||
reinterpret_cast<void *>(0x1234), 0x1000, 0, sizeof(uint32_t),
|
||||
MemoryPool::LocalMemory, MemoryManager::maxOsContextCount);
|
||||
HardwareInfo *hwInfo = pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]->getMutableHardwareInfo();
|
||||
const auto &productHelper = *ProductHelper::get(hwInfo->platform.eProductFamily);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
hwInfo->platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_A0, *hwInfo);
|
||||
BlitCommandsHelper<FamilyType>::appendBlitCommandsForFillBuffer(&mockAllocation, blitCmd, *pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]);
|
||||
|
||||
@@ -137,7 +137,7 @@ HWTEST2_F(BlitTests, givenA0StepWhenAppendBlitCommandsForFillBufferWithLocalAcce
|
||||
reinterpret_cast<void *>(0x1234), 0x1000, 0, sizeof(uint32_t),
|
||||
MemoryPool::LocalMemory, MemoryManager::maxOsContextCount);
|
||||
HardwareInfo *hwInfo = pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]->getMutableHardwareInfo();
|
||||
const auto &productHelper = *ProductHelper::get(hwInfo->platform.eProductFamily);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
hwInfo->platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_A0, *hwInfo);
|
||||
BlitCommandsHelper<FamilyType>::appendBlitCommandsForFillBuffer(&mockAllocation, blitCmd, *pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]);
|
||||
|
||||
@@ -154,7 +154,7 @@ HWTEST2_F(BlitTests, givenBStepWhenAppendBlitCommandsForFillBufferWithLocalAcces
|
||||
reinterpret_cast<void *>(0x1234), 0x1000, 0, sizeof(uint32_t),
|
||||
MemoryPool::LocalMemory, MemoryManager::maxOsContextCount);
|
||||
HardwareInfo *hwInfo = pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]->getMutableHardwareInfo();
|
||||
const auto &productHelper = *ProductHelper::get(hwInfo->platform.eProductFamily);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
hwInfo->platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, *hwInfo);
|
||||
BlitCommandsHelper<FamilyType>::appendBlitCommandsForFillBuffer(&mockAllocation, blitCmd, *pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]);
|
||||
|
||||
@@ -171,7 +171,7 @@ HWTEST2_F(BlitTests, givenBStepWhenAppendBlitCommandsForFillBufferWithLocalAcces
|
||||
reinterpret_cast<void *>(0x1234), 0x1000, 0, sizeof(uint32_t),
|
||||
MemoryPool::LocalMemory, MemoryManager::maxOsContextCount);
|
||||
HardwareInfo *hwInfo = pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]->getMutableHardwareInfo();
|
||||
const auto &productHelper = *ProductHelper::get(hwInfo->platform.eProductFamily);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
hwInfo->platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, *hwInfo);
|
||||
BlitCommandsHelper<FamilyType>::appendBlitCommandsForFillBuffer(&mockAllocation, blitCmd, *pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]);
|
||||
|
||||
@@ -188,7 +188,7 @@ HWTEST2_F(BlitTests, givenAllocationInSystemMemWhenAppendBlitCommandsForFillBuff
|
||||
reinterpret_cast<void *>(0x1234), 0x1000, 0, sizeof(uint32_t),
|
||||
MemoryPool::System4KBPages, MemoryManager::maxOsContextCount);
|
||||
HardwareInfo *hwInfo = pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]->getMutableHardwareInfo();
|
||||
const auto &productHelper = *ProductHelper::get(hwInfo->platform.eProductFamily);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
hwInfo->platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_A1, *hwInfo);
|
||||
BlitCommandsHelper<FamilyType>::appendBlitCommandsForFillBuffer(&mockAllocation, blitCmd, *pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]);
|
||||
|
||||
@@ -205,7 +205,7 @@ HWTEST2_F(BlitTests, givenAllocationInSystemMemWhenAppendBlitCommandsForFillBuff
|
||||
reinterpret_cast<void *>(0x1234), 0x1000, 0, sizeof(uint32_t),
|
||||
MemoryPool::System4KBPages, MemoryManager::maxOsContextCount);
|
||||
HardwareInfo *hwInfo = pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]->getMutableHardwareInfo();
|
||||
const auto &productHelper = *ProductHelper::get(hwInfo->platform.eProductFamily);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
hwInfo->platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_A1, *hwInfo);
|
||||
BlitCommandsHelper<FamilyType>::appendBlitCommandsForFillBuffer(&mockAllocation, blitCmd, *pDevice->getExecutionEnvironment()->rootDeviceEnvironments[pDevice->getRootDeviceIndex()]);
|
||||
|
||||
@@ -722,7 +722,7 @@ HWTEST2_F(BlitTests, givenA0orA1SteppingAndCpuLocalMemoryAccessWhenCallingAppend
|
||||
DebugManager.flags.ForceLocalMemoryAccessMode.set(1);
|
||||
|
||||
const auto &rootDeviceEnvironment = pDevice->getRootDeviceEnvironment();
|
||||
auto productHelper = ProductHelper::get(productFamily);
|
||||
auto &productHelper = pDevice->getProductHelper();
|
||||
std::array<std::pair<uint32_t, typename XY_BLOCK_COPY_BLT::TARGET_MEMORY>, 3> testParams = {
|
||||
{{REVISION_A0, XY_BLOCK_COPY_BLT::TARGET_MEMORY::TARGET_MEMORY_SYSTEM_MEM},
|
||||
{REVISION_A1, XY_BLOCK_COPY_BLT::TARGET_MEMORY::TARGET_MEMORY_SYSTEM_MEM},
|
||||
@@ -731,7 +731,7 @@ HWTEST2_F(BlitTests, givenA0orA1SteppingAndCpuLocalMemoryAccessWhenCallingAppend
|
||||
for (const auto &[revision, expectedTargetMemory] : testParams) {
|
||||
auto bltCmd = FamilyType::cmdInitXyBlockCopyBlt;
|
||||
auto hwInfo = rootDeviceEnvironment.getMutableHardwareInfo();
|
||||
hwInfo->platform.usRevId = productHelper->getHwRevIdFromStepping(revision, *hwInfo);
|
||||
hwInfo->platform.usRevId = productHelper.getHwRevIdFromStepping(revision, *hwInfo);
|
||||
|
||||
BlitCommandsHelper<FamilyType>::appendExtraMemoryProperties(bltCmd, rootDeviceEnvironment);
|
||||
EXPECT_EQ(bltCmd.getSourceTargetMemory(), expectedTargetMemory);
|
||||
|
||||
@@ -647,7 +647,6 @@ HWTEST2_F(ProductHelperTest, givenProductHelperWhenIsPlatformQueryNotSupportedTh
|
||||
|
||||
HWTEST_F(ProductHelperTest, givenDebugFlagWhenCheckingIsResolveDependenciesByPipeControlsSupportedThenCorrectValueIsReturned) {
|
||||
DebugManagerStateRestore restorer;
|
||||
auto productHelper = ProductHelper::get(pInHwInfo.platform.eProductFamily);
|
||||
|
||||
// ResolveDependenciesViaPipeControls = -1 (default)
|
||||
EXPECT_FALSE(productHelper->isResolveDependenciesByPipeControlsSupported(pInHwInfo, false));
|
||||
|
||||
@@ -303,7 +303,8 @@ HWTEST_F(DrmDebugPrelimTest, givenAddedBindExtHandlesInBoWhenUnbindingThenExtens
|
||||
EXPECT_NE(0u, drm.context.receivedVmBind.value().extensions);
|
||||
|
||||
bo.unbind(&osContext, 0);
|
||||
if (ProductHelper::get(defaultHwInfo->platform.eProductFamily)->isVmBindPatIndexProgrammingSupported()) {
|
||||
auto &productHelper = this->executionEnvironment->rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
if (productHelper.isVmBindPatIndexProgrammingSupported()) {
|
||||
EXPECT_NE(0u, drm.context.receivedVmUnbind.value().extensions);
|
||||
} else {
|
||||
EXPECT_EQ(0u, drm.context.receivedVmUnbind.value().extensions);
|
||||
|
||||
@@ -5420,8 +5420,8 @@ TEST_F(DrmMemoryManagerWithLocalMemoryAndExplicitExpectationsTest, givenPatIndex
|
||||
|
||||
auto drmAllocation = static_cast<DrmAllocation *>(allocation);
|
||||
ASSERT_NE(nullptr, drmAllocation->getBO());
|
||||
|
||||
auto isVmBindPatIndexProgrammingSupported = ProductHelper::get(defaultHwInfo->platform.eProductFamily)->isVmBindPatIndexProgrammingSupported();
|
||||
auto &productHelper = this->device->getProductHelper();
|
||||
auto isVmBindPatIndexProgrammingSupported = productHelper.isVmBindPatIndexProgrammingSupported();
|
||||
|
||||
EXPECT_EQ(isVmBindPatIndexProgrammingSupported, mock->isVmBindPatIndexProgrammingSupported());
|
||||
|
||||
@@ -5451,8 +5451,8 @@ TEST_F(DrmMemoryManagerWithLocalMemoryAndExplicitExpectationsTest, givenCompress
|
||||
|
||||
auto drmAllocation = static_cast<DrmAllocation *>(allocation);
|
||||
ASSERT_NE(nullptr, drmAllocation->getBO());
|
||||
|
||||
auto isVmBindPatIndexProgrammingSupported = ProductHelper::get(defaultHwInfo->platform.eProductFamily)->isVmBindPatIndexProgrammingSupported();
|
||||
auto &productHelper = this->device->getProductHelper();
|
||||
auto isVmBindPatIndexProgrammingSupported = productHelper.isVmBindPatIndexProgrammingSupported();
|
||||
|
||||
if (isVmBindPatIndexProgrammingSupported) {
|
||||
auto mockClientContext = static_cast<MockGmmClientContextBase *>(executionEnvironment->rootDeviceEnvironments[rootDeviceIndex]->getGmmClientContext());
|
||||
|
||||
@@ -988,10 +988,10 @@ HWTEST_F(DrmMemoryOperationsHandlerBindTest, givenPatIndexProgrammingEnabledWhen
|
||||
csr->setupContext(*osContext);
|
||||
|
||||
auto &gfxCoreHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<GfxCoreHelper>();
|
||||
auto productHelper = ProductHelper::get(executionEnvironment->rootDeviceEnvironments[0]->getHardwareInfo()->platform.eProductFamily);
|
||||
auto &productHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
|
||||
bool closSupported = (gfxCoreHelper.getNumCacheRegions() > 0);
|
||||
bool patIndexProgrammingSupported = productHelper->isVmBindPatIndexProgrammingSupported();
|
||||
bool patIndexProgrammingSupported = productHelper.isVmBindPatIndexProgrammingSupported();
|
||||
|
||||
uint64_t gpuAddress = 0x123000;
|
||||
size_t size = 1;
|
||||
@@ -1047,9 +1047,9 @@ HWTEST_F(DrmMemoryOperationsHandlerBindTest, givenPatIndexErrorAndUncachedDebugF
|
||||
auto osContext = memoryManager->createAndRegisterOsContext(csr.get(), EngineDescriptorHelper::getDefaultDescriptor());
|
||||
csr->setupContext(*osContext);
|
||||
auto &gfxCoreHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<GfxCoreHelper>();
|
||||
auto productHelper = ProductHelper::get(executionEnvironment->rootDeviceEnvironments[0]->getHardwareInfo()->platform.eProductFamily);
|
||||
auto &productHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
bool closSupported = (gfxCoreHelper.getNumCacheRegions() > 0);
|
||||
bool patIndexProgrammingSupported = productHelper->isVmBindPatIndexProgrammingSupported();
|
||||
bool patIndexProgrammingSupported = productHelper.isVmBindPatIndexProgrammingSupported();
|
||||
if (!closSupported || !patIndexProgrammingSupported) {
|
||||
GTEST_SKIP();
|
||||
}
|
||||
@@ -1073,9 +1073,9 @@ HWTEST_F(DrmMemoryOperationsHandlerBindTest, givenUncachedDebugFlagSetWhenVmBind
|
||||
auto osContext = memoryManager->createAndRegisterOsContext(csr.get(), EngineDescriptorHelper::getDefaultDescriptor());
|
||||
csr->setupContext(*osContext);
|
||||
|
||||
auto productHelper = ProductHelper::get(executionEnvironment->rootDeviceEnvironments[0]->getHardwareInfo()->platform.eProductFamily);
|
||||
auto &productHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
|
||||
if (!productHelper->isVmBindPatIndexProgrammingSupported()) {
|
||||
if (!productHelper.isVmBindPatIndexProgrammingSupported()) {
|
||||
GTEST_SKIP();
|
||||
}
|
||||
|
||||
@@ -1263,13 +1263,11 @@ TEST(DrmResidencyHandlerTests, givenDebugFlagUseVmBindSetDefaultAndBindAvailable
|
||||
drm.context.vmBindQueryValue = 1;
|
||||
drm.context.vmBindQueryReturn = 0;
|
||||
EXPECT_FALSE(drm.bindAvailable);
|
||||
|
||||
auto hwInfo = drm.getRootDeviceEnvironment().getHardwareInfo();
|
||||
auto productHelper = ProductHelper::get(hwInfo->platform.eProductFamily);
|
||||
auto &productHelper = drm.getRootDeviceEnvironment().getHelper<ProductHelper>();
|
||||
|
||||
EXPECT_EQ(0u, drm.context.vmBindQueryCalled);
|
||||
EXPECT_EQ(drm.isVmBindAvailable(), productHelper->isNewResidencyModelSupported());
|
||||
EXPECT_EQ(drm.bindAvailable, productHelper->isNewResidencyModelSupported());
|
||||
EXPECT_EQ(drm.isVmBindAvailable(), productHelper.isNewResidencyModelSupported());
|
||||
EXPECT_EQ(drm.bindAvailable, productHelper.isNewResidencyModelSupported());
|
||||
EXPECT_EQ(1u, drm.context.vmBindQueryCalled);
|
||||
}
|
||||
|
||||
@@ -1362,8 +1360,7 @@ TEST(DrmResidencyHandlerTests, whenQueryingForSetPairAvailableAndVmBindAvailable
|
||||
|
||||
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
|
||||
DrmQueryMock drm{*executionEnvironment->rootDeviceEnvironments[0]};
|
||||
auto hwInfo = drm.getRootDeviceEnvironment().getHardwareInfo();
|
||||
auto productHelper = ProductHelper::get(hwInfo->platform.eProductFamily);
|
||||
auto &productHelper = drm.getRootDeviceEnvironment().getHelper<ProductHelper>();
|
||||
|
||||
drm.context.setPairQueryValue = 1;
|
||||
drm.context.setPairQueryReturn = 0;
|
||||
@@ -1381,8 +1378,8 @@ TEST(DrmResidencyHandlerTests, whenQueryingForSetPairAvailableAndVmBindAvailable
|
||||
EXPECT_EQ(1u, drm.context.setPairQueryCalled);
|
||||
|
||||
EXPECT_EQ(0u, drm.context.vmBindQueryCalled);
|
||||
EXPECT_EQ(drm.isVmBindAvailable(), productHelper->isNewResidencyModelSupported());
|
||||
EXPECT_EQ(drm.bindAvailable, productHelper->isNewResidencyModelSupported());
|
||||
EXPECT_EQ(drm.isVmBindAvailable(), productHelper.isNewResidencyModelSupported());
|
||||
EXPECT_EQ(drm.bindAvailable, productHelper.isNewResidencyModelSupported());
|
||||
EXPECT_EQ(1u, drm.context.vmBindQueryCalled);
|
||||
}
|
||||
|
||||
|
||||
@@ -563,7 +563,8 @@ TEST_F(IoctlHelperPrelimFixture, givenIoctlHelperWhenFailOnInitializationAndPlat
|
||||
DebugManager.flags.PrintDebugMessages.set(false);
|
||||
std::string output = testing::internal::GetCapturedStderr();
|
||||
|
||||
if (ProductHelper::get(executionEnvironment->rootDeviceEnvironments[0]->getHardwareInfo()->platform.eProductFamily)->isPlatformQuerySupported()) {
|
||||
auto &productHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
if (productHelper.isPlatformQuerySupported()) {
|
||||
EXPECT_STRNE(output.c_str(), "");
|
||||
} else {
|
||||
EXPECT_STREQ(output.c_str(), "");
|
||||
|
||||
@@ -52,10 +52,9 @@ HWTEST2_F(MockProductHelperTestLinux, givenDebugFlagSetWhenEnablingBlitterOperat
|
||||
}
|
||||
|
||||
HWTEST2_F(MockProductHelperTestLinux, givenUnsupportedChipsetUniqueUUIDWhenGettingUuidThenReturnFalse, IsAtMostGen11) {
|
||||
HardwareInfo hardwareInfo = *defaultHwInfo;
|
||||
auto productHelper = ProductHelper::get(hardwareInfo.platform.eProductFamily);
|
||||
auto &productHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
std::array<uint8_t, ProductHelper::uuidSize> id;
|
||||
EXPECT_FALSE(productHelper->getUuid(nullptr, id));
|
||||
EXPECT_FALSE(productHelper.getUuid(nullptr, id));
|
||||
}
|
||||
|
||||
TEST_F(MockProductHelperTestLinux, GivenDummyConfigThenEdramIsDetected) {
|
||||
@@ -353,9 +352,9 @@ TEST_F(MockProductHelperTestLinux, givenFailingGttSizeIoctlWhenInitializingHwInf
|
||||
}
|
||||
|
||||
HWTEST2_F(MockProductHelperTestLinux, givenPlatformWithPlatformQuerySupportedWhenItIsCalledThenReturnTrue, IsAtLeastMtl) {
|
||||
HardwareInfo hardwareInfo = *defaultHwInfo;
|
||||
auto productHelper = ProductHelper::get(hardwareInfo.platform.eProductFamily);
|
||||
EXPECT_TRUE(productHelper->isPlatformQuerySupported());
|
||||
auto &productHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
|
||||
EXPECT_TRUE(productHelper.isPlatformQuerySupported());
|
||||
}
|
||||
|
||||
using HwConfigLinux = ::testing::Test;
|
||||
|
||||
@@ -137,7 +137,8 @@ HWTEST2_F(MultipleDeviceUuidTest, whenRetrievingDeviceUuidThenCorrectUuidIsRecei
|
||||
std::array<uint8_t, 16> uuid;
|
||||
uint8_t expectedUuid[16] = {};
|
||||
std::memcpy(expectedUuid, &expectedVal, sizeof(expectedVal));
|
||||
EXPECT_EQ(true, ProductHelper::get(productFamily)->getUuid(devices[0].get(), uuid));
|
||||
auto &productHelper = devices[0]->getProductHelper();
|
||||
EXPECT_EQ(true, productHelper.getUuid(devices[0].get(), uuid));
|
||||
EXPECT_TRUE(0 == std::memcmp(uuid.data(), expectedUuid, sizeof(expectedUuid)));
|
||||
|
||||
uint32_t subDeviceCount = numSubDevices;
|
||||
@@ -148,7 +149,8 @@ HWTEST2_F(MultipleDeviceUuidTest, whenRetrievingDeviceUuidThenCorrectUuidIsRecei
|
||||
uint8_t expectedUuid[16] = {0};
|
||||
std::memcpy(expectedUuid, &expectedVal, sizeof(expectedVal));
|
||||
expectedUuid[15] = i + 1;
|
||||
EXPECT_EQ(true, ProductHelper::get(productFamily)->getUuid(subDevices[i], uuid));
|
||||
|
||||
EXPECT_EQ(true, productHelper.getUuid(subDevices[i], uuid));
|
||||
EXPECT_TRUE(0 == std::memcmp(uuid.data(), expectedUuid, sizeof(expectedUuid)));
|
||||
}
|
||||
}
|
||||
@@ -243,7 +245,8 @@ HWTEST2_F(MultipleDeviceUuidTest, whenRetrievingDeviceUuidThenCorrectUuidIsRecei
|
||||
std::array<uint8_t, 16> uuid;
|
||||
uint8_t expectedUuid[16] = {};
|
||||
std::memcpy(expectedUuid, &expectedVal, sizeof(expectedVal));
|
||||
EXPECT_EQ(true, ProductHelper::get(productFamily)->getUuid(devices[0].get(), uuid));
|
||||
auto &productHelper = devices[0]->getProductHelper();
|
||||
EXPECT_EQ(true, productHelper.getUuid(devices[0].get(), uuid));
|
||||
EXPECT_TRUE(0 == std::memcmp(uuid.data(), expectedUuid, sizeof(expectedUuid)));
|
||||
|
||||
uint32_t subDeviceCount = numSubDevices;
|
||||
@@ -254,7 +257,7 @@ HWTEST2_F(MultipleDeviceUuidTest, whenRetrievingDeviceUuidThenCorrectUuidIsRecei
|
||||
uint8_t expectedUuid[16] = {0};
|
||||
std::memcpy(expectedUuid, &expectedVal, sizeof(expectedVal));
|
||||
expectedUuid[15] = i + 1;
|
||||
EXPECT_EQ(true, ProductHelper::get(productFamily)->getUuid(subDevices[i], uuid));
|
||||
EXPECT_EQ(true, productHelper.getUuid(subDevices[i], uuid));
|
||||
EXPECT_TRUE(0 == std::memcmp(uuid.data(), expectedUuid, sizeof(expectedUuid)));
|
||||
}
|
||||
}
|
||||
@@ -287,9 +290,10 @@ HWTEST2_F(MultipleDeviceUuidTest, givenTelemDirectoriesAreLessThanExpectedWhenRe
|
||||
uint32_t subDeviceCount = numSubDevices;
|
||||
std::vector<SubDevice *> subDevices(subDeviceCount);
|
||||
subDevices = devices[0]->getSubDevices();
|
||||
auto &productHelper = devices[0]->getProductHelper();
|
||||
for (auto i = 0u; i < subDeviceCount; i++) {
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_EQ(false, ProductHelper::get(productFamily)->getUuid(subDevices[i], uuid));
|
||||
EXPECT_EQ(false, productHelper.getUuid(subDevices[i], uuid));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -349,9 +353,11 @@ HWTEST2_F(MultipleDeviceUuidTest, GivenMissingGuidWhenRetrievingUuidForSubDevice
|
||||
uint32_t subDeviceCount = numSubDevices;
|
||||
std::vector<SubDevice *> subDevices(subDeviceCount);
|
||||
subDevices = devices[0]->getSubDevices();
|
||||
|
||||
auto &productHelper = devices[0]->getProductHelper();
|
||||
for (auto i = 0u; i < subDeviceCount; i++) {
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_EQ(false, ProductHelper::get(productFamily)->getUuid(subDevices[i], uuid));
|
||||
EXPECT_EQ(false, productHelper.getUuid(subDevices[i], uuid));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -395,9 +401,10 @@ HWTEST2_F(MultipleDeviceUuidTest, GivenIncorrectGuidWhenRetrievingUuidForSubDevi
|
||||
uint32_t subDeviceCount = numSubDevices;
|
||||
std::vector<SubDevice *> subDevices(subDeviceCount);
|
||||
subDevices = devices[0]->getSubDevices();
|
||||
auto &productHelper = devices[0]->getProductHelper();
|
||||
for (auto i = 0u; i < subDeviceCount; i++) {
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_EQ(false, ProductHelper::get(productFamily)->getUuid(subDevices[i], uuid));
|
||||
EXPECT_EQ(false, productHelper.getUuid(subDevices[i], uuid));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -451,9 +458,10 @@ HWTEST2_F(MultipleDeviceUuidTest, GivenMissingOffsetWhenRetrievingUuidForSubDevi
|
||||
uint32_t subDeviceCount = numSubDevices;
|
||||
std::vector<SubDevice *> subDevices(subDeviceCount);
|
||||
subDevices = devices[0]->getSubDevices();
|
||||
auto &productHelper = devices[0]->getProductHelper();
|
||||
for (auto i = 0u; i < subDeviceCount; i++) {
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_EQ(false, ProductHelper::get(productFamily)->getUuid(subDevices[i], uuid));
|
||||
EXPECT_EQ(false, productHelper.getUuid(subDevices[i], uuid));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -506,9 +514,10 @@ HWTEST2_F(MultipleDeviceUuidTest, GivenIncorrectOffsetWhenRetrievingUuidForSubDe
|
||||
uint32_t subDeviceCount = numSubDevices;
|
||||
std::vector<SubDevice *> subDevices(subDeviceCount);
|
||||
subDevices = devices[0]->getSubDevices();
|
||||
auto &productHelper = devices[0]->getProductHelper();
|
||||
for (auto i = 0u; i < subDeviceCount; i++) {
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_EQ(false, ProductHelper::get(productFamily)->getUuid(subDevices[i], uuid));
|
||||
EXPECT_EQ(false, productHelper.getUuid(subDevices[i], uuid));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -560,7 +569,8 @@ HWTEST2_F(MultipleDeviceUuidTest, GivenMissingTelemNodeWhenRetrievingUuidThenFai
|
||||
});
|
||||
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_EQ(false, ProductHelper::get(productFamily)->getUuid(devices[0].get(), uuid));
|
||||
auto &productHelper = devices[0]->getProductHelper();
|
||||
EXPECT_EQ(false, productHelper.getUuid(devices[0].get(), uuid));
|
||||
}
|
||||
|
||||
HWTEST2_F(MultipleDeviceUuidTest, GivenIncorrectTelemNodeWhenRetrievingUuidThenFailureIsReturned, IsXEHP) {
|
||||
@@ -612,7 +622,8 @@ HWTEST2_F(MultipleDeviceUuidTest, GivenIncorrectTelemNodeWhenRetrievingUuidThenF
|
||||
});
|
||||
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_EQ(false, ProductHelper::get(productFamily)->getUuid(devices[0].get(), uuid));
|
||||
auto &productHelper = devices[0]->getProductHelper();
|
||||
EXPECT_EQ(false, productHelper.getUuid(devices[0].get(), uuid));
|
||||
}
|
||||
|
||||
HWTEST2_F(MultipleDeviceUuidTest, GivenIncorrectGuidValueWhenRetrievingUuidThenFailureIsReturned, IsXEHP) {
|
||||
@@ -665,7 +676,8 @@ HWTEST2_F(MultipleDeviceUuidTest, GivenIncorrectGuidValueWhenRetrievingUuidThenF
|
||||
});
|
||||
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_EQ(false, ProductHelper::get(productFamily)->getUuid(devices[0].get(), uuid));
|
||||
auto &productHelper = devices[0]->getProductHelper();
|
||||
EXPECT_EQ(false, productHelper.getUuid(devices[0].get(), uuid));
|
||||
}
|
||||
|
||||
HWTEST2_F(MultipleDeviceUuidTest, GivenDeviceLinkIsNotAvailableWhenRetrievingUuidForRootDeviceThenFailureIsReturned, IsXEHP) {
|
||||
@@ -683,7 +695,8 @@ HWTEST2_F(MultipleDeviceUuidTest, GivenDeviceLinkIsNotAvailableWhenRetrievingUui
|
||||
});
|
||||
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_EQ(false, ProductHelper::get(productFamily)->getUuid(devices[0].get(), uuid));
|
||||
auto &productHelper = devices[0]->getProductHelper();
|
||||
EXPECT_EQ(false, productHelper.getUuid(devices[0].get(), uuid));
|
||||
}
|
||||
|
||||
TEST(PmtUtilTest, givenDataPtrIsNullWhenPmtUtilReadTelemIsCalledThenVerifyZeroIsReturned) {
|
||||
@@ -736,7 +749,8 @@ HWTEST2_F(SysfsBasedUuidTest, whenRetrievingDeviceUuidThenCorrectUuidIsReceived,
|
||||
// Prepare expected Uuid value
|
||||
const uint64_t expectedUuidValue = 0x6769df256e271362;
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_TRUE(ProductHelper::get(productFamily)->getUuid(device, uuid));
|
||||
auto &productHelper = device->getProductHelper();
|
||||
EXPECT_TRUE(productHelper.getUuid(device, uuid));
|
||||
EXPECT_TRUE(0 == std::memcmp(uuid.data(), &expectedUuidValue, sizeof(expectedUuidValue)));
|
||||
NEO::directoryFilesMap.clear();
|
||||
}
|
||||
@@ -750,7 +764,8 @@ HWTEST2_F(SysfsBasedUuidTest, givenSysfsFileNotAvailableWhenRetrievingDeviceUuid
|
||||
});
|
||||
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_FALSE(ProductHelper::get(productFamily)->getUuid(device, uuid));
|
||||
auto &productHelper = device->getProductHelper();
|
||||
EXPECT_FALSE(productHelper.getUuid(device, uuid));
|
||||
NEO::directoryFilesMap.clear();
|
||||
}
|
||||
|
||||
@@ -769,7 +784,8 @@ HWTEST2_F(SysfsBasedUuidTest, givenIncorrectUuidWhenRetrievingDeviceUuidThenFail
|
||||
});
|
||||
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_FALSE(ProductHelper::get(productFamily)->getUuid(device, uuid));
|
||||
auto &productHelper = device->getProductHelper();
|
||||
EXPECT_FALSE(productHelper.getUuid(device, uuid));
|
||||
NEO::directoryFilesMap.clear();
|
||||
}
|
||||
|
||||
@@ -789,7 +805,8 @@ HWTEST2_F(SysfsBasedUuidTest, givenErrnoIsSetWhenRetrievingDeviceUuidThenFailure
|
||||
});
|
||||
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_FALSE(ProductHelper::get(productFamily)->getUuid(device, uuid));
|
||||
auto &productHelper = device->getProductHelper();
|
||||
EXPECT_FALSE(productHelper.getUuid(device, uuid));
|
||||
NEO::directoryFilesMap.clear();
|
||||
}
|
||||
|
||||
@@ -799,5 +816,6 @@ HWTEST2_F(SysfsBasedUuidTest, givenDriverModelIsNotDrmWhenRetrievingDeviceUuidTh
|
||||
auto executionEnvironment = device->getExecutionEnvironment();
|
||||
executionEnvironment->rootDeviceEnvironments[0]->osInterface->setDriverModel(std::move(driverModelMock));
|
||||
std::array<uint8_t, 16> uuid;
|
||||
EXPECT_FALSE(ProductHelper::get(productFamily)->getUuid(device, uuid));
|
||||
auto &productHelper = device->getProductHelper();
|
||||
EXPECT_FALSE(productHelper.getUuid(device, uuid));
|
||||
}
|
||||
@@ -116,10 +116,9 @@ TEST_F(WddmTests, whenGetAdapterLuidThenLuidIsReturned) {
|
||||
TEST_F(WddmTests, GivenDebugFlagDisablesEvictIfNecessarySupportThenFlagIsFalse) {
|
||||
DebugManagerStateRestore restorer{};
|
||||
DebugManager.flags.PlaformSupportEvictIfNecessaryFlag.set(0);
|
||||
auto &productHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
|
||||
auto productHelper = ProductHelper::get(rootDeviceEnvironment->getHardwareInfo()->platform.eProductFamily);
|
||||
|
||||
wddm->setPlatformSupportEvictIfNecessaryFlag(*productHelper);
|
||||
wddm->setPlatformSupportEvictIfNecessaryFlag(productHelper);
|
||||
EXPECT_FALSE(wddm->platformSupportsEvictIfNecessary);
|
||||
}
|
||||
|
||||
@@ -127,25 +126,25 @@ TEST_F(WddmTests, GivenDebugFlagEnablesEvictIfNecessarySupportThenFlagIsTrue) {
|
||||
DebugManagerStateRestore restorer{};
|
||||
DebugManager.flags.PlaformSupportEvictIfNecessaryFlag.set(1);
|
||||
|
||||
auto productHelper = ProductHelper::get(rootDeviceEnvironment->getHardwareInfo()->platform.eProductFamily);
|
||||
auto &productHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
|
||||
wddm->setPlatformSupportEvictIfNecessaryFlag(*productHelper);
|
||||
wddm->setPlatformSupportEvictIfNecessaryFlag(productHelper);
|
||||
EXPECT_TRUE(wddm->platformSupportsEvictIfNecessary);
|
||||
}
|
||||
|
||||
TEST_F(WddmTests, givenDebugFlagForceEvictOnlyIfNecessaryAllValuesThenForceSettingIsSetCorrectly) {
|
||||
DebugManagerStateRestore restorer{};
|
||||
auto productHelper = ProductHelper::get(rootDeviceEnvironment->getHardwareInfo()->platform.eProductFamily);
|
||||
auto &productHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
|
||||
wddm->setPlatformSupportEvictIfNecessaryFlag(*productHelper);
|
||||
wddm->setPlatformSupportEvictIfNecessaryFlag(productHelper);
|
||||
EXPECT_EQ(-1, wddm->forceEvictOnlyIfNecessary);
|
||||
|
||||
DebugManager.flags.ForceEvictOnlyIfNecessaryFlag.set(0);
|
||||
wddm->setPlatformSupportEvictIfNecessaryFlag(*productHelper);
|
||||
wddm->setPlatformSupportEvictIfNecessaryFlag(productHelper);
|
||||
EXPECT_EQ(0, wddm->forceEvictOnlyIfNecessary);
|
||||
|
||||
DebugManager.flags.ForceEvictOnlyIfNecessaryFlag.set(1);
|
||||
wddm->setPlatformSupportEvictIfNecessaryFlag(*productHelper);
|
||||
wddm->setPlatformSupportEvictIfNecessaryFlag(productHelper);
|
||||
EXPECT_EQ(1, wddm->forceEvictOnlyIfNecessary);
|
||||
}
|
||||
|
||||
|
||||
@@ -151,7 +151,8 @@ HWTEST2_F(XeHpcComputeModeRequirements, giventhreadArbitrationPolicyWithoutShare
|
||||
setUpImpl<FamilyType>();
|
||||
using STATE_COMPUTE_MODE = typename FamilyType::STATE_COMPUTE_MODE;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
auto &productHelper = *ProductHelper::get(defaultHwInfo->platform.eProductFamily);
|
||||
MockExecutionEnvironment mockExecutionEnvironment{};
|
||||
auto &productHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
|
||||
auto startOffset = getCsrHw<FamilyType>()->commandStream.getUsed();
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2021-2022 Intel Corporation
|
||||
* Copyright (C) 2021-2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "shared/source/os_interface/hw_info_config.h"
|
||||
#include "shared/test/common/helpers/debug_manager_state_restore.h"
|
||||
#include "shared/test/common/helpers/default_hw_info.h"
|
||||
#include "shared/test/common/mocks/mock_execution_environment.h"
|
||||
#include "shared/test/common/test_macros/header/per_product_test_definitions.h"
|
||||
#include "shared/test/common/test_macros/test.h"
|
||||
|
||||
@@ -33,7 +34,8 @@ XE_HPC_CORETEST_F(WalkerDispatchTestsXeHpcCore, givenXeHpcWhenEncodeAdditionalWa
|
||||
}
|
||||
|
||||
{
|
||||
const auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
|
||||
MockExecutionEnvironment mockExecutionEnvironment{};
|
||||
const auto &productHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
uint32_t expectedValue = productHelper.isComputeDispatchAllWalkerEnableInComputeWalkerRequired(hwInfo);
|
||||
walkerArgs.kernelExecutionType = KernelExecutionType::Concurrent;
|
||||
EncodeDispatchKernel<FamilyType>::encodeAdditionalWalkerFields(hwInfo, walkerCmd, walkerArgs);
|
||||
|
||||
@@ -84,7 +84,9 @@ XE_HPC_CORETEST_F(GfxCoreHelperXeHpcCoreTest, givenXeHPCPlatformWhenCheckAssignE
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
MockExecutionEnvironment mockExecutionEnvironment{};
|
||||
auto &gfxCoreHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper<GfxCoreHelper>();
|
||||
EXPECT_EQ(gfxCoreHelper.isAssignEngineRoundRobinSupported(hwInfo), ProductHelper::get(hwInfo.platform.eProductFamily)->isAssignEngineRoundRobinSupported());
|
||||
auto &productHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
|
||||
EXPECT_EQ(gfxCoreHelper.isAssignEngineRoundRobinSupported(hwInfo), productHelper.isAssignEngineRoundRobinSupported());
|
||||
}
|
||||
|
||||
XE_HPC_CORETEST_F(GfxCoreHelperTest, givenGfxCoreHelperWhenCallCopyThroughLockedPtrEnabledThenReturnTrue) {
|
||||
|
||||
@@ -504,7 +504,7 @@ PVCTEST_F(EngineNodeHelperPvcTests, whenGetGpgpuEnginesThenReturnTwoCccsEnginesA
|
||||
PVCTEST_F(EngineNodeHelperPvcTests, givenNonTile0AccessWhenGettingIsBlitCopyRequiredForLocalMemoryThenProperValueIsReturned) {
|
||||
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
hwInfo.capabilityTable.blitterOperationsSupported = true;
|
||||
MockGraphicsAllocation graphicsAllocation;
|
||||
graphicsAllocation.setAllocationType(AllocationType::BUFFER_HOST_MEMORY);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2021-2022 Intel Corporation
|
||||
* Copyright (C) 2021-2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "shared/source/xe_hpc_core/hw_cmds_pvc.h"
|
||||
#include "shared/test/common/helpers/debug_manager_state_restore.h"
|
||||
#include "shared/test/common/helpers/default_hw_info.h"
|
||||
#include "shared/test/common/mocks/mock_execution_environment.h"
|
||||
#include "shared/test/common/test_macros/header/per_product_test_definitions.h"
|
||||
#include "shared/test/common/test_macros/test.h"
|
||||
|
||||
@@ -20,11 +21,13 @@ using PvcSamplerTest = ::testing::Test;
|
||||
PVCTEST_F(PvcSamplerTest, givenPvcSamplerWhenUsingDefaultFilteringAndAppendSamplerStateParamsThenDisableLowQualityFilter) {
|
||||
EXPECT_FALSE(DebugManager.flags.ForceSamplerLowFilteringPrecision.get());
|
||||
typedef typename FamilyType::SAMPLER_STATE SAMPLER_STATE;
|
||||
MockExecutionEnvironment mockExecutionEnvironment{};
|
||||
auto &productHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
|
||||
auto state = FamilyType::cmdInitSamplerState;
|
||||
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_DISABLE, state.getLowQualityFilter());
|
||||
ProductHelper::get(defaultHwInfo->platform.eProductFamily)->adjustSamplerState(&state, *defaultHwInfo);
|
||||
productHelper.adjustSamplerState(&state, *defaultHwInfo);
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_DISABLE, state.getLowQualityFilter());
|
||||
}
|
||||
|
||||
@@ -33,10 +36,11 @@ PVCTEST_F(PvcSamplerTest, givenPvcSamplerWhenForcingLowQualityFilteringAndAppend
|
||||
DebugManager.flags.ForceSamplerLowFilteringPrecision.set(true);
|
||||
EXPECT_TRUE(DebugManager.flags.ForceSamplerLowFilteringPrecision.get());
|
||||
typedef typename FamilyType::SAMPLER_STATE SAMPLER_STATE;
|
||||
|
||||
MockExecutionEnvironment mockExecutionEnvironment{};
|
||||
auto &productHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
auto state = FamilyType::cmdInitSamplerState;
|
||||
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_DISABLE, state.getLowQualityFilter());
|
||||
ProductHelper::get(defaultHwInfo->platform.eProductFamily)->adjustSamplerState(&state, *defaultHwInfo);
|
||||
productHelper.adjustSamplerState(&state, *defaultHwInfo);
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_ENABLE, state.getLowQualityFilter());
|
||||
}
|
||||
|
||||
@@ -77,12 +77,12 @@ PVCTEST_F(EncodeKernelPvcTest, givenRevisionBAndAboveWhenSpecialModeRequiredThen
|
||||
{0x6, false},
|
||||
{0x7, false},
|
||||
};
|
||||
auto productHelper = ProductHelper::get(hwInfo->platform.eProductFamily);
|
||||
auto &productHelper = pDevice->getProductHelper();
|
||||
for (const auto &testInput : testInputs) {
|
||||
for (const auto &deviceId : pvcXlDeviceIds) {
|
||||
hwInfo->platform.usDeviceID = deviceId;
|
||||
hwInfo->platform.usRevId = testInput.revId;
|
||||
cmdContainer->systolicModeSupport = productHelper->isSystolicModeConfigurable(*hwInfo);
|
||||
cmdContainer->systolicModeSupport = productHelper.isSystolicModeConfigurable(*hwInfo);
|
||||
cmdContainer->lastPipelineSelectModeRequired = false;
|
||||
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
@@ -112,12 +112,12 @@ PVCTEST_F(EncodeKernelPvcTest, givenRevisionBAndAboveWhenSpecialModeRequiredAndA
|
||||
{0x6, false},
|
||||
{0x7, false},
|
||||
};
|
||||
auto productHelper = ProductHelper::get(hwInfo->platform.eProductFamily);
|
||||
auto &productHelper = pDevice->getProductHelper();
|
||||
for (const auto &testInput : testInputs) {
|
||||
for (const auto &deviceId : pvcXlDeviceIds) {
|
||||
hwInfo->platform.usDeviceID = deviceId;
|
||||
hwInfo->platform.usRevId = testInput.revId;
|
||||
cmdContainer->systolicModeSupport = productHelper->isSystolicModeConfigurable(*hwInfo);
|
||||
cmdContainer->systolicModeSupport = productHelper.isSystolicModeConfigurable(*hwInfo);
|
||||
EncodeComputeMode<FamilyType>::adjustPipelineSelect(*cmdContainer.get(), dispatchInterface->kernelDescriptor);
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
@@ -65,7 +65,7 @@ PVCTEST_F(PreamblePipelineSelectState, givenRevisionBAndAboveWhenCallingProgramP
|
||||
{0x6, false},
|
||||
{0x7, false},
|
||||
};
|
||||
auto &productHelper = *ProductHelper::get(hwInfo->platform.eProductFamily);
|
||||
auto &productHelper = pDevice->getProductHelper();
|
||||
for (auto &testInput : testInputs) {
|
||||
LinearStream linearStream(&gfxAllocation);
|
||||
hwInfo->platform.usRevId = testInput.revId;
|
||||
|
||||
@@ -361,7 +361,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDefaultSettingForFenceAsPostSy
|
||||
DebugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(-1);
|
||||
|
||||
auto &hwInfo = *pDevice->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
|
||||
auto &productHelper = pDevice->getProductHelper();
|
||||
|
||||
VariableBackup<unsigned short> hwRevId{&hwInfo.platform.usRevId};
|
||||
hwRevId = productHelper.getHwRevIdFromStepping(REVISION_A0, hwInfo);
|
||||
@@ -395,7 +395,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDefaultSettingForFenceWhenKern
|
||||
DebugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(-1);
|
||||
|
||||
auto &hwInfo = *pDevice->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
|
||||
auto &productHelper = pDevice->getProductHelper();
|
||||
|
||||
unsigned short pvcRevB = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
VariableBackup<unsigned short> hwRevId(&hwInfo.platform.usRevId, pvcRevB);
|
||||
@@ -431,7 +431,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDefaultSettingForFenceWhenEven
|
||||
DebugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(-1);
|
||||
|
||||
auto &hwInfo = *pDevice->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
|
||||
auto &productHelper = pDevice->getProductHelper();
|
||||
|
||||
unsigned short pvcRevB = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
VariableBackup<unsigned short> hwRevId(&hwInfo.platform.usRevId, pvcRevB);
|
||||
@@ -467,7 +467,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDefaultSettingForFenceWhenKern
|
||||
DebugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(-1);
|
||||
|
||||
auto &hwInfo = *pDevice->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||
auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
|
||||
auto &productHelper = pDevice->getProductHelper();
|
||||
|
||||
unsigned short pvcRevB = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
VariableBackup<unsigned short> hwRevId(&hwInfo.platform.usRevId, pvcRevB);
|
||||
@@ -521,7 +521,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenCleanHeapsAndSlmNotChangedAndU
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDispatchSizeSmallerOrEqualToAvailableThreadCountWhenAdjustInterfaceDescriptorDataIsCalledThenThreadGroupDispatchSizeIsCorrectlySet) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
hwInfo.gtSystemInfo.EUCount = 2u;
|
||||
@@ -541,7 +541,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenMultipleTilesAndImplicitScalin
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.EnableWalkerPartition.set(0);
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
hwInfo.gtSystemInfo.EUCount = 32;
|
||||
@@ -564,7 +564,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenMultipleTilesAndImplicitScalin
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenNumberOfThreadsInThreadGroupWhenCallingAdjustInterfaceDescriptorDataThenThreadGroupDispatchSizeIsCorrectlySet) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
|
||||
@@ -587,7 +587,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenNumberOfThreadsInThreadGroupWh
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDifferentNumGrfWhenCallingAdjustInterfaceDescriptorDataThenThreadGroupDispatchSizeIsCorrectlySet) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
|
||||
@@ -616,7 +616,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenNumberOfThreadsInThreadGroupAn
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.AdjustThreadGroupDispatchSize.set(0);
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
|
||||
@@ -639,7 +639,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenNumberOfThreadsInThreadGroupAn
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenIndivisibleDispatchSizeWhenCallingAdjustInterfaceDescriptorDataThenThreadGroupDispatchSizeIsCorrectlySet) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
|
||||
@@ -656,7 +656,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenIndivisibleDispatchSizeWhenCal
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenThreadGroupCountZeroWhenCallingAdjustInterfaceDescriptorDataThenThreadGroupDispatchSizeIsSetToDefault) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2021-2022 Intel Corporation
|
||||
* Copyright (C) 2021-2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -24,7 +24,7 @@ XE_HPG_CORETEST_F(ComputeModeRequirementsXeHpgCore, GivenVariousSettingsWhenComp
|
||||
using STATE_COMPUTE_MODE = typename FamilyType::STATE_COMPUTE_MODE;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
const auto &productHelper = this->device->getProductHelper();
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper.isPipeControlPriorToNonPipelinedStateCommandsWARequired(*defaultHwInfo, csr->isRcs());
|
||||
std::ignore = isExtendedWARequired;
|
||||
|
||||
|
||||
@@ -34,14 +34,16 @@ DG2TEST_F(GfxCoreHelperTestDg2, whenGetExtensionsIsCalledThenMatrixMultiplyAccum
|
||||
|
||||
DG2TEST_F(GfxCoreHelperTestDg2, givenRcsDisabledWhenGetGpgpuEnginesCalledThenDontSetRcs) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
auto productHelper = ProductHelper::get(productFamily);
|
||||
MockExecutionEnvironment mockExecutionEnvironment{};
|
||||
|
||||
auto &productHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
hwInfo.featureTable.flags.ftrCCSNode = true;
|
||||
hwInfo.featureTable.ftrBcsInfo = 1;
|
||||
hwInfo.featureTable.flags.ftrRcsNode = true;
|
||||
hwInfo.capabilityTable.blitterOperationsSupported = true;
|
||||
hwInfo.capabilityTable.defaultEngineType = aub_stream::ENGINE_CCS;
|
||||
hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 4;
|
||||
productHelper->configureHardwareCustom(&hwInfo, nullptr);
|
||||
productHelper.configureHardwareCustom(&hwInfo, nullptr);
|
||||
|
||||
auto device = std::unique_ptr<MockDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(&hwInfo, 0));
|
||||
auto &gfxCoreHelper = device->getGfxCoreHelper();
|
||||
|
||||
@@ -6,13 +6,14 @@
|
||||
*/
|
||||
|
||||
#include "shared/source/command_stream/stream_properties.h"
|
||||
#include "shared/source/execution_environment/execution_environment.h"
|
||||
#include "shared/source/execution_environment/root_device_environment.h"
|
||||
#include "shared/source/helpers/constants.h"
|
||||
#include "shared/source/helpers/hw_helper.h"
|
||||
#include "shared/source/os_interface/hw_info_config.h"
|
||||
#include "shared/test/common/fixtures/device_fixture.h"
|
||||
#include "shared/test/common/helpers/debug_manager_state_restore.h"
|
||||
#include "shared/test/common/helpers/default_hw_info.h"
|
||||
#include "shared/test/common/mocks/mock_device.h"
|
||||
#include "shared/test/common/test_macros/test.h"
|
||||
#include "shared/test/common/xe_hpg_core/dg2/product_configs_dg2.h"
|
||||
#include "shared/test/unit_test/fixtures/product_config_fixture.h"
|
||||
@@ -22,12 +23,9 @@
|
||||
|
||||
using namespace NEO;
|
||||
|
||||
using ProductHelperTestDg2 = Test<DeviceFixture>;
|
||||
using ProductHelperTestDg2 = Test<DeviceFixture>;
|
||||
using ProductHelperTestDg2 = ProductHelperTest;
|
||||
|
||||
using Dg2HwInfo = ProductHelperTest;
|
||||
|
||||
DG2TEST_F(Dg2HwInfo, whenGettingAubstreamProductFamilyThenProperEnumValueIsReturned) {
|
||||
DG2TEST_F(ProductHelperTestDg2, whenGettingAubstreamProductFamilyThenProperEnumValueIsReturned) {
|
||||
EXPECT_EQ(aub_stream::ProductFamily::Dg2, productHelper->getAubStreamProductFamily());
|
||||
}
|
||||
|
||||
@@ -56,149 +54,140 @@ DG2TEST_F(ProductHelperTestDg2, givenDg2ConfigWhenSetupHardwareInfoThenGtSystemI
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenG10DevIdWhenAdditionalKernelExecInfoSupportCheckedThenCorrectValueIsReturned) {
|
||||
auto &productHelper = *ProductHelper::get(defaultHwInfo->platform.eProductFamily);
|
||||
HardwareInfo myHwInfo = *defaultHwInfo;
|
||||
myHwInfo.platform.usDeviceID = dg2G10DeviceIds[0];
|
||||
EXPECT_FALSE(productHelper.isDisableOverdispatchAvailable(myHwInfo));
|
||||
EXPECT_FALSE(productHelper->isDisableOverdispatchAvailable(myHwInfo));
|
||||
|
||||
FrontEndPropertiesSupport fePropertiesSupport{};
|
||||
productHelper.fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
productHelper->fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
EXPECT_FALSE(fePropertiesSupport.disableOverdispatch);
|
||||
|
||||
myHwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, myHwInfo);
|
||||
EXPECT_TRUE(productHelper.isDisableOverdispatchAvailable(myHwInfo));
|
||||
myHwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(REVISION_B, myHwInfo);
|
||||
EXPECT_TRUE(productHelper->isDisableOverdispatchAvailable(myHwInfo));
|
||||
|
||||
productHelper.fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
productHelper->fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
EXPECT_TRUE(fePropertiesSupport.disableOverdispatch);
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenG11DevIdWhenIsDisableOverdispatchAvailableCalledThenTrueReturnedForAllSteppings) {
|
||||
FrontEndPropertiesSupport fePropertiesSupport{};
|
||||
auto &productHelper = *ProductHelper::get(defaultHwInfo->platform.eProductFamily);
|
||||
HardwareInfo myHwInfo = *defaultHwInfo;
|
||||
|
||||
myHwInfo.platform.usDeviceID = dg2G11DeviceIds[0];
|
||||
myHwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_A0, myHwInfo);
|
||||
EXPECT_TRUE(productHelper.isDisableOverdispatchAvailable(myHwInfo));
|
||||
productHelper.fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
myHwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(REVISION_A0, myHwInfo);
|
||||
EXPECT_TRUE(productHelper->isDisableOverdispatchAvailable(myHwInfo));
|
||||
productHelper->fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
EXPECT_TRUE(fePropertiesSupport.disableOverdispatch);
|
||||
|
||||
myHwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, myHwInfo);
|
||||
EXPECT_TRUE(productHelper.isDisableOverdispatchAvailable(myHwInfo));
|
||||
productHelper.fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
myHwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(REVISION_B, myHwInfo);
|
||||
EXPECT_TRUE(productHelper->isDisableOverdispatchAvailable(myHwInfo));
|
||||
productHelper->fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
EXPECT_TRUE(fePropertiesSupport.disableOverdispatch);
|
||||
|
||||
myHwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_C, myHwInfo);
|
||||
EXPECT_TRUE(productHelper.isDisableOverdispatchAvailable(myHwInfo));
|
||||
productHelper.fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
myHwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(REVISION_C, myHwInfo);
|
||||
EXPECT_TRUE(productHelper->isDisableOverdispatchAvailable(myHwInfo));
|
||||
productHelper->fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
EXPECT_TRUE(fePropertiesSupport.disableOverdispatch);
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenG12DevIdWhenIsDisableOverdispatchAvailableCalledThenTrueReturnedForAllSteppings) {
|
||||
FrontEndPropertiesSupport fePropertiesSupport{};
|
||||
auto &productHelper = *ProductHelper::get(defaultHwInfo->platform.eProductFamily);
|
||||
HardwareInfo myHwInfo = *defaultHwInfo;
|
||||
|
||||
myHwInfo.platform.usDeviceID = dg2G12DeviceIds[0];
|
||||
myHwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_A0, myHwInfo);
|
||||
EXPECT_TRUE(productHelper.isDisableOverdispatchAvailable(myHwInfo));
|
||||
productHelper.fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
myHwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(REVISION_A0, myHwInfo);
|
||||
EXPECT_TRUE(productHelper->isDisableOverdispatchAvailable(myHwInfo));
|
||||
productHelper->fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
EXPECT_TRUE(fePropertiesSupport.disableOverdispatch);
|
||||
|
||||
myHwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, myHwInfo);
|
||||
EXPECT_TRUE(productHelper.isDisableOverdispatchAvailable(myHwInfo));
|
||||
productHelper.fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
myHwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(REVISION_B, myHwInfo);
|
||||
EXPECT_TRUE(productHelper->isDisableOverdispatchAvailable(myHwInfo));
|
||||
productHelper->fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
EXPECT_TRUE(fePropertiesSupport.disableOverdispatch);
|
||||
|
||||
myHwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_C, myHwInfo);
|
||||
EXPECT_TRUE(productHelper.isDisableOverdispatchAvailable(myHwInfo));
|
||||
productHelper.fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
myHwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(REVISION_C, myHwInfo);
|
||||
EXPECT_TRUE(productHelper->isDisableOverdispatchAvailable(myHwInfo));
|
||||
productHelper->fillFrontEndPropertiesSupportStructure(fePropertiesSupport, myHwInfo);
|
||||
EXPECT_TRUE(fePropertiesSupport.disableOverdispatch);
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, whenAdjustingDefaultEngineTypeThenSelectEngineTypeBasedOnRevisionId) {
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
hwInfo.featureTable.flags.ftrCCSNode = true;
|
||||
|
||||
auto &gfxCoreHelper = getHelper<GfxCoreHelper>();
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
auto &gfxCoreHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<GfxCoreHelper>();
|
||||
|
||||
for (uint8_t revision : {REVISION_A0, REVISION_A1, REVISION_B, REVISION_C}) {
|
||||
for (auto deviceId : {dg2G10DeviceIds[0], dg2G11DeviceIds[0], dg2G12DeviceIds[0]}) {
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usDeviceID = deviceId;
|
||||
hwInfo.capabilityTable.defaultEngineType = defaultHwInfo->capabilityTable.defaultEngineType;
|
||||
gfxCoreHelper.adjustDefaultEngineType(&hwInfo);
|
||||
if (DG2::isG10(hwInfo) && revision < REVISION_B) {
|
||||
EXPECT_EQ(aub_stream::ENGINE_RCS, hwInfo.capabilityTable.defaultEngineType);
|
||||
} else {
|
||||
EXPECT_EQ(aub_stream::ENGINE_CCS, hardwareInfo.capabilityTable.defaultEngineType);
|
||||
EXPECT_EQ(aub_stream::ENGINE_CCS, defaultHwInfo->capabilityTable.defaultEngineType);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDg2G11OrG12WhenAskingIfMaxThreadsForWorkgroupWAIsRequiredThenReturnFalse) {
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
for (uint8_t revision : {REVISION_A0, REVISION_A1, REVISION_B, REVISION_C}) {
|
||||
for (auto deviceId : {dg2G11DeviceIds[0], dg2G12DeviceIds[0]}) {
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usDeviceID = deviceId;
|
||||
|
||||
EXPECT_FALSE(productHelper.isMaxThreadsForWorkgroupWARequired(hwInfo));
|
||||
EXPECT_FALSE(productHelper->isMaxThreadsForWorkgroupWARequired(hwInfo));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDg2G10A0OrA1SteppingWhenAskingIfWAIsRequiredThenReturnTrue) {
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
for (uint8_t revision : {REVISION_A0, REVISION_A1, REVISION_B, REVISION_C}) {
|
||||
for (auto deviceId : {dg2G10DeviceIds[0], dg2G11DeviceIds[0], dg2G12DeviceIds[0]}) {
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usDeviceID = deviceId;
|
||||
|
||||
auto expectedValue = DG2::isG10(hwInfo) && revision < REVISION_B;
|
||||
|
||||
EXPECT_EQ(expectedValue, productHelper.isDefaultEngineTypeAdjustmentRequired(hwInfo));
|
||||
EXPECT_EQ(expectedValue, productHelper.isAllocationSizeAdjustmentRequired(hwInfo));
|
||||
EXPECT_EQ(expectedValue, productHelper.isPrefetchDisablingRequired(hwInfo));
|
||||
EXPECT_EQ(expectedValue, productHelper->isDefaultEngineTypeAdjustmentRequired(hwInfo));
|
||||
EXPECT_EQ(expectedValue, productHelper->isAllocationSizeAdjustmentRequired(hwInfo));
|
||||
EXPECT_EQ(expectedValue, productHelper->isPrefetchDisablingRequired(hwInfo));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDg2G10WhenAskingForSBAWaThenReturnSuccessOnlyForBStepping) {
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
for (uint8_t revision : {REVISION_A0, REVISION_A1, REVISION_B, REVISION_C}) {
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usDeviceID = dg2G10DeviceIds[0];
|
||||
|
||||
auto expectedValue = revision == REVISION_B;
|
||||
EXPECT_EQ(expectedValue, productHelper.isAdditionalStateBaseAddressWARequired(hwInfo));
|
||||
EXPECT_EQ(expectedValue, productHelper->isAdditionalStateBaseAddressWARequired(hwInfo));
|
||||
}
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDg2G11WhenAskingForSBAWaThenReturnSuccess) {
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
for (uint8_t revision : {REVISION_A0, REVISION_A1, REVISION_B, REVISION_C}) {
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usDeviceID = dg2G11DeviceIds[0];
|
||||
|
||||
EXPECT_TRUE(productHelper.isAdditionalStateBaseAddressWARequired(hwInfo));
|
||||
EXPECT_TRUE(productHelper->isAdditionalStateBaseAddressWARequired(hwInfo));
|
||||
}
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDg2G12WhenAskingForSBAWaThenReturnSuccess) {
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
for (uint8_t revision : {REVISION_A0, REVISION_A1, REVISION_B, REVISION_C}) {
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usDeviceID = dg2G12DeviceIds[0];
|
||||
|
||||
EXPECT_FALSE(productHelper.isAdditionalStateBaseAddressWARequired(hwInfo));
|
||||
EXPECT_FALSE(productHelper->isAdditionalStateBaseAddressWARequired(hwInfo));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,11 +195,10 @@ DG2TEST_F(ProductHelperTestDg2, givenProgramExtendedPipeControlPriorToNonPipelin
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true);
|
||||
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
auto isRcs = false;
|
||||
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
|
||||
EXPECT_TRUE(isExtendedWARequired);
|
||||
EXPECT_TRUE(isBasicWARequired);
|
||||
@@ -220,11 +208,10 @@ DG2TEST_F(ProductHelperTestDg2, givenProgramExtendedPipeControlPriorToNonPipelin
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(true);
|
||||
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
auto isRcs = true;
|
||||
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
|
||||
EXPECT_TRUE(isExtendedWARequired);
|
||||
EXPECT_TRUE(isBasicWARequired);
|
||||
@@ -234,76 +221,75 @@ DG2TEST_F(ProductHelperTestDg2, givenProgramPipeControlPriorToNonPipelinedStateC
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.ProgramExtendedPipeControlPriorToNonPipelinedStateCommand.set(0);
|
||||
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
auto isRcs = true;
|
||||
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
|
||||
EXPECT_FALSE(isExtendedWARequired);
|
||||
EXPECT_TRUE(isBasicWARequired);
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenProductHelperWithMultipleCSSWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledOnCcsThenTrueIsReturned) {
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 2;
|
||||
auto isRcs = false;
|
||||
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
|
||||
EXPECT_TRUE(isExtendedWARequired);
|
||||
EXPECT_TRUE(isBasicWARequired);
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenProductHelperWithMultipleCSSWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledOnRcsThenFalseIsReturned) {
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 2;
|
||||
auto isRcs = true;
|
||||
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
|
||||
EXPECT_FALSE(isExtendedWARequired);
|
||||
EXPECT_TRUE(isBasicWARequired);
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenProductHelperWithSingleCSSWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledOnCcsThenTrueIsReturned) {
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 1;
|
||||
auto isRcs = false;
|
||||
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
|
||||
EXPECT_FALSE(isExtendedWARequired);
|
||||
EXPECT_TRUE(isBasicWARequired);
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenProductHelperWithSingleCSSWhenIsPipeControlPriorToNonPipelinedStateCommandsWARequiredIsCalledOnRcsThenTrueIsReturned) {
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
hwInfo.gtSystemInfo.CCSInfo.NumberOfCCSEnabled = 1;
|
||||
auto isRcs = true;
|
||||
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper.isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
const auto &[isBasicWARequired, isExtendedWARequired] = productHelper->isPipeControlPriorToNonPipelinedStateCommandsWARequired(hwInfo, isRcs);
|
||||
|
||||
EXPECT_FALSE(isExtendedWARequired);
|
||||
EXPECT_TRUE(isBasicWARequired);
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDg2WhenIsBlitterForImagesSupportedIsCalledThenTrueIsReturned) {
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
EXPECT_TRUE(productHelper.isBlitterForImagesSupported());
|
||||
|
||||
EXPECT_TRUE(productHelper->isBlitterForImagesSupported());
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, WhenGetSvmCpuAlignmentThenProperValueIsReturned) {
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
EXPECT_EQ(MemoryConstants::pageSize2Mb, productHelper.getSvmCpuAlignment());
|
||||
|
||||
EXPECT_EQ(MemoryConstants::pageSize2Mb, productHelper->getSvmCpuAlignment());
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenB0rCSteppingWhenAskingIfTile64With3DSurfaceOnBCSIsSupportedThenReturnTrue) {
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
|
||||
std::array<std::pair<uint32_t, bool>, 4> revisions = {
|
||||
{{REVISION_A0, false},
|
||||
{REVISION_A1, false},
|
||||
@@ -312,73 +298,69 @@ DG2TEST_F(ProductHelperTestDg2, givenB0rCSteppingWhenAskingIfTile64With3DSurface
|
||||
|
||||
for (const auto &[revision, paramBool] : revisions) {
|
||||
auto hwInfo = *defaultHwInfo;
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(revision, hwInfo);
|
||||
|
||||
productHelper.configureHardwareCustom(&hwInfo, nullptr);
|
||||
productHelper->configureHardwareCustom(&hwInfo, nullptr);
|
||||
|
||||
EXPECT_EQ(paramBool, productHelper.isTile64With3DSurfaceOnBCSSupported(hwInfo));
|
||||
EXPECT_EQ(paramBool, productHelper->isTile64With3DSurfaceOnBCSSupported(hwInfo));
|
||||
}
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDg2G10A0WhenConfigureCalledThenDisableCompression) {
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
|
||||
for (uint8_t revision : {REVISION_A0, REVISION_A1}) {
|
||||
for (auto deviceId : {dg2G10DeviceIds[0], dg2G11DeviceIds[0], dg2G12DeviceIds[0]}) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
hwInfo.featureTable.flags.ftrE2ECompression = true;
|
||||
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usDeviceID = deviceId;
|
||||
|
||||
productHelper.configureHardwareCustom(&hwInfo, nullptr);
|
||||
productHelper->configureHardwareCustom(&hwInfo, nullptr);
|
||||
|
||||
auto compressionExpected = DG2::isG10(hwInfo) ? (revision != REVISION_A0) : true;
|
||||
|
||||
EXPECT_EQ(compressionExpected, hwInfo.capabilityTable.ftrRenderCompressedBuffers);
|
||||
EXPECT_EQ(compressionExpected, hwInfo.capabilityTable.ftrRenderCompressedImages);
|
||||
EXPECT_EQ(compressionExpected, productHelper.allowCompression(hwInfo));
|
||||
EXPECT_EQ(compressionExpected, productHelper->allowCompression(hwInfo));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDg2G10WhenAskingForTile64For3dSurfaceOnBcsSupportThenReturnSuccessOnlyForCStepping) {
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
|
||||
for (uint8_t revision : {REVISION_A0, REVISION_A1, REVISION_B, REVISION_C}) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usDeviceID = dg2G10DeviceIds[0];
|
||||
|
||||
auto expectedValue = revision == REVISION_C;
|
||||
|
||||
EXPECT_EQ(expectedValue, productHelper.isTile64With3DSurfaceOnBCSSupported(hwInfo));
|
||||
EXPECT_EQ(expectedValue, productHelper->isTile64With3DSurfaceOnBCSSupported(hwInfo));
|
||||
}
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDg2G11WhenAskingForTile64For3dSurfaceOnBcsSupportThenReturnSuccessOnlyForHigherThanAStepping) {
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
|
||||
for (uint8_t revision : {REVISION_A0, REVISION_A1, REVISION_B, REVISION_C}) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usDeviceID = dg2G11DeviceIds[0];
|
||||
|
||||
auto expectedValue = revision >= REVISION_B;
|
||||
|
||||
EXPECT_EQ(expectedValue, productHelper.isTile64With3DSurfaceOnBCSSupported(hwInfo));
|
||||
EXPECT_EQ(expectedValue, productHelper->isTile64With3DSurfaceOnBCSSupported(hwInfo));
|
||||
}
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDg2G12WhenAskingForTile64For3dSurfaceOnBcsSupportThenReturnSuccess) {
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
|
||||
for (uint8_t revision : {REVISION_A0, REVISION_A1, REVISION_B, REVISION_C}) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(revision, hwInfo);
|
||||
hwInfo.platform.usDeviceID = dg2G12DeviceIds[0];
|
||||
|
||||
EXPECT_TRUE(productHelper.isTile64With3DSurfaceOnBCSSupported(hwInfo));
|
||||
EXPECT_TRUE(productHelper->isTile64With3DSurfaceOnBCSSupported(hwInfo));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -392,52 +374,51 @@ DG2TEST_F(ProductHelperTestDg2, givenRevisionEnumAndPlatformFamilyTypeThenProper
|
||||
};
|
||||
|
||||
auto hardwareInfo = *defaultHwInfo;
|
||||
const auto &productHelper = getHelper<ProductHelper>();
|
||||
|
||||
for (auto stepping : steppings) {
|
||||
hardwareInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(stepping, hardwareInfo);
|
||||
hardwareInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(stepping, hardwareInfo);
|
||||
|
||||
if (stepping <= REVISION_B) {
|
||||
if (stepping == REVISION_A0) {
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_A1, hardwareInfo, productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_B, hardwareInfo, productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_C, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_B, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_C, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_B, REVISION_C, hardwareInfo, productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_A1, hardwareInfo, *productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_B, hardwareInfo, *productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_C, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_B, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_C, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_B, REVISION_C, hardwareInfo, *productHelper));
|
||||
} else if (stepping == REVISION_A1) {
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_A1, hardwareInfo, productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_B, hardwareInfo, productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_C, hardwareInfo, productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_B, hardwareInfo, productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_C, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_B, REVISION_C, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_A1, hardwareInfo, *productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_B, hardwareInfo, *productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_C, hardwareInfo, *productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_B, hardwareInfo, *productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_C, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_B, REVISION_C, hardwareInfo, *productHelper));
|
||||
} else { // REVISION_B
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_A1, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_B, hardwareInfo, productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_C, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_B, hardwareInfo, productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_C, hardwareInfo, productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_B, REVISION_C, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_A1, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_B, hardwareInfo, *productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_C, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_B, hardwareInfo, *productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_C, hardwareInfo, *productHelper));
|
||||
EXPECT_TRUE(GfxCoreHelper::isWorkaroundRequired(REVISION_B, REVISION_C, hardwareInfo, *productHelper));
|
||||
}
|
||||
} else {
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_A1, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_B, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_C, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_B, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_C, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_B, REVISION_C, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_A1, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_B, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_C, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_B, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_C, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_B, REVISION_C, hardwareInfo, *productHelper));
|
||||
}
|
||||
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_A0, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_B, REVISION_A0, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_C, REVISION_A0, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_B, REVISION_A1, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_C, REVISION_A1, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_C, REVISION_B, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A1, REVISION_A0, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_B, REVISION_A0, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_C, REVISION_A0, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_B, REVISION_A1, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_C, REVISION_A1, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_C, REVISION_B, hardwareInfo, *productHelper));
|
||||
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_D, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_D, REVISION_A0, hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_D, hardwareInfo, *productHelper));
|
||||
EXPECT_FALSE(GfxCoreHelper::isWorkaroundRequired(REVISION_D, REVISION_A0, hardwareInfo, *productHelper));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -451,15 +432,14 @@ DG2TEST_F(ProductHelperTestDg2, givenRevisionEnumAndDisableL3CacheForDebugCalled
|
||||
};
|
||||
|
||||
auto hardwareInfo = *defaultHwInfo;
|
||||
const auto &gfxCoreHelper = getHelper<GfxCoreHelper>();
|
||||
const auto &productHelper = getHelper<ProductHelper>();
|
||||
const auto &gfxCoreHelper = this->executionEnvironment->rootDeviceEnvironments[0]->getHelper<GfxCoreHelper>();
|
||||
|
||||
for (auto stepping : steppings) {
|
||||
hardwareInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(stepping, hardwareInfo);
|
||||
hardwareInfo.platform.usRevId = productHelper->getHwRevIdFromStepping(stepping, hardwareInfo);
|
||||
if (stepping < REVISION_B) {
|
||||
EXPECT_TRUE(gfxCoreHelper.disableL3CacheForDebug(hardwareInfo, productHelper));
|
||||
EXPECT_TRUE(gfxCoreHelper.disableL3CacheForDebug(hardwareInfo, *productHelper));
|
||||
} else {
|
||||
EXPECT_FALSE(gfxCoreHelper.disableL3CacheForDebug(hardwareInfo, productHelper));
|
||||
EXPECT_FALSE(gfxCoreHelper.disableL3CacheForDebug(hardwareInfo, *productHelper));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -467,8 +447,6 @@ DG2TEST_F(ProductHelperTestDg2, givenRevisionEnumAndDisableL3CacheForDebugCalled
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDg2WhenSetForceNonCoherentThenProperFlagSet) {
|
||||
using FORCE_NON_COHERENT = typename FamilyType::STATE_COMPUTE_MODE::FORCE_NON_COHERENT;
|
||||
|
||||
auto productHelper = ProductHelper::get(productFamily);
|
||||
|
||||
auto stateComputeMode = FamilyType::cmdInitStateComputeMode;
|
||||
auto properties = StateComputeModeProperties{};
|
||||
|
||||
@@ -484,7 +462,7 @@ DG2TEST_F(ProductHelperTestDg2, givenDg2WhenSetForceNonCoherentThenProperFlagSet
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenEnabledSliceInNonStandardConfigWhenComputeUnitsUsedForScratchThenProperCalculationIsReturned) {
|
||||
HardwareInfo &hwInfo = *pDevice->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||
HardwareInfo &hwInfo = *executionEnvironment->rootDeviceEnvironments[0]->getMutableHardwareInfo();
|
||||
GT_SYSTEM_INFO &testSysInfo = hwInfo.gtSystemInfo;
|
||||
testSysInfo.IsDynamicallyPopulated = true;
|
||||
for (int i = 0; i < GT_MAX_SLICE; i++) {
|
||||
@@ -496,29 +474,29 @@ DG2TEST_F(ProductHelperTestDg2, givenEnabledSliceInNonStandardConfigWhenComputeU
|
||||
auto subSlicesPerSlice = testSysInfo.MaxSubSlicesSupported / testSysInfo.MaxSlicesSupported;
|
||||
auto maxSubSlice = highestEnabledSlice * subSlicesPerSlice;
|
||||
|
||||
auto &gfxCoreHelper = getHelper<GfxCoreHelper>();
|
||||
auto &gfxCoreHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<GfxCoreHelper>();
|
||||
|
||||
uint32_t expectedCalculation = maxSubSlice * testSysInfo.MaxEuPerSubSlice * (testSysInfo.ThreadCount / testSysInfo.EUCount);
|
||||
|
||||
EXPECT_EQ(expectedCalculation, gfxCoreHelper.getComputeUnitsUsedForScratch(pDevice->getRootDeviceEnvironment()));
|
||||
EXPECT_EQ(expectedCalculation, gfxCoreHelper.getComputeUnitsUsedForScratch(*executionEnvironment->rootDeviceEnvironments[0]));
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenNotEnabledSliceWhenComputeUnitsUsedForScratchThenThrowUnrecoverableIf) {
|
||||
HardwareInfo &hwInfo = *pDevice->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||
HardwareInfo &hwInfo = *executionEnvironment->rootDeviceEnvironments[0]->getMutableHardwareInfo();
|
||||
GT_SYSTEM_INFO &testSysInfo = hwInfo.gtSystemInfo;
|
||||
testSysInfo.IsDynamicallyPopulated = true;
|
||||
for (int i = 0; i < GT_MAX_SLICE; i++) {
|
||||
testSysInfo.SliceInfo[i].Enabled = false;
|
||||
}
|
||||
|
||||
auto &gfxCoreHelper = getHelper<GfxCoreHelper>();
|
||||
auto &gfxCoreHelper = executionEnvironment->rootDeviceEnvironments[0]->getHelper<GfxCoreHelper>();
|
||||
|
||||
EXPECT_THROW(gfxCoreHelper.getComputeUnitsUsedForScratch(pDevice->getRootDeviceEnvironment()), std::exception);
|
||||
EXPECT_THROW(gfxCoreHelper.getComputeUnitsUsedForScratch(*executionEnvironment->rootDeviceEnvironments[0]), std::exception);
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDG2WhenCheckingIsTimestampWaitSupportedForEventsThenReturnTrue) {
|
||||
auto &helper = getHelper<ProductHelper>();
|
||||
EXPECT_TRUE(helper.isTimestampWaitSupportedForEvents());
|
||||
|
||||
EXPECT_TRUE(productHelper->isTimestampWaitSupportedForEvents());
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductConfigTests, givenDg2G10DeviceIdsWhenConfigIsCheckedThenCorrectValueIsReturned) {
|
||||
@@ -627,7 +605,6 @@ DG2TEST_F(ProductConfigTests, givenNotSetDeviceAndRevisionIdWhenGetProductConfig
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenProductHelperWhenAskedIfStorageInfoAdjustmentIsRequiredThenTrueIsReturned) {
|
||||
auto productHelper = ProductHelper::get(defaultHwInfo->platform.eProductFamily);
|
||||
if constexpr (is32bit) {
|
||||
EXPECT_TRUE(productHelper->isStorageInfoAdjustmentRequired());
|
||||
} else {
|
||||
@@ -636,14 +613,12 @@ DG2TEST_F(ProductHelperTestDg2, givenProductHelperWhenAskedIfStorageInfoAdjustme
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenProductHelperWhenGettingEvictIfNecessaryFlagSupportedThenExpectTrue) {
|
||||
HardwareInfo hwInfo = *defaultHwInfo;
|
||||
const auto &productHelper = *ProductHelper::get(hwInfo.platform.eProductFamily);
|
||||
EXPECT_TRUE(productHelper.isEvictionIfNecessaryFlagSupported());
|
||||
|
||||
EXPECT_TRUE(productHelper->isEvictionIfNecessaryFlagSupported());
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenDebugFlagWhenCheckingIsResolveDependenciesByPipeControlsSupportedThenCorrectValueIsReturned) {
|
||||
DebugManagerStateRestore restorer;
|
||||
auto productHelper = ProductHelper::get(defaultHwInfo->platform.eProductFamily);
|
||||
|
||||
// ResolveDependenciesViaPipeControls = -1 (default)
|
||||
EXPECT_TRUE(productHelper->isResolveDependenciesByPipeControlsSupported(*defaultHwInfo, false));
|
||||
@@ -659,7 +634,6 @@ DG2TEST_F(ProductHelperTestDg2, givenDebugFlagWhenCheckingIsResolveDependenciesB
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenProductHelperWhenCheckingIsBufferPoolAllocatorSupportedThenCorrectValueIsReturned) {
|
||||
auto productHelper = ProductHelper::get(defaultHwInfo->platform.eProductFamily);
|
||||
|
||||
EXPECT_TRUE(productHelper->isBufferPoolAllocatorSupported());
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ DG2TEST_F(GfxCoreHelperTestDg2, GivenDifferentSteppingWhenComputeSlmSizeIsCalled
|
||||
MockExecutionEnvironment mockExecutionEnvironment{};
|
||||
auto &gfxCoreHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper<GfxCoreHelper>();
|
||||
|
||||
const auto &productHelper = *ProductHelper::get(productFamily);
|
||||
const auto &productHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
|
||||
auto hwInfo = *mockExecutionEnvironment.rootDeviceEnvironments[0]->getMutableHardwareInfo();
|
||||
for (auto revision : revisions) {
|
||||
|
||||
@@ -40,7 +40,7 @@ using ProductHelperTestMtl = Test<DeviceFixture>;
|
||||
|
||||
MTLTEST_F(ProductHelperTestMtl, givenMtlWhenCallIsAdjustWalkOrderAvailableThenReturnProperValue) {
|
||||
VariableBackup<HardwareInfo> backupHwInfo(defaultHwInfo.get());
|
||||
const auto &productHelper = *ProductHelper::get(defaultHwInfo->platform.eProductFamily);
|
||||
const auto &productHelper = getHelper<ProductHelper>();
|
||||
unsigned int gmdReleases[] = {70, 71, 72, 73};
|
||||
defaultHwInfo->ipVersion.architecture = 12;
|
||||
|
||||
@@ -132,13 +132,13 @@ MTLTEST_F(ProductHelperTestMtl, givenMultitileConfigWhenConfiguringHwInfoThenEna
|
||||
MTLTEST_F(GfxCoreHelperTestMtl, givenMtlWhenSetForceNonCoherentThenNothingChanged) {
|
||||
using FORCE_NON_COHERENT = typename FamilyType::STATE_COMPUTE_MODE::FORCE_NON_COHERENT;
|
||||
|
||||
auto productHelper = ProductHelper::get(productFamily);
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
|
||||
auto stateComputeMode = FamilyType::cmdInitStateComputeMode;
|
||||
auto properties = StateComputeModeProperties{};
|
||||
|
||||
properties.isCoherencyRequired.set(true);
|
||||
productHelper->setForceNonCoherent(&stateComputeMode, properties);
|
||||
productHelper.setForceNonCoherent(&stateComputeMode, properties);
|
||||
EXPECT_EQ(FORCE_NON_COHERENT::FORCE_NON_COHERENT_FORCE_DISABLED, stateComputeMode.getForceNonCoherent());
|
||||
EXPECT_EQ(0u, stateComputeMode.getMaskBits());
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2022 Intel Corporation
|
||||
* Copyright (C) 2022-2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "shared/source/os_interface/hw_info_config.h"
|
||||
#include "shared/test/common/helpers/debug_manager_state_restore.h"
|
||||
#include "shared/test/common/helpers/default_hw_info.h"
|
||||
#include "shared/test/common/mocks/mock_execution_environment.h"
|
||||
#include "shared/test/common/test_macros/hw_test.h"
|
||||
|
||||
#include <memory>
|
||||
@@ -20,9 +21,12 @@ using SamplerTestMtl = ::testing::Test;
|
||||
HWTEST2_F(SamplerTestMtl, givenMtlSamplerWhenUsingDefaultFilteringAndAppendSamplerStateParamsThenDisableLowQualityFilter, IsMTL) {
|
||||
EXPECT_FALSE(DebugManager.flags.ForceSamplerLowFilteringPrecision.get());
|
||||
typedef typename FamilyType::SAMPLER_STATE SAMPLER_STATE;
|
||||
|
||||
MockExecutionEnvironment mockExecutionEnvironment{};
|
||||
auto state = FamilyType::cmdInitSamplerState;
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_DISABLE, state.getLowQualityFilter());
|
||||
ProductHelper::get(defaultHwInfo->platform.eProductFamily)->adjustSamplerState(&state, *defaultHwInfo);
|
||||
auto &productHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
productHelper.adjustSamplerState(&state, *defaultHwInfo);
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_DISABLE, state.getLowQualityFilter());
|
||||
}
|
||||
|
||||
@@ -30,9 +34,12 @@ HWTEST2_F(SamplerTestMtl, giveMtlSamplerWhenForcingLowQualityFilteringAndAppendS
|
||||
DebugManagerStateRestore dbgRestore;
|
||||
DebugManager.flags.ForceSamplerLowFilteringPrecision.set(true);
|
||||
EXPECT_TRUE(DebugManager.flags.ForceSamplerLowFilteringPrecision.get());
|
||||
|
||||
MockExecutionEnvironment mockExecutionEnvironment{};
|
||||
typedef typename FamilyType::SAMPLER_STATE SAMPLER_STATE;
|
||||
auto state = FamilyType::cmdInitSamplerState;
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_DISABLE, state.getLowQualityFilter());
|
||||
ProductHelper::get(defaultHwInfo->platform.eProductFamily)->adjustSamplerState(&state, *defaultHwInfo);
|
||||
auto &productHelper = mockExecutionEnvironment.rootDeviceEnvironments[0]->getHelper<ProductHelper>();
|
||||
productHelper.adjustSamplerState(&state, *defaultHwInfo);
|
||||
EXPECT_EQ(SAMPLER_STATE::LOW_QUALITY_FILTER_ENABLE, state.getLowQualityFilter());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user