feature: Add debug/release variables prefixes

Add debug/release variables with prefixes for Level Zero, OpenCL and NEO

Resolves: NEO-6357

Signed-off-by: John Falkowski <john.falkowski@intel.com>
This commit is contained in:
John Falkowski
2023-08-20 04:31:48 +00:00
committed by Compute-Runtime-Automation
parent 3d33366ff6
commit d49190f4ae
23 changed files with 1289 additions and 59 deletions

View File

@@ -59,6 +59,13 @@ void logDebugString(std::string_view debugString);
class SettingsReader;
enum class DebugVarPrefix : uint8_t {
None = 1,
Neo = 2,
Neo_L0 = 3,
Neo_Ocl = 4
};
template <typename T>
struct DebugVarBase {
DebugVarBase(const T &defaultValue) : value(defaultValue), defaultValue(defaultValue) {}
@@ -76,10 +83,17 @@ struct DebugVarBase {
this->set(data);
}
}
void setPrefixType(DebugVarPrefix data) {
prefixType = std::move(data);
}
DebugVarPrefix getPrefixType() const {
return prefixType;
}
private:
T value;
T defaultValue;
DebugVarPrefix prefixType = DebugVarPrefix::None;
};
struct DebugVariables { // NOLINT(clang-analyzer-optin.performance.Padding)
@@ -158,6 +172,8 @@ class DebugSettingsManager {
extern DebugSettingsManager<globalDebugFunctionalityLevel> DebugManager;
#define MAX_NEO_KEY_LENGTH 256
#define PRINT_DEBUGGER_LOG_TO_FILE(...) \
NEO::DebugManager.logLazyEvaluateArgs([&] { \
char temp[4000]; \