From 7b13028ac42b9078e41d79c1b3a3693a58b41edc Mon Sep 17 00:00:00 2001 From: "Chodor, Jaroslaw" Date: Fri, 12 Dec 2025 13:38:17 +0000 Subject: [PATCH] feature: Allow debug keys in release ocloc on windows Requires NEOReadDebugKeys=1 Related-To: NEO-16997 Signed-off-by: Chodor, Jaroslaw --- .../offline_compiler_tests.cpp | 6 +++++- shared/offline_compiler/source/CMakeLists.txt | 5 +++-- .../source/debug_variables_helper_ocloc.cpp | 18 ++++++++++++++++++ .../debug_settings/debug_settings_manager.cpp | 10 ++++++++++ .../debug_settings/debug_settings_manager.h | 4 +++- .../test/common/base_ult_config_listener.cpp | 2 ++ .../helpers/debug_manager_state_restore.h | 2 ++ .../debug_settings_manager_tests.cpp | 12 ++++++++++++ .../debug_settings_manager_linux_tests.cpp | 2 ++ .../execution_environment_tests.cpp | 5 ++++- .../utilities/debug_file_reader_tests.cpp | 2 ++ 11 files changed, 63 insertions(+), 5 deletions(-) create mode 100644 shared/offline_compiler/source/debug_variables_helper_ocloc.cpp diff --git a/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp b/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp index f6ff53782a..2acd3c3a11 100644 --- a/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp +++ b/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp @@ -5621,8 +5621,12 @@ TEST(OclocApiSpecificConfigTests, givenOclocApiConfigThenOnlyOclocPrefixIsAllowe EXPECT_EQ(DebugVarPrefix::neoOcloc, prefixStringTypes[0]); } -TEST(OclocApiSpecificConfigTests, givenOclocThenDebugKeysAreAllowedOnlyInDebug) { +TEST(OclocApiSpecificConfigTests, givenOclocThenDebugKeysAreAllowedInReleaseModeIfNeoReadDebugKeysIsSet) { EXPECT_FALSE(NEO::isDebugKeysReadEnabled()); + + std::unordered_map mockableEnvs = {{"NEOReadDebugKeys", "1"}}; + VariableBackup *> mockableEnvValuesBackup(&IoFunctions::mockableEnvValues, &mockableEnvs); + EXPECT_TRUE(NEO::isDebugKeysReadEnabled()); } TEST_F(OfflineCompilerTests, GivenFclRedirectionEnvSetToForceIgcWhenInitializingOclocThenIgcIsBeingUsedAsFclFacade) { diff --git a/shared/offline_compiler/source/CMakeLists.txt b/shared/offline_compiler/source/CMakeLists.txt index 7004fb82e5..2f20b47982 100644 --- a/shared/offline_compiler/source/CMakeLists.txt +++ b/shared/offline_compiler/source/CMakeLists.txt @@ -87,6 +87,7 @@ set(CLOC_LIB_SRCS_LIB ${NEO_SHARED_DIRECTORY}/utilities/logger.cpp ${NEO_SHARED_DIRECTORY}/utilities/logger.h ${OCLOC_DIRECTORY}/source/default_cache_config.cpp + ${OCLOC_DIRECTORY}/source/debug_variables_helper_ocloc.cpp ${OCLOC_DIRECTORY}/source/decoder/binary_decoder.cpp ${OCLOC_DIRECTORY}/source/decoder/binary_decoder.h ${OCLOC_DIRECTORY}/source/decoder/binary_encoder.cpp @@ -153,7 +154,6 @@ if(WIN32) ${NEO_SHARED_DIRECTORY}/ail/windows/ail_configuration_windows.cpp ${NEO_SHARED_DIRECTORY}/compiler_interface/windows/compiler_cache_windows.cpp ${NEO_SHARED_DIRECTORY}/compiler_interface/windows/os_compiler_cache_helper.cpp - ${NEO_SHARED_DIRECTORY}/debug_settings/windows/debug_variables_helper.cpp ${NEO_SHARED_DIRECTORY}/dll/windows${BRANCH_DIR_SUFFIX}/options_windows.cpp ${NEO_SHARED_DIRECTORY}/dll/windows/options_windows.inl ${NEO_SHARED_DIRECTORY}/os_interface/windows/os_inc.h @@ -172,7 +172,6 @@ else() ${NEO_SHARED_DIRECTORY}/ail/linux/ail_configuration_linux.cpp ${NEO_SHARED_DIRECTORY}/compiler_interface/linux/compiler_cache_linux.cpp ${NEO_SHARED_DIRECTORY}/compiler_interface/linux/os_compiler_cache_helper.cpp - ${NEO_SHARED_DIRECTORY}/debug_settings/linux/debug_variables_helper.cpp ${NEO_SHARED_DIRECTORY}/dll/linux${BRANCH_DIR_SUFFIX}/options_linux.cpp ${NEO_SHARED_DIRECTORY}/dll/linux/options_linux.inl ${NEO_SHARED_DIRECTORY}/os_interface/linux/os_inc.h @@ -355,6 +354,8 @@ add_library(${OCLOC_NAME}_lib SHARED ${CLOC_LIB_SRCS} ${NEO_SOURCE_DIR}/shared/source/utilities/debug_settings_reader_creator.cpp ${NEO_SHARED_DIRECTORY}/utilities/io_functions.cpp ) +remove_definitions(-DPURGE_DEBUG_KEY_NAMES=0 -DPURGE_DEBUG_KEY_NAMES=1) +add_definitions(-DPURGE_DEBUG_KEY_NAMES=0 -DOCLOC_ALLOW_REGKEYS=1) add_subdirectories() create_project_source_tree(${OCLOC_NAME}_lib) diff --git a/shared/offline_compiler/source/debug_variables_helper_ocloc.cpp b/shared/offline_compiler/source/debug_variables_helper_ocloc.cpp new file mode 100644 index 0000000000..51f9f42a6f --- /dev/null +++ b/shared/offline_compiler/source/debug_variables_helper_ocloc.cpp @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2025 Intel Corporation + * + * SPDX-License-Identifier: MIT + * + */ + +#include "shared/source/debug_settings/debug_variables_helper.h" +#include "shared/source/os_interface/debug_env_reader.h" + +namespace NEO { + +bool isDebugKeysReadEnabled() { + EnvironmentVariableReader envReader; + return envReader.getSetting("NEOReadDebugKeys", false); +} + +} // namespace NEO diff --git a/shared/source/debug_settings/debug_settings_manager.cpp b/shared/source/debug_settings/debug_settings_manager.cpp index 2fd2ff768f..c7b5aa29a4 100644 --- a/shared/source/debug_settings/debug_settings_manager.cpp +++ b/shared/source/debug_settings/debug_settings_manager.cpp @@ -109,9 +109,14 @@ void DebugSettingsManager::getStringWithFlags(std::string &allFlags, allFlagsStream << neoKey.c_str() << " = " << flags.variableName.get() << '\n'; \ dumpNonDefaultFlag(neoKey.c_str(), flags.variableName.get(), defaultValue, changedFlagsStream); \ } +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) \ + if constexpr (enabled) { \ + DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) \ + } if (registryReadAvailable() || isDebugKeysReadEnabled()) { #include "debug_variables.inl" } +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_VARIABLE #define DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) \ { \ @@ -163,10 +168,15 @@ void DebugSettingsManager::injectSettingsFromReader() { flags.variableName.set(tempData); \ } \ } +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) \ + if constexpr (enabled) { \ + DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) \ + } if (registryReadAvailable() || isDebugKeysReadEnabled()) { #include "debug_variables.inl" } +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_VARIABLE #define DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) \ { \ diff --git a/shared/source/debug_settings/debug_settings_manager.h b/shared/source/debug_settings/debug_settings_manager.h index 25cd2b5e5f..77e62938be 100644 --- a/shared/source/debug_settings/debug_settings_manager.h +++ b/shared/source/debug_settings/debug_settings_manager.h @@ -34,7 +34,7 @@ enum class DebugFunctionalityLevel { #if defined(_DEBUG) constexpr DebugFunctionalityLevel globalDebugFunctionalityLevel = DebugFunctionalityLevel::full; -#elif defined(_RELEASE_INTERNAL) || defined(_RELEASE_BUILD_WITH_REGKEYS) +#elif defined(_RELEASE_INTERNAL) || defined(_RELEASE_BUILD_WITH_REGKEYS) || defined(OCLOC_ALLOW_REGKEYS) constexpr DebugFunctionalityLevel globalDebugFunctionalityLevel = DebugFunctionalityLevel::regKeys; #else constexpr DebugFunctionalityLevel globalDebugFunctionalityLevel = DebugFunctionalityLevel::none; @@ -150,6 +150,7 @@ struct DebugVariables { // NOLINT(clang-analyzer #define S_OCLOC getDebugVarScopeMaskFor(DebugVarPrefix::neoOcloc) #define DECLARE_DEBUG_SCOPED_V(dataType, variableName, defaultValue, scope, description) \ DebugVarBase variableName{defaultValue, scope}; +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #include "debug_variables.inl" #define DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #define DECLARE_RELEASE_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) @@ -162,6 +163,7 @@ struct DebugVariables { // NOLINT(clang-analyzer #undef S_OCL #undef S_NEO #undef S_NONE +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_SCOPED_V #undef DECLARE_DEBUG_VARIABLE }; diff --git a/shared/test/common/base_ult_config_listener.cpp b/shared/test/common/base_ult_config_listener.cpp index cff7049ab5..9f278eea50 100644 --- a/shared/test/common/base_ult_config_listener.cpp +++ b/shared/test/common/base_ult_config_listener.cpp @@ -51,12 +51,14 @@ void BaseUltConfigListener::OnTestEnd(const ::testing::TestInfo &) { EXPECT_EQ(debugVarSnapshot.variableName.getRef(), debugManager.flags.variableName.getRef()); #define DECLARE_DEBUG_SCOPED_V(dataType, variableName, defaultValue, description, ...) \ DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #include "debug_variables.inl" #define DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #define DECLARE_RELEASE_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) #include "release_variables.inl" #undef DECLARE_RELEASE_VARIABLE_OPT #undef DECLARE_RELEASE_VARIABLE +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_SCOPED_V #undef DECLARE_DEBUG_VARIABLE diff --git a/shared/test/common/helpers/debug_manager_state_restore.h b/shared/test/common/helpers/debug_manager_state_restore.h index 495d7fd3c8..40e7593424 100644 --- a/shared/test/common/helpers/debug_manager_state_restore.h +++ b/shared/test/common/helpers/debug_manager_state_restore.h @@ -23,12 +23,14 @@ class DebugManagerStateRestore { #define DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) shrink(debugManager.flags.variableName.getRef()); #define DECLARE_DEBUG_SCOPED_V(dataType, variableName, defaultValue, description, ...) \ DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #include "debug_variables.inl" #define DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #define DECLARE_RELEASE_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) #include "release_variables.inl" #undef DECLARE_RELEASE_VARIABLE_OPT #undef DECLARE_RELEASE_VARIABLE +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_SCOPED_V #undef DECLARE_DEBUG_VARIABLE } diff --git a/shared/test/unit_test/debug_settings/debug_settings_manager_tests.cpp b/shared/test/unit_test/debug_settings/debug_settings_manager_tests.cpp index 60f00be4bc..a399c8f4ec 100644 --- a/shared/test/unit_test/debug_settings/debug_settings_manager_tests.cpp +++ b/shared/test/unit_test/debug_settings/debug_settings_manager_tests.cpp @@ -61,12 +61,14 @@ TEST(DebugSettingsManager, WhenDebugManagerIsDisabledThenDebugFunctionalityIsNot } #define DECLARE_DEBUG_SCOPED_V(dataType, variableName, defaultValue, description, ...) \ DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #include "debug_variables.inl" #define DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #define DECLARE_RELEASE_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) #include "release_variables.inl" #undef DECLARE_RELEASE_VARIABLE_OPT #undef DECLARE_RELEASE_VARIABLE +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_SCOPED_V #undef DECLARE_DEBUG_VARIABLE } @@ -160,7 +162,9 @@ TEST(DebugSettingsManager, givenPrintDebugSettingsEnabledWithNoPrefixWhenCalling } #define DECLARE_DEBUG_SCOPED_V(dataType, variableName, defaultValue, description, ...) \ DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #include "debug_variables.inl" +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_SCOPED_V #undef DECLARE_DEBUG_VARIABLE @@ -202,7 +206,9 @@ TEST(DebugSettingsManager, DISABLED_givenPrintDebugSettingsEnabledWithNeoPrefixW } #define DECLARE_DEBUG_SCOPED_V(dataType, variableName, defaultValue, description, ...) \ DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #include "debug_variables.inl" +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_SCOPED_V #undef DECLARE_DEBUG_VARIABLE @@ -244,7 +250,9 @@ TEST(DebugSettingsManager, givenPrintDebugSettingsEnabledWithLevelZeroPrefixWhen } #define DECLARE_DEBUG_SCOPED_V(dataType, variableName, defaultValue, description, ...) \ DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #include "debug_variables.inl" +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_SCOPED_V #undef DECLARE_DEBUG_VARIABLE @@ -286,7 +294,9 @@ TEST(DebugSettingsManager, givenPrintDebugSettingsEnabledWithOclPrefixWhenCallin } #define DECLARE_DEBUG_SCOPED_V(dataType, variableName, defaultValue, description, ...) \ DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #include "debug_variables.inl" +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_SCOPED_V #undef DECLARE_DEBUG_VARIABLE @@ -328,7 +338,9 @@ TEST(DebugSettingsManager, givenPrintDebugSettingsEnabledWithMixedPrefixWhenCall } #define DECLARE_DEBUG_SCOPED_V(dataType, variableName, defaultValue, description, ...) \ DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #include "debug_variables.inl" +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_SCOPED_V #undef DECLARE_DEBUG_VARIABLE diff --git a/shared/test/unit_test/debug_settings/linux/debug_settings_manager_linux_tests.cpp b/shared/test/unit_test/debug_settings/linux/debug_settings_manager_linux_tests.cpp index f415ca3183..54a8947171 100644 --- a/shared/test/unit_test/debug_settings/linux/debug_settings_manager_linux_tests.cpp +++ b/shared/test/unit_test/debug_settings/linux/debug_settings_manager_linux_tests.cpp @@ -64,7 +64,9 @@ TEST(DebugSettingsManager, givenPrintDebugSettingsAndDebugKeysReadEnabledOnDisab EXPECT_EQ(debugManager.flags.varName.get(), allSettingsReader.getSetting(#varName, defaultValue)); #define DECLARE_DEBUG_SCOPED_V(dataType, varName, defaultValue, description, ...) \ DECLARE_DEBUG_VARIABLE(dataType, varName, defaultValue, description) +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #include "debug_variables.inl" +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_SCOPED_V #undef DECLARE_DEBUG_VARIABLE std::remove(FullyDisabledTestDebugManager::settingsDumpFileName); diff --git a/shared/test/unit_test/execution_environment/execution_environment_tests.cpp b/shared/test/unit_test/execution_environment/execution_environment_tests.cpp index c3dd0f54b9..65812b6c6f 100644 --- a/shared/test/unit_test/execution_environment/execution_environment_tests.cpp +++ b/shared/test/unit_test/execution_environment/execution_environment_tests.cpp @@ -365,12 +365,14 @@ TEST(ExecutionEnvironment, givenNeoCalEnabledWhenCreateExecutionEnvironmentThenS EXPECT_EQ(defaultValue, debugManager.flags.variableName.getRef()); #define DECLARE_DEBUG_SCOPED_V(dataType, variableName, defaultValue, description, ...) \ DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #include "debug_variables.inl" #define DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #define DECLARE_RELEASE_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) #include "release_variables.inl" #undef DECLARE_RELEASE_VARIABLE_OPT #undef DECLARE_RELEASE_VARIABLE +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_SCOPED_V #undef DECLARE_DEBUG_VARIABLE @@ -402,13 +404,14 @@ TEST(ExecutionEnvironment, givenNeoCalEnabledWhenCreateExecutionEnvironmentThenS } #define DECLARE_DEBUG_SCOPED_V(dataType, variableName, defaultValue, description, ...) \ DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) - +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #include "debug_variables.inl" #define DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #define DECLARE_RELEASE_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) #include "release_variables.inl" #undef DECLARE_RELEASE_VARIABLE_OPT #undef DECLARE_RELEASE_VARIABLE +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_SCOPED_V #undef DECLARE_DEBUG_VARIABLE } diff --git a/shared/test/unit_test/utilities/debug_file_reader_tests.cpp b/shared/test/unit_test/utilities/debug_file_reader_tests.cpp index c4116a067b..4cb01a48c3 100644 --- a/shared/test/unit_test/utilities/debug_file_reader_tests.cpp +++ b/shared/test/unit_test/utilities/debug_file_reader_tests.cpp @@ -28,12 +28,14 @@ TEST(SettingsFileReader, givenTestFileWithDefaultValuesWhenTheyAreQueriedThenDef debugVariableCount++; #define DECLARE_DEBUG_SCOPED_V(dataType, variableName, defaultValue, description, ...) \ DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) +#define DECLARE_DEBUG_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #include "debug_variables.inl" #define DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) DECLARE_DEBUG_VARIABLE(dataType, variableName, defaultValue, description) #define DECLARE_RELEASE_VARIABLE_OPT(enabled, dataType, variableName, defaultValue, description) DECLARE_RELEASE_VARIABLE(dataType, variableName, defaultValue, description) #include "release_variables.inl" #undef DECLARE_RELEASE_VARIABLE_OPT #undef DECLARE_RELEASE_VARIABLE +#undef DECLARE_DEBUG_VARIABLE_OPT #undef DECLARE_DEBUG_SCOPED_V #undef DECLARE_DEBUG_VARIABLE