Pass Drm object to OsContext on Linux

Change-Id: I341925eef9bc892f5c321c668736bb6a3aff38f5
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
Dunajski, Bartosz
2018-11-08 13:05:46 +01:00
committed by sys_ocldev
parent 76efeae9d8
commit 728932ed44
4 changed files with 38 additions and 5 deletions

View File

@@ -32,6 +32,7 @@ set(RUNTIME_SRCS_OS_INTERFACE_LINUX
${CMAKE_CURRENT_SOURCE_DIR}/hw_info_config.cpp
${CMAKE_CURRENT_SOURCE_DIR}/linux_inc.cpp
${CMAKE_CURRENT_SOURCE_DIR}/os_context_linux.cpp
${CMAKE_CURRENT_SOURCE_DIR}/os_context_linux.h
${CMAKE_CURRENT_SOURCE_DIR}/os_inc.h
${CMAKE_CURRENT_SOURCE_DIR}/os_interface.cpp
${CMAKE_CURRENT_SOURCE_DIR}/os_interface.h

View File

@@ -6,12 +6,19 @@
*/
#include "runtime/os_interface/os_context.h"
#include "runtime/os_interface/linux/drm_neo.h"
#include "runtime/os_interface/linux/os_context_linux.h"
#include "runtime/os_interface/linux/os_interface.h"
namespace OCLRT {
class OsContext::OsContextImpl {};
OsContext::OsContext(OSInterface *osInterface, uint32_t contextId) : contextId(contextId) {
osContextImpl = std::make_unique<OsContext::OsContextImpl>();
if (osInterface) {
osContextImpl = std::make_unique<OsContextLinux>(*osInterface->get()->getDrm());
}
}
OsContext::~OsContext() = default;
OsContextLinux::OsContextImpl(Drm &drm) : drm(drm) {}
} // namespace OCLRT

View File

@@ -0,0 +1,21 @@
/*
* Copyright (C) 2018 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "runtime/os_interface/os_context.h"
namespace OCLRT {
class Drm;
using OsContextLinux = OsContext::OsContextImpl;
class OsContext::OsContextImpl {
public:
OsContextImpl(Drm &drm);
protected:
Drm &drm;
};
} // namespace OCLRT