diff --git a/runtime/kernel/kernel.cpp b/runtime/kernel/kernel.cpp index 91d8fce617..a25eaacee4 100644 --- a/runtime/kernel/kernel.cpp +++ b/runtime/kernel/kernel.cpp @@ -352,6 +352,10 @@ cl_int Kernel::initialize() { } } + if (DebugManager.flags.DisableAuxTranslation.get()) { + auxTranslationRequired = false; + } + if (usingImages && !usingBuffers) { usingImagesOnly = true; } diff --git a/runtime/os_interface/debug_variables_base.inl b/runtime/os_interface/debug_variables_base.inl index ebe82b121a..f50637fdab 100644 --- a/runtime/os_interface/debug_variables_base.inl +++ b/runtime/os_interface/debug_variables_base.inl @@ -49,6 +49,7 @@ DECLARE_DEBUG_VARIABLE(bool, RebuildPrecompiledKernels, false, "forces driver to DECLARE_DEBUG_VARIABLE(bool, LoopAtPlatformInitialize, false, "Adds endless loop in platform initalize, useful for debugging.") DECLARE_DEBUG_VARIABLE(bool, DoNotRegisterTrimCallback, false, "When set to true driver is not registering trim callback.") DECLARE_DEBUG_VARIABLE(bool, OverrideInvalidEngineWithDefault, false, "When set to true driver chooses engine 0 if no engine is found.") +DECLARE_DEBUG_VARIABLE(bool, DisableAuxTranslation, false, "Disable aux translation when required by Kernel.") /*LOGGING FLAGS*/ DECLARE_DEBUG_VARIABLE(bool, PrintDebugSettings, false, "Enables dumping debug variables settings to text file") diff --git a/unit_tests/kernel/kernel_tests.cpp b/unit_tests/kernel/kernel_tests.cpp index 63b681aa12..91d9a87730 100644 --- a/unit_tests/kernel/kernel_tests.cpp +++ b/unit_tests/kernel/kernel_tests.cpp @@ -2395,6 +2395,8 @@ TEST(KernelTest, givenKernelWithKernelInfoWith64bitPointerSizeThenReport64bit) { } TEST(KernelTest, givenFtrRenderCompressedBuffersWhenInitializingArgsWithNonStatefulAccessThenMarkKernelForAuxTranslation) { + DebugManagerStateRestore restore; + DebugManager.flags.DisableAuxTranslation.set(false); std::unique_ptr device(MockDevice::createWithNewExecutionEnvironment(nullptr)); auto hwInfo = device->getExecutionEnvironment()->getMutableHardwareInfo(); auto &capabilityTable = hwInfo->capabilityTable; @@ -2416,6 +2418,10 @@ TEST(KernelTest, givenFtrRenderCompressedBuffersWhenInitializingArgsWithNonState capabilityTable.ftrRenderCompressedBuffers = true; kernel.mockKernel->initialize(); EXPECT_TRUE(kernel.mockKernel->isAuxTranslationRequired()); + + DebugManager.flags.DisableAuxTranslation.set(true); + kernel.mockKernel->initialize(); + EXPECT_FALSE(kernel.mockKernel->isAuxTranslationRequired()); } TEST(KernelTest, givenDebugVariableSetWhenKernelHasStatefulBufferAccessThenMarkKernelForAuxTranslation) { diff --git a/unit_tests/test_files/igdrcl.config b/unit_tests/test_files/igdrcl.config index 9c45f04470..ccc365efb3 100644 --- a/unit_tests/test_files/igdrcl.config +++ b/unit_tests/test_files/igdrcl.config @@ -112,3 +112,4 @@ OverrideInvalidEngineWithDefault = 0 EnableFormatQuery = 0 AllowOpenFdOperations = 0 EnableBlitterOperationsForReadWriteBuffers = 0 +DisableAuxTranslation = 0