Add failBuildProgramWithStatefulAccessPreference helper

Related-To: NEO-7698
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
Kamil Kopryk
2023-02-08 13:41:50 +00:00
committed by Compute-Runtime-Automation
parent d75c4d3ec7
commit 3072b8f4d2
5 changed files with 71 additions and 5 deletions

View File

@@ -15,12 +15,13 @@
namespace NEO::AddressingModeHelper {
bool failBuildProgramWithStatefulAccess(const RootDeviceEnvironment &rootDeviceEnvironment) {
auto failBuildProgram = false;
const auto &compilerProductHelper = rootDeviceEnvironment.getHelper<CompilerProductHelper>();
auto failBuildProgram = compilerProductHelper.failBuildProgramWithStatefulAccessPreference();
if (NEO::DebugManager.flags.FailBuildProgramWithStatefulAccess.get() != -1) {
failBuildProgram = static_cast<bool>(NEO::DebugManager.flags.FailBuildProgramWithStatefulAccess.get());
}
const auto &compilerProductHelper = rootDeviceEnvironment.getHelper<CompilerProductHelper>();
auto forceToStatelessRequired = compilerProductHelper.isForceToStatelessRequired();
return failBuildProgram && forceToStatelessRequired;

View File

@@ -37,6 +37,7 @@ class CompilerProductHelper {
virtual bool isForceEmuInt32DivRemSPRequired() const = 0;
virtual bool isStatelessToStatefulBufferOffsetSupported() const = 0;
virtual bool isForceToStatelessRequired() const = 0;
virtual bool failBuildProgramWithStatefulAccessPreference() const = 0;
virtual void setProductConfigForHwInfo(HardwareInfo &hwInfo, HardwareIpVersion config) const = 0;
virtual const char *getCachingPolicyOptions(bool isDebuggerActive) const = 0;
@@ -58,6 +59,7 @@ class CompilerProductHelperHw : public CompilerProductHelper {
bool isForceEmuInt32DivRemSPRequired() const override;
bool isStatelessToStatefulBufferOffsetSupported() const override;
bool isForceToStatelessRequired() const override;
bool failBuildProgramWithStatefulAccessPreference() const override;
void setProductConfigForHwInfo(HardwareInfo &hwInfo, HardwareIpVersion config) const override;
const char *getCachingPolicyOptions(bool isDebuggerActive) const override;

View File

@@ -27,4 +27,9 @@ const char *CompilerProductHelperHw<gfxProduct>::getCachingPolicyOptions(bool is
return L1CachePolicyHelper<gfxProduct>::getCachingPolicyOptions(isDebuggerActive);
}
template <PRODUCT_FAMILY gfxProduct>
bool CompilerProductHelperHw<gfxProduct>::failBuildProgramWithStatefulAccessPreference() const {
return false;
}
} // namespace NEO