/* * Copyright (C) 2017-2021 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once #include #include #include namespace NEO { class ExecutionEnvironment; class Device; bool prepareDeviceEnvironments(ExecutionEnvironment &executionEnvironment); class DeviceFactory { public: static bool prepareDeviceEnvironments(ExecutionEnvironment &executionEnvironment); static bool prepareDeviceEnvironmentsForProductFamilyOverride(ExecutionEnvironment &executionEnvironment); static std::vector> createDevices(ExecutionEnvironment &executionEnvironment); static bool isHwModeSelected(); static std::unique_ptr (*createRootDeviceFunc)(ExecutionEnvironment &executionEnvironment, uint32_t rootDeviceIndex); static bool (*createMemoryManagerFunc)(ExecutionEnvironment &executionEnvironment); }; } // namespace NEO