diff --git a/shared/source/gen12lp/os_agnostic_product_helper_gen12lp.inl b/shared/source/gen12lp/os_agnostic_product_helper_gen12lp.inl index 7fe804265a..326f20ed7b 100644 --- a/shared/source/gen12lp/os_agnostic_product_helper_gen12lp.inl +++ b/shared/source/gen12lp/os_agnostic_product_helper_gen12lp.inl @@ -26,4 +26,9 @@ template <> const std::vector ProductHelperHw::getSupportedLocalDispatchSizes(const HardwareInfo &hwInfo) const { return {}; } + +template <> +uint32_t ProductHelperHw::getMaxLocalRegionSize(const HardwareInfo &hwInfo) const { + return 0; +} } // namespace NEO diff --git a/shared/source/os_interface/product_helper.h b/shared/source/os_interface/product_helper.h index 448a5e4c22..7b8be3df44 100644 --- a/shared/source/os_interface/product_helper.h +++ b/shared/source/os_interface/product_helper.h @@ -236,6 +236,7 @@ class ProductHelper { virtual bool isNewCoherencyModelSupported() const = 0; virtual bool deferMOCSToPatIndex() const = 0; virtual const std::vector getSupportedLocalDispatchSizes(const HardwareInfo &hwInfo) const = 0; + virtual uint32_t getMaxLocalRegionSize(const HardwareInfo &hwInfo) const = 0; virtual bool localDispatchSizeQuerySupported() const = 0; virtual bool supportReadOnlyAllocations() const = 0; virtual bool isDeviceToHostCopySignalingFenceRequired() const = 0; diff --git a/shared/source/os_interface/product_helper_hw.h b/shared/source/os_interface/product_helper_hw.h index 197d4ff2d7..23bfae715a 100644 --- a/shared/source/os_interface/product_helper_hw.h +++ b/shared/source/os_interface/product_helper_hw.h @@ -179,6 +179,7 @@ class ProductHelperHw : public ProductHelper { bool deferMOCSToPatIndex() const override; bool supportReadOnlyAllocations() const override; const std::vector getSupportedLocalDispatchSizes(const HardwareInfo &hwInfo) const override; + uint32_t getMaxLocalRegionSize(const HardwareInfo &hwInfo) const override; bool localDispatchSizeQuerySupported() const override; bool isDeviceToHostCopySignalingFenceRequired() const override; size_t getMaxFillPaternSizeForCopyEngine() const override; diff --git a/shared/source/os_interface/product_helper_xe2_and_later.inl b/shared/source/os_interface/product_helper_xe2_and_later.inl index a1d7e39b23..3035d6164d 100644 --- a/shared/source/os_interface/product_helper_xe2_and_later.inl +++ b/shared/source/os_interface/product_helper_xe2_and_later.inl @@ -20,6 +20,11 @@ const std::vector ProductHelperHw::getSupportedLocalDispat return {}; } +template +uint32_t ProductHelperHw::getMaxLocalRegionSize(const HardwareInfo &hwInfo) const { + return 0; +} + template uint64_t ProductHelperHw::getHostMemCapabilitiesValue() const { return (UnifiedSharedMemoryFlags::access | UnifiedSharedMemoryFlags::atomicAccess); diff --git a/shared/source/os_interface/product_helper_xe_hpg_and_xe_hpc.inl b/shared/source/os_interface/product_helper_xe_hpg_and_xe_hpc.inl index 1bdfd1a52a..56b3a564d9 100644 --- a/shared/source/os_interface/product_helper_xe_hpg_and_xe_hpc.inl +++ b/shared/source/os_interface/product_helper_xe_hpg_and_xe_hpc.inl @@ -14,6 +14,11 @@ const std::vector ProductHelperHw::getSupportedLocalDispat return {}; } +template +uint32_t ProductHelperHw::getMaxLocalRegionSize(const HardwareInfo &hwInfo) const { + return 0; +} + template uint64_t ProductHelperHw::getHostMemCapabilitiesValue() const { return (UnifiedSharedMemoryFlags::access); diff --git a/shared/test/common/mocks/mock_product_helper.cpp b/shared/test/common/mocks/mock_product_helper.cpp index d6394a8743..26b2dca38f 100644 --- a/shared/test/common/mocks/mock_product_helper.cpp +++ b/shared/test/common/mocks/mock_product_helper.cpp @@ -25,6 +25,10 @@ template <> const std::vector ProductHelperHw::getSupportedLocalDispatchSizes(const HardwareInfo &hwInfo) const { return {}; } +template <> +uint32_t ProductHelperHw::getMaxLocalRegionSize(const HardwareInfo &hwInfo) const { + return 0; +} template <> uint32_t ProductHelperHw::getMaxThreadsForWorkgroupInDSSOrSS(const HardwareInfo &hwInfo, uint32_t maxNumEUsPerSubSlice, uint32_t maxNumEUsPerDualSubSlice) const {