diff --git a/level_zero/core/source/builtin/builtin_functions_lib.h b/level_zero/core/source/builtin/builtin_functions_lib.h index 33b9d99d4c..abc819e551 100644 --- a/level_zero/core/source/builtin/builtin_functions_lib.h +++ b/level_zero/core/source/builtin/builtin_functions_lib.h @@ -67,7 +67,6 @@ struct BuiltinFunctionsLib { virtual Kernel *getImageFunction(ImageBuiltin func) = 0; virtual void initBuiltinKernel(Builtin builtId) = 0; virtual void initBuiltinImageKernel(ImageBuiltin func) = 0; - virtual void ensureInitCompletion() = 0; [[nodiscard]] MOCKABLE_VIRTUAL std::unique_lock obtainUniqueOwnership(); protected: diff --git a/level_zero/core/source/builtin/builtin_functions_lib_impl.cpp b/level_zero/core/source/builtin/builtin_functions_lib_impl.cpp index 9ccc370afc..69fd217e7a 100644 --- a/level_zero/core/source/builtin/builtin_functions_lib_impl.cpp +++ b/level_zero/core/source/builtin/builtin_functions_lib_impl.cpp @@ -12,6 +12,7 @@ #include "level_zero/core/source/device/device.h" #include "level_zero/core/source/kernel/kernel.h" +#include "level_zero/core/source/module/module.h" namespace NEO { const char *getAdditionalBuiltinAsString(EBuiltInOps::Type builtin) { @@ -23,9 +24,13 @@ namespace L0 { BuiltinFunctionsLibImpl::BuiltinData::~BuiltinData() { func.reset(); + module.reset(); } BuiltinFunctionsLibImpl::BuiltinData::BuiltinData() = default; -BuiltinFunctionsLibImpl::BuiltinData::BuiltinData(Module *module, std::unique_ptr &&ker) : module(module), func(std::move(ker)) {} +BuiltinFunctionsLibImpl::BuiltinData::BuiltinData(std::unique_ptr &&mod, std::unique_ptr &&ker) { + module = std::move(mod); + func = std::move(ker); +} std::unique_lock BuiltinFunctionsLib::obtainUniqueOwnership() { return std::unique_lock(this->ownershipMutex); } @@ -180,17 +185,9 @@ void BuiltinFunctionsLibImpl::initBuiltinImageKernel(ImageBuiltin func) { imageBuiltins[builtId] = loadBuiltIn(builtin, builtinName); } -BuiltinFunctionsLibImpl::BuiltinFunctionsLibImpl(Device *device, NEO::BuiltIns *builtInsLib) : device(device), builtInsLib(builtInsLib) { - if (initBuiltinsAsyncEnabled()) { - this->initAsyncComplete = false; - this->initAsync = std::async(std::launch::async, &BuiltinFunctionsLibImpl::initBuiltinKernel, this, Builtin::FillBufferImmediate); - } -} - Kernel *BuiltinFunctionsLibImpl::getFunction(Builtin func) { auto builtId = static_cast(func); - this->ensureInitCompletion(); if (builtins[builtId].get() == nullptr) { initBuiltinKernel(func); } @@ -201,7 +198,6 @@ Kernel *BuiltinFunctionsLibImpl::getFunction(Builtin func) { Kernel *BuiltinFunctionsLibImpl::getImageFunction(ImageBuiltin func) { auto builtId = static_cast(func); - this->ensureInitCompletion(); if (imageBuiltins[builtId].get() == nullptr) { initBuiltinImageKernel(func); } @@ -231,46 +227,27 @@ std::unique_ptr BuiltinFunctionsLibImpl::l } } - if (builtinCode.resource.empty() || !NEO::EmbeddedStorageRegistry::exists) { - return nullptr; - } - [[maybe_unused]] ze_result_t res; + std::unique_ptr module; + ze_module_handle_t moduleHandle; + ze_module_desc_t moduleDesc = {}; + moduleDesc.format = builtinCode.type == BuiltInCodeType::Binary ? ZE_MODULE_FORMAT_NATIVE : ZE_MODULE_FORMAT_IL_SPIRV; + moduleDesc.pInputModule = reinterpret_cast(&builtinCode.resource[0]); + moduleDesc.inputSize = builtinCode.resource.size(); + res = device->createModule(&moduleDesc, &moduleHandle, nullptr, ModuleType::Builtin); + UNRECOVERABLE_IF(res != ZE_RESULT_SUCCESS); - if (this->modules.size() <= builtin) { - this->modules.resize(builtin + 1u); - } - - if (this->modules[builtin].get() == nullptr) { - std::unique_ptr module; - ze_module_handle_t moduleHandle; - ze_module_desc_t moduleDesc = {}; - moduleDesc.format = builtinCode.type == BuiltInCodeType::Binary ? ZE_MODULE_FORMAT_NATIVE : ZE_MODULE_FORMAT_IL_SPIRV; - moduleDesc.pInputModule = reinterpret_cast(&builtinCode.resource[0]); - moduleDesc.inputSize = builtinCode.resource.size(); - res = device->createModule(&moduleDesc, &moduleHandle, nullptr, ModuleType::Builtin); - UNRECOVERABLE_IF(res != ZE_RESULT_SUCCESS); - - module.reset(Module::fromHandle(moduleHandle)); - this->modules[builtin] = std::move(module); - } + module.reset(Module::fromHandle(moduleHandle)); std::unique_ptr kernel; ze_kernel_handle_t kernelHandle; ze_kernel_desc_t kernelDesc = {}; kernelDesc.pKernelName = builtInName; - res = this->modules[builtin]->createKernel(&kernelDesc, &kernelHandle); + res = module->createKernel(&kernelDesc, &kernelHandle); DEBUG_BREAK_IF(res != ZE_RESULT_SUCCESS); kernel.reset(Kernel::fromHandle(kernelHandle)); - return std::unique_ptr(new BuiltinData{modules[builtin].get(), std::move(kernel)}); -} - -void BuiltinFunctionsLibImpl::ensureInitCompletion() { - if (!this->initAsyncComplete) { - this->initAsync.wait(); - this->initAsyncComplete = true; - } + return std::unique_ptr(new BuiltinData{std::move(module), std::move(kernel)}); } } // namespace L0 diff --git a/level_zero/core/source/builtin/builtin_functions_lib_impl.h b/level_zero/core/source/builtin/builtin_functions_lib_impl.h index 18d1928e29..dea44be42b 100644 --- a/level_zero/core/source/builtin/builtin_functions_lib_impl.h +++ b/level_zero/core/source/builtin/builtin_functions_lib_impl.h @@ -7,13 +7,7 @@ #pragma once -#include "shared/source/os_interface/os_thread.h" - #include "level_zero/core/source/builtin/builtin_functions_lib.h" -#include "level_zero/core/source/module/module.h" - -#include -#include namespace NEO { namespace EBuiltInOps { @@ -23,12 +17,15 @@ class BuiltIns; } // namespace NEO namespace L0 { +struct Module; struct Kernel; struct Device; struct BuiltinFunctionsLibImpl : BuiltinFunctionsLib { struct BuiltinData; - BuiltinFunctionsLibImpl(Device *device, NEO::BuiltIns *builtInsLib); + BuiltinFunctionsLibImpl(Device *device, NEO::BuiltIns *builtInsLib) + : device(device), builtInsLib(builtInsLib) { + } ~BuiltinFunctionsLibImpl() override { builtins->reset(); imageBuiltins->reset(); @@ -38,27 +35,20 @@ struct BuiltinFunctionsLibImpl : BuiltinFunctionsLib { Kernel *getImageFunction(ImageBuiltin func) override; void initBuiltinKernel(Builtin builtId) override; void initBuiltinImageKernel(ImageBuiltin func) override; - void ensureInitCompletion() override; MOCKABLE_VIRTUAL std::unique_ptr loadBuiltIn(NEO::EBuiltInOps::Type builtin, const char *builtInName); - static bool initBuiltinsAsyncEnabled(); - protected: - std::vector> modules = {}; std::unique_ptr builtins[static_cast(Builtin::COUNT)]; std::unique_ptr imageBuiltins[static_cast(ImageBuiltin::COUNT)]; Device *device; NEO::BuiltIns *builtInsLib; - - std::future initAsync = {}; - bool initAsyncComplete = true; }; struct BuiltinFunctionsLibImpl::BuiltinData { MOCKABLE_VIRTUAL ~BuiltinData(); BuiltinData(); - BuiltinData(Module *module, std::unique_ptr &&ker); + BuiltinData(std::unique_ptr &&mod, std::unique_ptr &&ker); - Module *module = nullptr; + std::unique_ptr module; std::unique_ptr func; }; } // namespace L0 diff --git a/level_zero/core/source/dll/linux/CMakeLists.txt b/level_zero/core/source/dll/linux/CMakeLists.txt index 6e3333d613..be32106634 100644 --- a/level_zero/core/source/dll/linux/CMakeLists.txt +++ b/level_zero/core/source/dll/linux/CMakeLists.txt @@ -6,7 +6,6 @@ set(L0_SRCS_DLL_LINUX ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_SOURCE_DIR}/create_builtin_functions_lib_linux.cpp ) if(NEO_ENABLE_i915_PRELIM_DETECTION) diff --git a/level_zero/core/source/dll/linux/create_builtin_functions_lib_linux.cpp b/level_zero/core/source/dll/linux/create_builtin_functions_lib_linux.cpp deleted file mode 100644 index fa405f38ea..0000000000 --- a/level_zero/core/source/dll/linux/create_builtin_functions_lib_linux.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (C) 2023 Intel Corporation - * - * SPDX-License-Identifier: MIT - * - */ - -#include "level_zero/core/source/builtin/builtin_functions_lib_impl.h" - -namespace L0 { - -bool BuiltinFunctionsLibImpl::initBuiltinsAsyncEnabled() { - return true; -} - -} // namespace L0 diff --git a/level_zero/core/source/dll/windows/CMakeLists.txt b/level_zero/core/source/dll/windows/CMakeLists.txt index 6f0adffe59..85e11ee07a 100644 --- a/level_zero/core/source/dll/windows/CMakeLists.txt +++ b/level_zero/core/source/dll/windows/CMakeLists.txt @@ -6,7 +6,6 @@ set(L0_SRCS_DLL_WINDOWS ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_SOURCE_DIR}/create_builtin_functions_lib_windows.cpp ${NEO_SOURCE_DIR}/level_zero/tools/source/debug/windows/debug_session_windows_helper.cpp ) diff --git a/level_zero/core/source/dll/windows/create_builtin_functions_lib_windows.cpp b/level_zero/core/source/dll/windows/create_builtin_functions_lib_windows.cpp deleted file mode 100644 index 76871c4eca..0000000000 --- a/level_zero/core/source/dll/windows/create_builtin_functions_lib_windows.cpp +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (C) 2023 Intel Corporation - * - * SPDX-License-Identifier: MIT - * - */ - -#include "level_zero/core/source/builtin/builtin_functions_lib_impl.h" - -namespace L0 { - -bool BuiltinFunctionsLibImpl::initBuiltinsAsyncEnabled() { - return false; -} - -} // namespace L0 diff --git a/level_zero/core/source/driver/driver_handle_imp.cpp b/level_zero/core/source/driver/driver_handle_imp.cpp index 0a729323a0..bd1030d59c 100644 --- a/level_zero/core/source/driver/driver_handle_imp.cpp +++ b/level_zero/core/source/driver/driver_handle_imp.cpp @@ -18,7 +18,6 @@ #include "shared/source/memory_manager/unified_memory_manager.h" #include "shared/source/os_interface/os_library.h" -#include "level_zero/core/source/builtin/builtin_functions_lib.h" #include "level_zero/core/source/context/context_imp.h" #include "level_zero/core/source/device/device_imp.h" #include "level_zero/core/source/driver/driver_imp.h" @@ -162,9 +161,6 @@ DriverHandleImp::~DriverHandleImp() { } for (auto &device : this->devices) { - if (device->getBuiltinFunctionsLib()) { - device->getBuiltinFunctionsLib()->ensureInitCompletion(); - } delete device; } diff --git a/level_zero/core/test/aub_tests/fixtures/create_aub_ult_builtin_functions_lib.cpp b/level_zero/core/test/aub_tests/fixtures/create_aub_ult_builtin_functions_lib.cpp index 54e99c0c1a..c6ed49dc04 100644 --- a/level_zero/core/test/aub_tests/fixtures/create_aub_ult_builtin_functions_lib.cpp +++ b/level_zero/core/test/aub_tests/fixtures/create_aub_ult_builtin_functions_lib.cpp @@ -14,8 +14,4 @@ std::unique_ptr BuiltinFunctionsLib::create(Device *device, return std::unique_ptr(new BuiltinFunctionsLibImpl(device, builtins)); } -bool BuiltinFunctionsLibImpl::initBuiltinsAsyncEnabled() { - return false; -} - } // namespace L0 diff --git a/level_zero/core/test/unit_tests/mocks/mock_builtin_functions_lib_impl.h b/level_zero/core/test/unit_tests/mocks/mock_builtin_functions_lib_impl.h index 3d87510e1f..ce753b4ce9 100644 --- a/level_zero/core/test/unit_tests/mocks/mock_builtin_functions_lib_impl.h +++ b/level_zero/core/test/unit_tests/mocks/mock_builtin_functions_lib_impl.h @@ -23,7 +23,6 @@ struct MockBuiltinFunctionsLibImpl : BuiltinFunctionsLibImpl { dummyKernel = std::unique_ptr>(new Mock<::L0::Kernel>()); dummyModule = std::unique_ptr(new Mock(device, nullptr)); dummyKernel->module = dummyModule.get(); - mockModule = std::unique_ptr(new Mock(device, nullptr)); } void initBuiltinKernel(L0::Builtin func) override { auto builtId = static_cast(func); @@ -41,7 +40,6 @@ struct MockBuiltinFunctionsLibImpl : BuiltinFunctionsLibImpl { std::unique_ptr> dummyKernel; std::unique_ptr dummyModule; - std::unique_ptr mockModule; Kernel *getFunction(Builtin func) override { return dummyKernel.get(); @@ -53,8 +51,9 @@ struct MockBuiltinFunctionsLibImpl : BuiltinFunctionsLibImpl { std::unique_ptr loadBuiltIn(NEO::EBuiltInOps::Type builtin, const char *builtInName) override { std::unique_ptr mockKernel(new Mock<::L0::Kernel>()); + std::unique_ptr mockModule(new Mock(device, nullptr)); - return std::unique_ptr(new BuiltinData{mockModule.get(), std::move(mockKernel)}); + return std::unique_ptr(new BuiltinData{std::move(mockModule), std::move(mockKernel)}); } }; } // namespace ult diff --git a/level_zero/core/test/unit_tests/mocks/mock_builtin_functions_lib_impl_timestamps.h b/level_zero/core/test/unit_tests/mocks/mock_builtin_functions_lib_impl_timestamps.h index 064372fa5c..00fc30fd9c 100644 --- a/level_zero/core/test/unit_tests/mocks/mock_builtin_functions_lib_impl_timestamps.h +++ b/level_zero/core/test/unit_tests/mocks/mock_builtin_functions_lib_impl_timestamps.h @@ -17,6 +17,10 @@ namespace ult { struct MockBuiltinDataTimestamp : BuiltinFunctionsLibImpl::BuiltinData { using BuiltinFunctionsLibImpl::BuiltinData::BuiltinData; + + ~MockBuiltinDataTimestamp() override { + module.release(); + } }; struct MockBuiltinFunctionsLibImplTimestamps : BuiltinFunctionsLibImpl { @@ -53,8 +57,7 @@ struct MockBuiltinFunctionsLibImplTimestamps : BuiltinFunctionsLibImpl { auto builtInCode = builtInsLib->getBuiltinsLib().getBuiltinCode(builtin, builtInCodeType, *device->getNEODevice()); [[maybe_unused]] ze_result_t res; - - Module *module; + std::unique_ptr module; ze_module_handle_t moduleHandle; ze_module_desc_t moduleDesc = {}; moduleDesc.format = builtInCode.type == BuiltInCodeType::Binary ? ZE_MODULE_FORMAT_NATIVE : ZE_MODULE_FORMAT_IL_SPIRV; @@ -62,7 +65,8 @@ struct MockBuiltinFunctionsLibImplTimestamps : BuiltinFunctionsLibImpl { moduleDesc.inputSize = builtInCode.resource.size(); res = device->createModule(&moduleDesc, &moduleHandle, nullptr, ModuleType::Builtin); UNRECOVERABLE_IF(res != ZE_RESULT_SUCCESS); - module = Module::fromHandle(moduleHandle); + + module.reset(Module::fromHandle(moduleHandle)); std::unique_ptr kernel; ze_kernel_handle_t kernelHandle; @@ -72,7 +76,7 @@ struct MockBuiltinFunctionsLibImplTimestamps : BuiltinFunctionsLibImpl { DEBUG_BREAK_IF(res != ZE_RESULT_SUCCESS); kernel.reset(Kernel::fromHandle(kernelHandle)); - return std::unique_ptr(new MockBuiltinDataTimestamp{module, std::move(kernel)}); + return std::unique_ptr(new MockBuiltinDataTimestamp{std::move(module), std::move(kernel)}); } }; diff --git a/level_zero/core/test/unit_tests/sources/builtin/built_in_spv_tests_l0.cpp b/level_zero/core/test/unit_tests/sources/builtin/built_in_spv_tests_l0.cpp index eaa566f050..45ed1e6fd7 100644 --- a/level_zero/core/test/unit_tests/sources/builtin/built_in_spv_tests_l0.cpp +++ b/level_zero/core/test/unit_tests/sources/builtin/built_in_spv_tests_l0.cpp @@ -42,6 +42,7 @@ HWTEST_F(BuiltInTestL0, givenDeviceWithUnregisteredBinaryBuiltinWhenGettingBuilt pDevice->getRootDeviceEnvironment().getMutableHardwareInfo()->platform.usRevId += 0xdead; L0::BuiltinFunctionsLibImpl builtinFunctionsLib{&deviceL0, pDevice->getBuiltIns()}; for (uint32_t builtId = 0; builtId < static_cast(L0::Builtin::COUNT); builtId++) { + deviceL0.formatForModule = {}; ASSERT_NE(nullptr, builtinFunctionsLib.getFunction(static_cast(builtId))); EXPECT_EQ(ZE_MODULE_FORMAT_NATIVE, deviceL0.formatForModule); } diff --git a/level_zero/core/test/unit_tests/sources/builtin/builtin_functions_tests.cpp b/level_zero/core/test/unit_tests/sources/builtin/builtin_functions_tests.cpp index 63e891e039..8a5b09ad8a 100644 --- a/level_zero/core/test/unit_tests/sources/builtin/builtin_functions_tests.cpp +++ b/level_zero/core/test/unit_tests/sources/builtin/builtin_functions_tests.cpp @@ -8,8 +8,6 @@ #include "shared/source/built_ins/built_ins.h" #include "shared/source/execution_environment/root_device_environment.h" #include "shared/test/common/helpers/debug_manager_state_restore.h" -#include "shared/test/common/helpers/memory_management.h" -#include "shared/test/common/helpers/ult_hw_config.h" #include "shared/test/common/mocks/mock_compiler_interface_spirv.h" #include "shared/test/common/test_macros/hw_test.h" @@ -28,27 +26,21 @@ class BuiltinFunctionsLibFixture : public DeviceFixture { public: struct MockBuiltinFunctionsLibImpl : BuiltinFunctionsLibImpl { using BuiltinFunctionsLibImpl::builtins; - using BuiltinFunctionsLibImpl::ensureInitCompletion; using BuiltinFunctionsLibImpl::getFunction; using BuiltinFunctionsLibImpl::imageBuiltins; - using BuiltinFunctionsLibImpl::initAsyncComplete; - MockBuiltinFunctionsLibImpl(L0::Device *device, NEO::BuiltIns *builtInsLib) : BuiltinFunctionsLibImpl(device, builtInsLib) { - mockModule = std::unique_ptr(new Mock(device, nullptr)); - } + MockBuiltinFunctionsLibImpl(L0::Device *device, NEO::BuiltIns *builtInsLib) : BuiltinFunctionsLibImpl(device, builtInsLib) {} std::unique_ptr loadBuiltIn(NEO::EBuiltInOps::Type builtin, const char *builtInName) override { std::unique_ptr mockKernel(new Mock<::L0::Kernel>()); + std::unique_ptr mockModule(new Mock(device, nullptr)); - return std::unique_ptr(new BuiltinData{mockModule.get(), std::move(mockKernel)}); + return std::unique_ptr(new BuiltinData{std::move(mockModule), std::move(mockKernel)}); } - std::unique_ptr mockModule; }; void setUp() { DeviceFixture::setUp(); mockDevicePtr = std::unique_ptr>(new MockDeviceForSpv(device->getNEODevice(), device->getNEODevice()->getExecutionEnvironment(), driverHandle.get())); mockBuiltinFunctionsLibImpl.reset(new MockBuiltinFunctionsLibImpl(mockDevicePtr.get(), neoDevice->getBuiltIns())); - mockBuiltinFunctionsLibImpl->ensureInitCompletion(); - EXPECT_TRUE(mockBuiltinFunctionsLibImpl->initAsyncComplete); } void tearDown() { mockBuiltinFunctionsLibImpl.reset(); @@ -116,36 +108,6 @@ HWTEST_F(TestBuiltinFunctionsLibImpl, givenCallToBuiltinFunctionWithWrongIdThenE EXPECT_THROW(mockBuiltinFunctionsLibImpl->initBuiltinKernel(static_cast(builtId)), std::exception); } -HWTEST_F(TestBuiltinFunctionsLibImpl, whenCreateBuiltinFunctionsLibThenImmediateFillIsLoaded) { - struct MockBuiltinFunctionsLibImpl : public BuiltinFunctionsLibImpl { - using BuiltinFunctionsLibImpl::BuiltinFunctionsLibImpl; - using BuiltinFunctionsLibImpl::builtins; - using BuiltinFunctionsLibImpl::ensureInitCompletion; - using BuiltinFunctionsLibImpl::initAsyncComplete; - }; - - EXPECT_TRUE(mockBuiltinFunctionsLibImpl->initAsyncComplete); - VariableBackup backup(&ultHwConfig); - ultHwConfig.useinitBuiltinsAsyncEnabled = true; - MockBuiltinFunctionsLibImpl lib(device, device->getNEODevice()->getBuiltIns()); - EXPECT_FALSE(lib.initAsyncComplete); - lib.ensureInitCompletion(); - EXPECT_TRUE(lib.initAsyncComplete); - for (uint32_t builtId = 0; builtId < static_cast(Builtin::COUNT); builtId++) { - if (builtId == static_cast(Builtin::FillBufferImmediate)) { - EXPECT_NE(nullptr, lib.builtins[builtId]); - } else { - EXPECT_EQ(nullptr, lib.builtins[builtId]); - } - } - uint32_t builtId = static_cast(Builtin::COUNT) + 1; - EXPECT_THROW(lib.initBuiltinKernel(static_cast(builtId)), std::exception); - - /* std::async may create a detached thread - completion of the scheduled task can be ensured, - but there is no way to ensure that actual OS thread exited and its resources are freed */ - MemoryManagement::fastLeaksDetectionMode = MemoryManagement::LeakDetectionMode::TURN_OFF_LEAK_DETECTION; -} - HWTEST_F(TestBuiltinFunctionsLibImpl, givenCompilerInterfaceWhenCreateDeviceAndImageSupportedThenBuiltinsImageFunctionsAreLoaded) { ze_result_t returnValue = ZE_RESULT_SUCCESS; neoDevice->getExecutionEnvironment()->rootDeviceEnvironments[neoDevice->getRootDeviceIndex()]->compilerInterface.reset(new NEO::MockCompilerInterfaceSpirv()); diff --git a/level_zero/core/test/unit_tests/sources/builtin/create_ult_builtin_functions_lib.cpp b/level_zero/core/test/unit_tests/sources/builtin/create_ult_builtin_functions_lib.cpp index cf1b96b8f8..621ec8974b 100644 --- a/level_zero/core/test/unit_tests/sources/builtin/create_ult_builtin_functions_lib.cpp +++ b/level_zero/core/test/unit_tests/sources/builtin/create_ult_builtin_functions_lib.cpp @@ -6,7 +6,6 @@ */ #include "shared/source/built_ins/built_ins.h" -#include "shared/test/common/helpers/ult_hw_config.h" #include "level_zero/core/source/builtin/builtin_functions_lib_impl.h" #include "level_zero/core/test/unit_tests/mocks/mock_builtin_functions_lib_impl.h" @@ -18,8 +17,4 @@ std::unique_ptr BuiltinFunctionsLib::create(Device *device, return std::unique_ptr(new ult::MockBuiltinFunctionsLibImpl(device, builtins)); } -bool BuiltinFunctionsLibImpl::initBuiltinsAsyncEnabled() { - return NEO::ultHwConfig.useinitBuiltinsAsyncEnabled; -} - } // namespace L0 diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_5.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_5.cpp index f601f8fbf3..5e31f28500 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_5.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_cmdlist_5.cpp @@ -331,7 +331,7 @@ HWTEST2_F(AppendQueryKernelTimestamps, givenCommandListWhenAppendQueryKernelTime neoDevice->incRefInternal(); execEnvironment = device->getExecEnvironment(); driverHandle = device->getDriverHandle(); - tmpMockBultinLib = new MockBuiltinFunctionsForQueryKernelTimestamps{this, device->getNEODevice()->getBuiltIns()}; + tmpMockBultinLib = new MockBuiltinFunctionsForQueryKernelTimestamps{nullptr, nullptr}; } MockBuiltinFunctionsForQueryKernelTimestamps *getBuiltinFunctionsLib() override { return tmpMockBultinLib; @@ -416,7 +416,7 @@ HWTEST2_F(AppendQueryKernelTimestamps, givenCommandListWhenAppendQueryKernelTime neoDevice->incRefInternal(); execEnvironment = device->getExecEnvironment(); driverHandle = device->getDriverHandle(); - tmpMockBultinLib = new MockBuiltinFunctionsForQueryKernelTimestamps{this, device->getNEODevice()->getBuiltIns()}; + tmpMockBultinLib = new MockBuiltinFunctionsForQueryKernelTimestamps{nullptr, nullptr}; } MockBuiltinFunctionsForQueryKernelTimestamps *getBuiltinFunctionsLib() override { return tmpMockBultinLib; @@ -500,7 +500,7 @@ HWTEST2_F(AppendQueryKernelTimestamps, givenEventWhenAppendQueryIsCalledThenSetA neoDevice->incRefInternal(); execEnvironment = device->getExecEnvironment(); driverHandle = device->getDriverHandle(); - tmpMockBultinLib = std::make_unique(this, device->getNEODevice()->getBuiltIns()); + tmpMockBultinLib = std::make_unique(this, nullptr); } MockBuiltinFunctionsForQueryKernelTimestamps *getBuiltinFunctionsLib() override { return tmpMockBultinLib.get(); diff --git a/level_zero/sysman/test/unit_tests/CMakeLists.txt b/level_zero/sysman/test/unit_tests/CMakeLists.txt index 4a2fcc0e9d..9a7bbe758d 100644 --- a/level_zero/sysman/test/unit_tests/CMakeLists.txt +++ b/level_zero/sysman/test/unit_tests/CMakeLists.txt @@ -32,16 +32,6 @@ target_sources(${TARGET_NAME} PRIVATE ${NEO_SHARED_TEST_DIRECTORY}/common/tests_configuration.h ) -if(WIN32) - target_sources(${TARGET_NAME} PRIVATE - ${NEO_SOURCE_DIR}/level_zero/core/source/dll/windows/create_builtin_functions_lib_windows.cpp - ) -else() - target_sources(${TARGET_NAME} PRIVATE - ${NEO_SOURCE_DIR}/level_zero/core/source/dll/linux/create_builtin_functions_lib_linux.cpp - ) -endif() - target_sources(${TARGET_NAME} PRIVATE $ $ diff --git a/level_zero/tools/test/unit_tests/CMakeLists.txt b/level_zero/tools/test/unit_tests/CMakeLists.txt index 5951ff7566..61ddeddc29 100644 --- a/level_zero/tools/test/unit_tests/CMakeLists.txt +++ b/level_zero/tools/test/unit_tests/CMakeLists.txt @@ -27,7 +27,7 @@ target_sources(${TARGET_NAME} PRIVATE ${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/main.cpp ${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/mock.h ${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/white_box.h - ${NEO_SOURCE_DIR}/level_zero/core/test/unit_tests/sources/builtin/create_ult_builtin_functions_lib.cpp + ${NEO_SOURCE_DIR}/level_zero/core/source/dll/create_builtin_functions_lib.cpp ${NEO_SOURCE_DIR}/level_zero/tools/test/unit_tests/sources/debug/debug_session_helper.cpp ${NEO_SHARED_TEST_DIRECTORY}/common/tests_configuration.h ) diff --git a/shared/test/common/base_ult_config_listener.cpp b/shared/test/common/base_ult_config_listener.cpp index 8d54f6b5bb..9bd2cba169 100644 --- a/shared/test/common/base_ult_config_listener.cpp +++ b/shared/test/common/base_ult_config_listener.cpp @@ -36,7 +36,7 @@ void NEO::BaseUltConfigListener::OnTestEnd(const ::testing::TestInfo &) { // Ensure that global state is restored UltHwConfig expectedState{}; - static_assert(sizeof(UltHwConfig) == 15 * sizeof(bool), ""); // Ensure that there is no internal padding + static_assert(sizeof(UltHwConfig) == 14 * sizeof(bool), ""); // Ensure that there is no internal padding EXPECT_EQ(0, memcmp(&expectedState, &ultHwConfig, sizeof(UltHwConfig))); EXPECT_EQ(0, memcmp(&referencedHwInfo.platform, &defaultHwInfo->platform, sizeof(PLATFORM))); diff --git a/shared/test/common/helpers/ult_hw_config.h b/shared/test/common/helpers/ult_hw_config.h index 4c4298d429..60790d3b58 100644 --- a/shared/test/common/helpers/ult_hw_config.h +++ b/shared/test/common/helpers/ult_hw_config.h @@ -12,7 +12,6 @@ struct UltHwConfig { bool useHwCsr = false; bool useMockedPrepareDeviceEnvironmentsFunc = true; bool forceOsAgnosticMemoryManager = true; - bool useinitBuiltinsAsyncEnabled = false; bool useWaitForTimestamps = false; bool useBlitSplit = false; bool useFirstSubmissionInitDevice = false;