Check for image support in VA media sharing

Related-To: NEO-4473

Change-Id: I6015d67215267b1dcde1e885cf3696af10ea5e7d
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
This commit is contained in:
Slawomir Milczarek
2020-03-27 13:28:54 +01:00
committed by sys_ocldev
parent 97dfa234d1
commit 9022912a6d
24 changed files with 143 additions and 52 deletions

View File

@@ -11,17 +11,19 @@
namespace NEO {
struct HardwareInfo;
class OSInterface;
class DriverInfo {
public:
static DriverInfo *create(OSInterface *osInterface);
static DriverInfo *create(const HardwareInfo *hwInfo, OSInterface *osInterface);
virtual ~DriverInfo() = default;
virtual std::string getDeviceName(std::string defaultName) { return defaultName; };
virtual std::string getVersion(std::string defaultVersion) { return defaultVersion; };
virtual bool getMediaSharingSupport() { return true; };
virtual std::string getDeviceName(std::string defaultName) { return defaultName; }
virtual std::string getVersion(std::string defaultVersion) { return defaultVersion; }
virtual bool getMediaSharingSupport() { return true; }
virtual bool getImageSupport() { return true; }
};
} // namespace NEO

View File

@@ -10,6 +10,7 @@ set(NEO_CORE_OS_INTERFACE_LINUX
${CMAKE_CURRENT_SOURCE_DIR}/debug_env_reader.cpp
${CMAKE_CURRENT_SOURCE_DIR}/debug_env_reader.h
${CMAKE_CURRENT_SOURCE_DIR}/driver_info_linux.cpp
${CMAKE_CURRENT_SOURCE_DIR}/driver_info_linux.h
${CMAKE_CURRENT_SOURCE_DIR}/drm_allocation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/drm_allocation.h
${CMAKE_CURRENT_SOURCE_DIR}/drm_buffer_object.cpp

View File

@@ -5,11 +5,22 @@
*
*/
#include "shared/source/os_interface/driver_info.h"
#include "shared/source/os_interface/linux/driver_info_linux.h"
#include "shared/source/helpers/hw_info.h"
namespace NEO {
DriverInfo *DriverInfo::create(OSInterface *osInterface) {
return new DriverInfo();
DriverInfo *DriverInfo::create(const HardwareInfo *hwInfo, OSInterface *osInterface) {
if (hwInfo) {
auto imageSupport = hwInfo->capabilityTable.supportsImages;
return new DriverInfoLinux(imageSupport);
}
return nullptr;
};
DriverInfoLinux::DriverInfoLinux(bool imageSupport) : imageSupport(imageSupport) {}
bool DriverInfoLinux::getImageSupport() { return imageSupport; }
} // namespace NEO

View File

@@ -0,0 +1,23 @@
/*
* Copyright (C) 2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "shared/source/os_interface/driver_info.h"
namespace NEO {
class DriverInfoLinux : public DriverInfo {
public:
DriverInfoLinux(bool imageSupport);
bool getImageSupport() override;
protected:
bool imageSupport = true;
};
} // namespace NEO

View File

@@ -34,7 +34,7 @@ std::string getCurrentLibraryPath() {
namespace NEO {
DriverInfo *DriverInfo::create(OSInterface *osInterface) {
DriverInfo *DriverInfo::create(const HardwareInfo *hwInfo, OSInterface *osInterface) {
if (osInterface) {
auto wddm = osInterface->get()->getWddm();
DEBUG_BREAK_IF(wddm == nullptr);