mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-08 14:02:58 +08:00
Use static isWorkaroundRequired in isOffsetToSkipSetFFIDGPWARequired function
Related-To: NEO-6853 Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
13474069fb
commit
d35f4249cd
@@ -272,4 +272,8 @@ const GfxCoreHelper &ClDevice::getGfxCoreHelper() const {
|
||||
return device.getGfxCoreHelper();
|
||||
}
|
||||
|
||||
const ProductHelper &ClDevice::getProductHelper() const {
|
||||
return device.getProductHelper();
|
||||
}
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -38,6 +38,7 @@ struct HardwareInfo;
|
||||
struct RootDeviceEnvironment;
|
||||
struct SelectorCopyEngine;
|
||||
class GfxCoreHelper;
|
||||
class ProductHelper;
|
||||
|
||||
template <>
|
||||
struct OpenCLObjectMapper<_cl_device_id> {
|
||||
@@ -127,6 +128,7 @@ class ClDevice : public BaseObject<_cl_device_id> {
|
||||
void getQueueFamilyName(char *outputName, EngineGroupType type);
|
||||
Platform *getPlatform() const;
|
||||
const GfxCoreHelper &getGfxCoreHelper() const;
|
||||
const ProductHelper &getProductHelper() const;
|
||||
|
||||
protected:
|
||||
void initializeCaps();
|
||||
|
||||
@@ -2087,9 +2087,10 @@ uint64_t Kernel::getKernelStartAddress(const bool localIdsGenerationByRuntime, c
|
||||
kernelStartOffset += getStartOffset();
|
||||
|
||||
auto &hardwareInfo = getHardwareInfo();
|
||||
auto &gfxCoreHelper = getDevice().getGfxCoreHelper();
|
||||
const auto &gfxCoreHelper = getDevice().getGfxCoreHelper();
|
||||
const auto &productHelper = getDevice().getProductHelper();
|
||||
|
||||
if (isCssUsed && gfxCoreHelper.isOffsetToSkipSetFFIDGPWARequired(hardwareInfo)) {
|
||||
if (isCssUsed && gfxCoreHelper.isOffsetToSkipSetFFIDGPWARequired(hardwareInfo, productHelper)) {
|
||||
kernelStartOffset += kernelInfo.kernelDescriptor.entryPoints.skipSetFFIDGP;
|
||||
}
|
||||
|
||||
|
||||
@@ -39,8 +39,8 @@ size_t GfxCoreHelperHw<Family>::getMax3dImageWidthOrHeight() const {
|
||||
}
|
||||
|
||||
template <>
|
||||
bool GfxCoreHelperHw<Family>::isOffsetToSkipSetFFIDGPWARequired(const HardwareInfo &hwInfo) const {
|
||||
return isWorkaroundRequired(REVISION_A0, REVISION_B, hwInfo);
|
||||
bool GfxCoreHelperHw<Family>::isOffsetToSkipSetFFIDGPWARequired(const HardwareInfo &hwInfo, const ProductHelper &productHelper) const {
|
||||
return GfxCoreHelper::isWorkaroundRequired(REVISION_A0, REVISION_B, hwInfo, productHelper);
|
||||
}
|
||||
|
||||
template <>
|
||||
|
||||
@@ -98,7 +98,7 @@ class GfxCoreHelper {
|
||||
virtual bool isAdditionalFeatureFlagRequired(const FeatureTable *featureTable) const = 0;
|
||||
virtual uint32_t getMinimalSIMDSize() const = 0;
|
||||
virtual bool isWorkaroundRequired(uint32_t lowestSteppingWithBug, uint32_t steppingWithFix, const HardwareInfo &hwInfo) const = 0;
|
||||
virtual bool isOffsetToSkipSetFFIDGPWARequired(const HardwareInfo &hwInfo) const = 0;
|
||||
virtual bool isOffsetToSkipSetFFIDGPWARequired(const HardwareInfo &hwInfo, const ProductHelper &productHelper) const = 0;
|
||||
virtual bool isFusedEuDispatchEnabled(const HardwareInfo &hwInfo, bool disableEUFusionForKernel) const = 0;
|
||||
virtual uint64_t getGpuTimeStampInNS(uint64_t timeStamp, double frequency) const = 0;
|
||||
virtual uint32_t getBindlessSurfaceExtendedMessageDescriptorValue(uint32_t surfStateOffset) const = 0;
|
||||
@@ -279,7 +279,7 @@ class GfxCoreHelperHw : public GfxCoreHelper {
|
||||
|
||||
bool isWorkaroundRequired(uint32_t lowestSteppingWithBug, uint32_t steppingWithFix, const HardwareInfo &hwInfo) const override;
|
||||
|
||||
bool isOffsetToSkipSetFFIDGPWARequired(const HardwareInfo &hwInfo) const override;
|
||||
bool isOffsetToSkipSetFFIDGPWARequired(const HardwareInfo &hwInfo, const ProductHelper &productHelper) const override;
|
||||
|
||||
bool isFusedEuDispatchEnabled(const HardwareInfo &hwInfo, bool disableEUFusionForKernel) const override;
|
||||
|
||||
|
||||
@@ -444,7 +444,7 @@ uint8_t GfxCoreHelperHw<GfxFamily>::getBarriersCountFromHasBarriers(uint8_t hasB
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
inline bool GfxCoreHelperHw<GfxFamily>::isOffsetToSkipSetFFIDGPWARequired(const HardwareInfo &hwInfo) const {
|
||||
inline bool GfxCoreHelperHw<GfxFamily>::isOffsetToSkipSetFFIDGPWARequired(const HardwareInfo &hwInfo, const ProductHelper &productHelper) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -898,8 +898,9 @@ HWTEST_F(GfxCoreHelperTest, givenDefaultGfxCoreHelperHwWhenIsOffsetToSkipSetFFID
|
||||
if (hardwareInfo.platform.eRenderCoreFamily == IGFX_GEN12LP_CORE) {
|
||||
GTEST_SKIP();
|
||||
}
|
||||
auto &gfxCoreHelper = GfxCoreHelper::get(hardwareInfo.platform.eRenderCoreFamily);
|
||||
EXPECT_FALSE(gfxCoreHelper.isOffsetToSkipSetFFIDGPWARequired(hardwareInfo));
|
||||
const auto &gfxCoreHelper = getHelper<GfxCoreHelper>();
|
||||
const auto &productHelper = getHelper<ProductHelper>();
|
||||
EXPECT_FALSE(gfxCoreHelper.isOffsetToSkipSetFFIDGPWARequired(hardwareInfo, productHelper));
|
||||
}
|
||||
|
||||
HWTEST_F(GfxCoreHelperTest, givenDefaultGfxCoreHelperHwWhenIsForceDefaultRCSEngineWARequiredCalledThenFalseIsReturned) {
|
||||
|
||||
Reference in New Issue
Block a user