diff --git a/opencl/test/unit_test/gen11/hw_helper_tests_gen11.cpp b/opencl/test/unit_test/gen11/hw_helper_tests_gen11.cpp index f7d706d7d4..e47b619ad0 100644 --- a/opencl/test/unit_test/gen11/hw_helper_tests_gen11.cpp +++ b/opencl/test/unit_test/gen11/hw_helper_tests_gen11.cpp @@ -19,14 +19,6 @@ GEN11TEST_F(HwHelperTestGen11, WhenGettingMaxBarriersPerSliceThenCorrectSizeIsRe EXPECT_EQ(32u, helper.getMaxBarrierRegisterPerSlice()); } -GEN11TEST_F(HwHelperTestGen11, WhenSettingCapabilityCoherencyFlagThenFlagIsSet) { - auto &helper = HwHelper::get(renderCoreFamily); - - bool coherency = false; - helper.setCapabilityCoherencyFlag(&hardwareInfo, coherency); - EXPECT_TRUE(coherency); -} - GEN11TEST_F(HwHelperTestGen11, WhenGettingPitchAlignmentForImageThenCorrectValueIsReturned) { auto &helper = HwHelper::get(renderCoreFamily); EXPECT_EQ(4u, helper.getPitchAlignmentForImage(&hardwareInfo)); diff --git a/opencl/test/unit_test/gen12lp/hw_helper_tests_gen12lp.inl b/opencl/test/unit_test/gen12lp/hw_helper_tests_gen12lp.inl index 79782de6fc..b85fa8f212 100644 --- a/opencl/test/unit_test/gen12lp/hw_helper_tests_gen12lp.inl +++ b/opencl/test/unit_test/gen12lp/hw_helper_tests_gen12lp.inl @@ -39,29 +39,6 @@ GEN12LPTEST_F(HwHelperTestGen12Lp, WhenGettingMaxBarriersPerSliceThenCorrectSize EXPECT_EQ(32u, helper.getMaxBarrierRegisterPerSlice()); } -GEN12LPTEST_F(HwHelperTestGen12Lp, givenGen12LpSkuWhenGettingCapabilityCoherencyFlagThenExpectValidValue) { - auto &helper = HwHelper::get(renderCoreFamily); - const auto &hwInfoConfig = *HwInfoConfig::get(productFamily); - bool coherency = false; - helper.setCapabilityCoherencyFlag(&hardwareInfo, coherency); - - const bool checkDone = SpecialUltHelperGen12lp::additionalCoherencyCheck(hardwareInfo.platform.eProductFamily, coherency); - if (checkDone) { - return; - } - - if (SpecialUltHelperGen12lp::isAdditionalCapabilityCoherencyFlagSettingRequired(hardwareInfo.platform.eProductFamily)) { - hardwareInfo.platform.usRevId = hwInfoConfig.getHwRevIdFromStepping(REVISION_A1, hardwareInfo); - helper.setCapabilityCoherencyFlag(&hardwareInfo, coherency); - EXPECT_TRUE(coherency); - hardwareInfo.platform.usRevId = hwInfoConfig.getHwRevIdFromStepping(REVISION_A0, hardwareInfo); - helper.setCapabilityCoherencyFlag(&hardwareInfo, coherency); - EXPECT_FALSE(coherency); - } else { - EXPECT_TRUE(coherency); - } -} - GEN12LPTEST_F(HwHelperTestGen12Lp, WhenGettingPitchAlignmentForImageThenCorrectValueIsReturned) { auto &helper = HwHelper::get(renderCoreFamily); auto stepping = hardwareInfo.platform.usRevId; diff --git a/opencl/test/unit_test/gen12lp/windows/hw_info_config_tests_gen12lp.cpp b/opencl/test/unit_test/gen12lp/windows/hw_info_config_tests_gen12lp.cpp index d4b9ff290e..f2bffed39f 100644 --- a/opencl/test/unit_test/gen12lp/windows/hw_info_config_tests_gen12lp.cpp +++ b/opencl/test/unit_test/gen12lp/windows/hw_info_config_tests_gen12lp.cpp @@ -62,3 +62,25 @@ GEN12LPTEST_F(HwInfoConfigTestWindowsGen12lp, givenCompressionFtrEnabledWhenAski outHwInfo.capabilityTable.ftrRenderCompressedImages = true; EXPECT_TRUE(hwInfoConfig.isPageTableManagerSupported(outHwInfo)); } + +GEN12LPTEST_F(HwInfoConfigTestWindowsGen12lp, givenGen12LpSkuWhenGettingCapabilityCoherencyFlagThenExpectValidValue) { + auto &hwInfoConfig = *HwInfoConfig::get(productFamily); + bool coherency = false; + hwInfoConfig.setCapabilityCoherencyFlag(outHwInfo, coherency); + + const bool checkDone = SpecialUltHelperGen12lp::additionalCoherencyCheck(outHwInfo.platform.eProductFamily, coherency); + if (checkDone) { + return; + } + + if (SpecialUltHelperGen12lp::isAdditionalCapabilityCoherencyFlagSettingRequired(outHwInfo.platform.eProductFamily)) { + outHwInfo.platform.usRevId = hwInfoConfig.getHwRevIdFromStepping(REVISION_A1, outHwInfo); + hwInfoConfig.setCapabilityCoherencyFlag(outHwInfo, coherency); + EXPECT_TRUE(coherency); + outHwInfo.platform.usRevId = hwInfoConfig.getHwRevIdFromStepping(REVISION_A0, outHwInfo); + hwInfoConfig.setCapabilityCoherencyFlag(outHwInfo, coherency); + EXPECT_FALSE(coherency); + } else { + EXPECT_TRUE(coherency); + } +} diff --git a/opencl/test/unit_test/gen8/hw_helper_tests_gen8.cpp b/opencl/test/unit_test/gen8/hw_helper_tests_gen8.cpp index 6285d1ba75..63eab47e3d 100644 --- a/opencl/test/unit_test/gen8/hw_helper_tests_gen8.cpp +++ b/opencl/test/unit_test/gen8/hw_helper_tests_gen8.cpp @@ -22,14 +22,6 @@ GEN8TEST_F(HwHelperTestGen8, WhenGettingMaxBarriersPerSliceThenCorrectSizeIsRetu EXPECT_EQ(16u, helper.getMaxBarrierRegisterPerSlice()); } -GEN8TEST_F(HwHelperTestGen8, WhenSettingCapabilityCoherencyFlagThenFlagIsSet) { - auto &helper = HwHelper::get(renderCoreFamily); - - bool coherency = false; - helper.setCapabilityCoherencyFlag(&hardwareInfo, coherency); - EXPECT_TRUE(coherency); -} - GEN8TEST_F(HwHelperTestGen8, WhenGettingPitchAlignmentForImageThenCorrectValueIsReturned) { auto &helper = HwHelper::get(renderCoreFamily); EXPECT_EQ(4u, helper.getPitchAlignmentForImage(&hardwareInfo)); diff --git a/opencl/test/unit_test/gen9/hw_helper_tests_gen9.cpp b/opencl/test/unit_test/gen9/hw_helper_tests_gen9.cpp index 34d183cb47..c479d32b66 100644 --- a/opencl/test/unit_test/gen9/hw_helper_tests_gen9.cpp +++ b/opencl/test/unit_test/gen9/hw_helper_tests_gen9.cpp @@ -24,14 +24,6 @@ GEN9TEST_F(HwHelperTestGen9, givenGen9WhenCallIsPackedSupportedThenReturnFalse) EXPECT_FALSE(helper.packedFormatsSupported()); } -GEN9TEST_F(HwHelperTestGen9, WhenSettingCapabilityCoherencyFlagThenFlagIsSet) { - auto &helper = HwHelper::get(renderCoreFamily); - - bool coherency = false; - helper.setCapabilityCoherencyFlag(&hardwareInfo, coherency); - EXPECT_TRUE(coherency); -} - GEN9TEST_F(HwHelperTestGen9, WhenGettingPitchAlignmentForImageThenCorrectValueIsReturned) { auto &helper = HwHelper::get(renderCoreFamily); EXPECT_EQ(4u, helper.getPitchAlignmentForImage(&hardwareInfo)); diff --git a/opencl/test/unit_test/helpers/hw_helper_tests_xehp_and_later.cpp b/opencl/test/unit_test/helpers/hw_helper_tests_xehp_and_later.cpp index 4677c1e8a1..e2ac9cfe4b 100644 --- a/opencl/test/unit_test/helpers/hw_helper_tests_xehp_and_later.cpp +++ b/opencl/test/unit_test/helpers/hw_helper_tests_xehp_and_later.cpp @@ -28,14 +28,6 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, HwHelperTestXeHPAndLater, WhenGettingMaxBarriersPer EXPECT_EQ(32u, helper.getMaxBarrierRegisterPerSlice()); } -HWCMDTEST_F(IGFX_XE_HP_CORE, HwHelperTestXeHPAndLater, whenCapabilityCoherencyFlagSetTrueThenOverrideToFalse) { - auto &helper = HwHelper::get(renderCoreFamily); - - bool coherency = true; - helper.setCapabilityCoherencyFlag(&hardwareInfo, coherency); - EXPECT_FALSE(coherency); -} - HWCMDTEST_F(IGFX_XE_HP_CORE, HwHelperTestXeHPAndLater, givenHwHelperWhenGetGpuTimeStampInNSIsCalledThenOnlyLow32BitsFromTimeStampAreUsedAndCorrectValueIsReturned) { auto &helper = HwHelper::get(renderCoreFamily); @@ -451,4 +443,12 @@ using HwInfoConfigTestXeHpAndLater = ::testing::Test; HWCMDTEST_F(IGFX_XE_HP_CORE, HwInfoConfigTestXeHpAndLater, givenXeHPAndLaterPlatformWhenCheckNewResidencyModelSupportedThenReturnTrue) { auto hwInfoConfig = HwInfoConfig::get(productFamily); EXPECT_TRUE(hwInfoConfig->isNewResidencyModelSupported()); -} \ No newline at end of file +} + +HWCMDTEST_F(IGFX_XE_HP_CORE, HwInfoConfigTestXeHpAndLater, whenCapabilityCoherencyFlagSetTrueThenOverrideToFalse) { + auto &hwInfoConfig = *HwInfoConfig::get(productFamily); + + bool coherency = true; + hwInfoConfig.setCapabilityCoherencyFlag(*defaultHwInfo, coherency); + EXPECT_FALSE(coherency); +} diff --git a/opencl/test/unit_test/os_interface/hw_info_config_tests.cpp b/opencl/test/unit_test/os_interface/hw_info_config_tests.cpp index a58a137f55..f7c7c8b71e 100644 --- a/opencl/test/unit_test/os_interface/hw_info_config_tests.cpp +++ b/opencl/test/unit_test/os_interface/hw_info_config_tests.cpp @@ -283,3 +283,11 @@ HWTEST_F(HwInfoConfigTest, givenHwInfoConfigWhenAskedIfHeapInLocalMemThenFalseIs const auto &hwInfoConfig = *HwInfoConfig::get(pInHwInfo.platform.eProductFamily); EXPECT_FALSE(hwInfoConfig.heapInLocalMem(pInHwInfo)); } + +HWTEST2_F(HwInfoConfigTest, givenHwInfoConfigWhenSettingCapabilityCoherencyFlagThenFlagIsSet, IsAtMostGen11) { + auto &hwInfoConfig = *HwInfoConfig::get(pInHwInfo.platform.eProductFamily); + + bool coherency = false; + hwInfoConfig.setCapabilityCoherencyFlag(pInHwInfo, coherency); + EXPECT_TRUE(coherency); +} diff --git a/opencl/test/unit_test/os_interface/windows/hw_info_config_win_tests.cpp b/opencl/test/unit_test/os_interface/windows/hw_info_config_win_tests.cpp index 4d26778676..4575e7651c 100644 --- a/opencl/test/unit_test/os_interface/windows/hw_info_config_win_tests.cpp +++ b/opencl/test/unit_test/os_interface/windows/hw_info_config_win_tests.cpp @@ -76,11 +76,10 @@ TEST_F(HwInfoConfigTestWindows, givenInstrumentationForHardwareIsEnabledOrDisabl HWTEST_F(HwInfoConfigTestWindows, givenFtrIaCoherencyFlagWhenConfiguringHwInfoThenSetCoherencySupportCorrectly) { HardwareInfo initialHwInfo = *defaultHwInfo; - auto &hwHelper = HwHelper::get(initialHwInfo.platform.eRenderCoreFamily); auto hwInfoConfig = HwInfoConfig::get(initialHwInfo.platform.eProductFamily); bool initialCoherencyStatus = false; - hwHelper.setCapabilityCoherencyFlag(&outHwInfo, initialCoherencyStatus); + hwInfoConfig->setCapabilityCoherencyFlag(outHwInfo, initialCoherencyStatus); initialHwInfo.featureTable.ftrL3IACoherency = false; hwInfoConfig->configureHwInfoWddm(&initialHwInfo, &outHwInfo, osInterface.get()); diff --git a/shared/source/gen12lp/helpers_gen12lp.h b/shared/source/gen12lp/helpers_gen12lp.h index d69537cc68..1901e2b428 100644 --- a/shared/source/gen12lp/helpers_gen12lp.h +++ b/shared/source/gen12lp/helpers_gen12lp.h @@ -25,7 +25,6 @@ enum class LocalMemoryAccessMode; namespace Gen12LPHelpers { bool pipeControlWaRequired(PRODUCT_FAMILY productFamily); bool imagePitchAlignmentWaRequired(PRODUCT_FAMILY productFamily); -void adjustCoherencyFlag(PRODUCT_FAMILY productFamily, bool &coherencyFlag); bool isLocalMemoryEnabled(const HardwareInfo &hwInfo); void initAdditionalGlobalMMIO(const CommandStreamReceiver &commandStreamReceiver, AubMemDump::AubStream &stream); uint64_t getPPGTTAdditionalBits(GraphicsAllocation *graphicsAllocation); diff --git a/shared/source/gen12lp/helpers_gen12lp_dg1.cpp b/shared/source/gen12lp/helpers_gen12lp_dg1.cpp index ea18db2143..7d28343744 100644 --- a/shared/source/gen12lp/helpers_gen12lp_dg1.cpp +++ b/shared/source/gen12lp/helpers_gen12lp_dg1.cpp @@ -21,12 +21,6 @@ bool imagePitchAlignmentWaRequired(PRODUCT_FAMILY productFamily) { return (productFamily == IGFX_TIGERLAKE_LP) || (productFamily == IGFX_DG1); } -void adjustCoherencyFlag(PRODUCT_FAMILY productFamily, bool &coherencyFlag) { - if (productFamily == IGFX_DG1) { - coherencyFlag = false; - } -} - bool isLocalMemoryEnabled(const HardwareInfo &hwInfo) { return hwInfo.featureTable.ftrLocalMemory; } diff --git a/shared/source/gen12lp/hw_helper_gen12lp.cpp b/shared/source/gen12lp/hw_helper_gen12lp.cpp index 84841f7311..06b14edd28 100644 --- a/shared/source/gen12lp/hw_helper_gen12lp.cpp +++ b/shared/source/gen12lp/hw_helper_gen12lp.cpp @@ -85,18 +85,6 @@ bool HwHelperHw::checkResourceCompatibility(GraphicsAllocation &graphics return true; } -template <> -void HwHelperHw::setCapabilityCoherencyFlag(const HardwareInfo *pHwInfo, bool &coherencyFlag) { - coherencyFlag = true; - HwHelper &hwHelper = HwHelper::get(pHwInfo->platform.eRenderCoreFamily); - if (pHwInfo->platform.eProductFamily == IGFX_TIGERLAKE_LP && hwHelper.isWorkaroundRequired(REVISION_A0, REVISION_B, *pHwInfo)) { - //stepping A devices - turn off coherency - coherencyFlag = false; - } - - Gen12LPHelpers::adjustCoherencyFlag(pHwInfo->platform.eProductFamily, coherencyFlag); -} - template <> uint32_t HwHelperHw::getPitchAlignmentForImage(const HardwareInfo *hwInfo) const { if (Gen12LPHelpers::imagePitchAlignmentWaRequired(hwInfo->platform.eProductFamily)) { diff --git a/shared/source/gen12lp/windows/hw_info_config_dg1.cpp b/shared/source/gen12lp/windows/hw_info_config_dg1.cpp index 673e6ae989..5e66e1434b 100644 --- a/shared/source/gen12lp/windows/hw_info_config_dg1.cpp +++ b/shared/source/gen12lp/windows/hw_info_config_dg1.cpp @@ -17,5 +17,10 @@ constexpr static auto gfxProduct = IGFX_DG1; #include "shared/source/gen12lp/os_agnostic_hw_info_config_dg1.inl" #include "shared/source/gen12lp/os_agnostic_hw_info_config_gen12lp.inl" +template <> +void HwInfoConfigHw::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) { + coherencyFlag = false; +} + template class HwInfoConfigHw; } // namespace NEO diff --git a/shared/source/gen12lp/windows/hw_info_config_tgllp.cpp b/shared/source/gen12lp/windows/hw_info_config_tgllp.cpp index 58ad0bcd91..be82148e41 100644 --- a/shared/source/gen12lp/windows/hw_info_config_tgllp.cpp +++ b/shared/source/gen12lp/windows/hw_info_config_tgllp.cpp @@ -17,6 +17,15 @@ constexpr static auto gfxProduct = IGFX_TIGERLAKE_LP; #include "shared/source/gen12lp/os_agnostic_hw_info_config_gen12lp.inl" #include "shared/source/gen12lp/os_agnostic_hw_info_config_tgllp.inl" -template class HwInfoConfigHw; +template <> +void HwInfoConfigHw::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) { + coherencyFlag = true; + HwHelper &hwHelper = HwHelper::get(hwInfo.platform.eRenderCoreFamily); + if (hwHelper.isWorkaroundRequired(REVISION_A0, REVISION_B, hwInfo)) { + //stepping A devices - turn off coherency + coherencyFlag = false; + } +} +template class HwInfoConfigHw; } // namespace NEO diff --git a/shared/source/helpers/hw_helper.h b/shared/source/helpers/hw_helper.h index a71255916b..314655df43 100644 --- a/shared/source/helpers/hw_helper.h +++ b/shared/source/helpers/hw_helper.h @@ -48,7 +48,6 @@ class HwHelper { virtual uint32_t getComputeUnitsUsedForScratch(const HardwareInfo *pHwInfo) const = 0; virtual uint32_t getPitchAlignmentForImage(const HardwareInfo *hwInfo) const = 0; virtual uint32_t getMaxNumSamplers() const = 0; - virtual void setCapabilityCoherencyFlag(const HardwareInfo *pHwInfo, bool &coherencyFlag) = 0; virtual void adjustDefaultEngineType(HardwareInfo *pHwInfo) = 0; virtual void setupHardwareCapabilities(HardwareCapabilities *caps, const HardwareInfo &hwInfo) = 0; virtual bool isL3Configurable(const HardwareInfo &hwInfo) = 0; @@ -206,8 +205,6 @@ class HwHelperHw : public HwHelper { uint32_t getMaxNumSamplers() const override; - void setCapabilityCoherencyFlag(const HardwareInfo *pHwInfo, bool &coherencyFlag) override; - void adjustDefaultEngineType(HardwareInfo *pHwInfo) override; void setupHardwareCapabilities(HardwareCapabilities *caps, const HardwareInfo &hwInfo) override; diff --git a/shared/source/helpers/hw_helper_bdw_and_later.inl b/shared/source/helpers/hw_helper_bdw_and_later.inl index 61d5f25ef9..61e004fc90 100644 --- a/shared/source/helpers/hw_helper_bdw_and_later.inl +++ b/shared/source/helpers/hw_helper_bdw_and_later.inl @@ -25,11 +25,6 @@ inline uint32_t HwHelperHw::getGlobalTimeStampBits() const { return 36; } -template -void HwHelperHw::setCapabilityCoherencyFlag(const HardwareInfo *pHwInfo, bool &coherencyFlag) { - coherencyFlag = true; -} - template bool HwHelperHw::isLocalMemoryEnabled(const HardwareInfo &hwInfo) const { return false; diff --git a/shared/source/helpers/hw_helper_xehp_and_later.inl b/shared/source/helpers/hw_helper_xehp_and_later.inl index 79165fd190..fe750d737b 100644 --- a/shared/source/helpers/hw_helper_xehp_and_later.inl +++ b/shared/source/helpers/hw_helper_xehp_and_later.inl @@ -39,11 +39,6 @@ inline uint32_t HwHelperHw::getGlobalTimeStampBits() const { return 32; } -template -void HwHelperHw::setCapabilityCoherencyFlag(const HardwareInfo *pHwInfo, bool &coherencyFlag) { - coherencyFlag = false; -} - template bool HwHelperHw::isLocalMemoryEnabled(const HardwareInfo &hwInfo) const { return hwInfo.featureTable.ftrLocalMemory; diff --git a/shared/source/os_interface/hw_info_config.h b/shared/source/os_interface/hw_info_config.h index 77cd9f69e7..257deb951f 100644 --- a/shared/source/os_interface/hw_info_config.h +++ b/shared/source/os_interface/hw_info_config.h @@ -64,6 +64,7 @@ class HwInfoConfig { virtual bool isNewResidencyModelSupported() const = 0; virtual bool isPipeControlPriorToNonPipelinedStateCommandsWARequired(const HardwareInfo &hwInfo) const = 0; virtual bool heapInLocalMem(const HardwareInfo &hwInfo) const = 0; + virtual void setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) = 0; protected: virtual LocalMemoryAccessMode getDefaultLocalMemoryAccessMode(const HardwareInfo &hwInfo) const = 0; @@ -113,6 +114,7 @@ class HwInfoConfigHw : public HwInfoConfig { bool isNewResidencyModelSupported() const override; bool isPipeControlPriorToNonPipelinedStateCommandsWARequired(const HardwareInfo &hwInfo) const override; bool heapInLocalMem(const HardwareInfo &hwInfo) const override; + void setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) override; protected: HwInfoConfigHw() = default; diff --git a/shared/source/os_interface/hw_info_config_bdw_and_later.inl b/shared/source/os_interface/hw_info_config_bdw_and_later.inl index 230bd1850f..0693d6b3f3 100644 --- a/shared/source/os_interface/hw_info_config_bdw_and_later.inl +++ b/shared/source/os_interface/hw_info_config_bdw_and_later.inl @@ -45,4 +45,9 @@ bool HwInfoConfigHw::heapInLocalMem(const HardwareInfo &hwInfo) cons return false; } +template +void HwInfoConfigHw::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) { + coherencyFlag = true; +} + } // namespace NEO diff --git a/shared/source/os_interface/hw_info_config_xehp_and_later.inl b/shared/source/os_interface/hw_info_config_xehp_and_later.inl index 8303c7f750..3719273683 100644 --- a/shared/source/os_interface/hw_info_config_xehp_and_later.inl +++ b/shared/source/os_interface/hw_info_config_xehp_and_later.inl @@ -42,4 +42,9 @@ bool HwInfoConfigHw::isNewResidencyModelSupported() const { return true; } +template +void HwInfoConfigHw::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) { + coherencyFlag = false; +} + } // namespace NEO diff --git a/shared/source/os_interface/windows/hw_info_config_wddm.cpp b/shared/source/os_interface/windows/hw_info_config_wddm.cpp index 978ca8496c..01207a5e0d 100644 --- a/shared/source/os_interface/windows/hw_info_config_wddm.cpp +++ b/shared/source/os_interface/windows/hw_info_config_wddm.cpp @@ -17,14 +17,15 @@ namespace NEO { int HwInfoConfig::configureHwInfoWddm(const HardwareInfo *inHwInfo, HardwareInfo *outHwInfo, OSInterface *osIface) { - HwHelper &hwHelper = HwHelper::get(outHwInfo->platform.eRenderCoreFamily); + auto &hwHelper = HwHelper::get(outHwInfo->platform.eRenderCoreFamily); + auto &hwInfoConfig = *HwInfoConfig::get(outHwInfo->platform.eProductFamily); outHwInfo->capabilityTable.ftrSvm = outHwInfo->featureTable.ftrSVM; hwHelper.adjustDefaultEngineType(outHwInfo); outHwInfo->capabilityTable.defaultEngineType = getChosenEngineType(*outHwInfo); - hwHelper.setCapabilityCoherencyFlag(outHwInfo, outHwInfo->capabilityTable.ftrSupportsCoherency); + hwInfoConfig.setCapabilityCoherencyFlag(*outHwInfo, outHwInfo->capabilityTable.ftrSupportsCoherency); outHwInfo->capabilityTable.ftrSupportsCoherency &= inHwInfo->featureTable.ftrL3IACoherency; PreemptionHelper::adjustDefaultPreemptionMode(outHwInfo->capabilityTable, diff --git a/shared/test/common/mocks/mock_hw_info_config.cpp b/shared/test/common/mocks/mock_hw_info_config.cpp index 72c1f90d70..e06724a492 100644 --- a/shared/test/common/mocks/mock_hw_info_config.cpp +++ b/shared/test/common/mocks/mock_hw_info_config.cpp @@ -188,4 +188,8 @@ bool HwInfoConfigHw::heapInLocalMem(const HardwareInfo &hwInfo) co return false; } +template <> +void HwInfoConfigHw::setCapabilityCoherencyFlag(const HardwareInfo &hwInfo, bool &coherencyFlag) { +} + } //namespace NEO