Files
compute-runtime/shared/source/os_interface/os_interface.h
Jaroslaw Chodor abf0649a5b Improving cpp compliance
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-05-20 00:10:06 +02:00

45 lines
1.1 KiB
C++

/*
* Copyright (C) 2018-2021 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include <cstdint>
#include <memory>
#include <vector>
namespace NEO {
class ExecutionEnvironment;
class HwDeviceId;
class OSInterface {
public:
class OSInterfaceImpl;
OSInterface();
virtual ~OSInterface();
OSInterface(const OSInterface &) = delete;
OSInterface &operator=(const OSInterface &) = delete;
OSInterfaceImpl *get() const {
return osInterfaceImpl;
};
MOCKABLE_VIRTUAL bool isDebugAttachAvailable() const;
static bool osEnabled64kbPages;
static bool osEnableLocalMemory;
static bool are64kbPagesEnabled();
static bool newResourceImplicitFlush;
static bool gpuIdleImplicitFlush;
static bool requiresSupportForWddmTrimNotification;
uint32_t getDeviceHandle() const;
void setGmmInputArgs(void *args);
static std::vector<std::unique_ptr<HwDeviceId>> discoverDevices(ExecutionEnvironment &executionEnvironment);
protected:
OSInterfaceImpl *osInterfaceImpl = nullptr;
};
} // namespace NEO