mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
Add failBuildProgramWithStatefulAccessPreference helper
Related-To: NEO-7698 Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
d75c4d3ec7
commit
3072b8f4d2
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user