[1/N] Make the execution environment adapter agnostic

-Create a structure for adapter specific data
-Store an array of adapter data in the execution environment

Related-To: NEO-3857

Change-Id: Ia5b52a7bfa53198f0ca5124bcaa0669dd3601faf
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
This commit is contained in:
Jobczyk, Lukasz
2019-10-22 11:44:06 +02:00
committed by sys_ocldev
parent e22ce2f757
commit bfc9863179
9 changed files with 48 additions and 20 deletions

View File

@@ -6,14 +6,13 @@
*/
#pragma once
#include "core/memory_manager/memory_constants.h"
#include "core/execution_environment/root_device_environment.h"
#include "core/utilities/reference_tracked_object.h"
#include "runtime/helpers/common_types.h"
#include "runtime/helpers/options.h"
#include "runtime/os_interface/device_factory.h"
#include <mutex>
#include <vector>
namespace NEO {
class AubCenter;
@@ -22,11 +21,10 @@ class CommandStreamReceiver;
class CompilerInterface;
class GmmHelper;
class MemoryManager;
class SourceLevelDebugger;
class MemoryOperationsHandler;
class OSInterface;
class RootDevice;
class MemoryOperationsHandler;
struct EngineControl;
class SourceLevelDebugger;
struct HardwareInfo;
class ExecutionEnvironment : public ReferenceTrackedObject<ExecutionEnvironment> {
@@ -57,6 +55,7 @@ class ExecutionEnvironment : public ReferenceTrackedObject<ExecutionEnvironment>
MOCKABLE_VIRTUAL CompilerInterface *getCompilerInterface();
BuiltIns *getBuiltIns();
std::unique_ptr<RootDeviceEnvironment[]> rootDeviceEnvironments;
std::unique_ptr<OSInterface> osInterface;
std::unique_ptr<MemoryOperationsHandler> memoryOperationsInterface;
std::unique_ptr<MemoryManager> memoryManager;