feature(sysman): Add support for device type and flags
Related-To: NEO-8590 Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
This commit is contained in:
parent
25195ebc96
commit
18e45b2b42
|
@ -44,14 +44,52 @@ ze_result_t GlobalOperationsImp::processesGetState(uint32_t *pCount, zes_process
|
|||
|
||||
ze_result_t GlobalOperationsImp::deviceGetProperties(zes_device_properties_t *pProperties) {
|
||||
initGlobalOperations();
|
||||
sysmanProperties.numSubdevices = pOsSysman->getSubDeviceCount();
|
||||
pProperties->numSubdevices = pOsSysman->getSubDeviceCount();
|
||||
|
||||
std::array<uint8_t, NEO::ProductHelper::uuidSize> deviceUuid;
|
||||
bool uuidValid = pOsGlobalOperations->getUuid(deviceUuid);
|
||||
if (uuidValid) {
|
||||
std::copy_n(std::begin(deviceUuid), ZE_MAX_DEVICE_UUID_SIZE, std::begin(sysmanProperties.core.uuid.id));
|
||||
std::copy_n(std::begin(deviceUuid), ZE_MAX_DEVICE_UUID_SIZE, std::begin(pProperties->core.uuid.id));
|
||||
}
|
||||
*pProperties = sysmanProperties;
|
||||
|
||||
zes_base_properties_t *pNext = static_cast<zes_base_properties_t *>(pProperties->pNext);
|
||||
while (pNext) {
|
||||
|
||||
if (pNext->stype == ZES_STRUCTURE_TYPE_DEVICE_EXT_PROPERTIES) {
|
||||
auto extendedProperties = reinterpret_cast<zes_device_ext_properties_t *>(pNext);
|
||||
|
||||
extendedProperties->type = ZES_DEVICE_TYPE_GPU;
|
||||
|
||||
auto &hardwareInfo = pOsSysman->getHardwareInfo();
|
||||
if (hardwareInfo.capabilityTable.isIntegratedDevice) {
|
||||
extendedProperties->flags |= ZES_DEVICE_PROPERTY_FLAG_INTEGRATED;
|
||||
}
|
||||
|
||||
if (hardwareInfo.capabilityTable.supportsOnDemandPageFaults) {
|
||||
extendedProperties->flags |= ZES_DEVICE_PROPERTY_FLAG_ONDEMANDPAGING;
|
||||
}
|
||||
|
||||
if (uuidValid) {
|
||||
std::copy_n(std::begin(deviceUuid), ZE_MAX_DEVICE_UUID_SIZE, std::begin(extendedProperties->uuid.id));
|
||||
}
|
||||
}
|
||||
|
||||
pNext = static_cast<zes_base_properties_t *>(pNext->pNext);
|
||||
}
|
||||
|
||||
pOsGlobalOperations->getVendorName(pProperties->vendorName);
|
||||
pOsGlobalOperations->getDriverVersion(pProperties->driverVersion);
|
||||
pOsGlobalOperations->getModelName(pProperties->modelName);
|
||||
pOsGlobalOperations->getBrandName(pProperties->brandName);
|
||||
memset(pProperties->boardNumber, 0, ZES_STRING_PROPERTY_SIZE);
|
||||
if (!pOsGlobalOperations->getBoardNumber(pProperties->boardNumber)) {
|
||||
memcpy_s(pProperties->boardNumber, ZES_STRING_PROPERTY_SIZE, unknown.c_str(), unknown.length() + 1);
|
||||
}
|
||||
memset(pProperties->serialNumber, 0, ZES_STRING_PROPERTY_SIZE);
|
||||
if (!pOsGlobalOperations->getSerialNumber(pProperties->serialNumber)) {
|
||||
memcpy_s(pProperties->serialNumber, ZES_STRING_PROPERTY_SIZE, unknown.c_str(), unknown.length() + 1);
|
||||
}
|
||||
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -70,18 +108,6 @@ void GlobalOperationsImp::init() {
|
|||
pOsGlobalOperations = OsGlobalOperations::create(pOsSysman);
|
||||
}
|
||||
UNRECOVERABLE_IF(nullptr == pOsGlobalOperations);
|
||||
pOsGlobalOperations->getVendorName(sysmanProperties.vendorName);
|
||||
pOsGlobalOperations->getDriverVersion(sysmanProperties.driverVersion);
|
||||
pOsGlobalOperations->getModelName(sysmanProperties.modelName);
|
||||
pOsGlobalOperations->getBrandName(sysmanProperties.brandName);
|
||||
memset(sysmanProperties.boardNumber, 0, ZES_STRING_PROPERTY_SIZE);
|
||||
if (!pOsGlobalOperations->getBoardNumber(sysmanProperties.boardNumber)) {
|
||||
memcpy_s(sysmanProperties.boardNumber, ZES_STRING_PROPERTY_SIZE, unknown.c_str(), unknown.length() + 1);
|
||||
}
|
||||
memset(sysmanProperties.serialNumber, 0, ZES_STRING_PROPERTY_SIZE);
|
||||
if (!pOsGlobalOperations->getSerialNumber(sysmanProperties.serialNumber)) {
|
||||
memcpy_s(sysmanProperties.serialNumber, ZES_STRING_PROPERTY_SIZE, unknown.c_str(), unknown.length() + 1);
|
||||
}
|
||||
}
|
||||
void GlobalOperationsImp::initGlobalOperations() {
|
||||
std::call_once(initGlobalOpOnce, [this]() {
|
||||
|
|
|
@ -31,7 +31,6 @@ class GlobalOperationsImp : public GlobalOperations, NEO::NonCopyableOrMovableCl
|
|||
|
||||
private:
|
||||
OsSysman *pOsSysman = nullptr;
|
||||
zes_device_properties_t sysmanProperties = {};
|
||||
std::once_flag initGlobalOpOnce;
|
||||
void initGlobalOperations();
|
||||
};
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
#pragma once
|
||||
#include "shared/source/execution_environment/execution_environment.h"
|
||||
#include "shared/source/helpers/hw_info.h"
|
||||
#include "shared/source/helpers/non_copyable_or_moveable.h"
|
||||
#include "shared/source/os_interface/linux/sys_calls.h"
|
||||
|
||||
|
@ -49,6 +50,7 @@ class LinuxSysmanImp : public OsSysman, NEO::NonCopyableOrMovableClass {
|
|||
SysmanDeviceImp *getSysmanDeviceImp();
|
||||
SysmanProductHelper *getSysmanProductHelper();
|
||||
uint32_t getSubDeviceCount() override;
|
||||
const NEO::HardwareInfo &getHardwareInfo() const override { return pParentSysmanDeviceImp->getHardwareInfo(); }
|
||||
std::string getPciCardBusDirectoryPath(std::string realPciPath);
|
||||
uint32_t getMemoryType();
|
||||
static std::string getPciRootPortDirectoryPath(std::string realPciPath);
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
*/
|
||||
|
||||
#pragma once
|
||||
#include "shared/source/helpers/hw_info.h"
|
||||
|
||||
#include <level_zero/zes_api.h>
|
||||
|
||||
#include <vector>
|
||||
|
@ -21,6 +23,7 @@ struct OsSysman {
|
|||
virtual ze_result_t init() = 0;
|
||||
static OsSysman *create(SysmanDeviceImp *pSysmanImp);
|
||||
virtual uint32_t getSubDeviceCount() = 0;
|
||||
virtual const NEO::HardwareInfo &getHardwareInfo() const = 0;
|
||||
};
|
||||
|
||||
} // namespace Sysman
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
*/
|
||||
|
||||
#pragma once
|
||||
#include "shared/source/helpers/hw_info.h"
|
||||
#include "shared/source/helpers/non_copyable_or_moveable.h"
|
||||
|
||||
#include "level_zero/sysman/source/firmware_util/sysman_firmware_util.h"
|
||||
|
@ -34,6 +35,7 @@ class WddmSysmanImp : public OsSysman, NEO::NonCopyableOrMovableClass {
|
|||
|
||||
uint32_t getSubDeviceCount() override;
|
||||
SysmanDeviceImp *getSysmanDeviceImp();
|
||||
const NEO::HardwareInfo &getHardwareInfo() const override { return pParentSysmanDeviceImp->getHardwareInfo(); }
|
||||
|
||||
protected:
|
||||
FirmwareUtil *pFwUtilInterface = nullptr;
|
||||
|
|
|
@ -200,7 +200,7 @@ TEST_F(SysmanGlobalOperationsFixture, GivenValidDeviceHandleWhenCallingzesGlobal
|
|||
});
|
||||
|
||||
pLinuxSysmanImp->rootPath = NEO::getPciRootPath(pLinuxSysmanImp->getDrm()->getFileDescriptor()).value_or("");
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
const std::string expectedSerialNumber("0x3e8c9dfe1c2e4d5c");
|
||||
const std::string expectedBoardNumber("1280WTPV001900191280WTPV00190019");
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
|
@ -273,7 +273,7 @@ TEST_F(SysmanGlobalOperationsFixture,
|
|||
return -1;
|
||||
});
|
||||
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
EXPECT_TRUE(0 == unknown.compare(properties.serialNumber));
|
||||
|
@ -330,7 +330,7 @@ TEST_F(SysmanGlobalOperationsFixture,
|
|||
return -1;
|
||||
});
|
||||
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
@ -389,7 +389,7 @@ TEST_F(SysmanGlobalOperationsFixture,
|
|||
return -1;
|
||||
});
|
||||
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
@ -446,7 +446,7 @@ TEST_F(SysmanGlobalOperationsFixture,
|
|||
return -1;
|
||||
});
|
||||
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
@ -475,7 +475,7 @@ TEST_F(SysmanGlobalOperationsFixture,
|
|||
return 0;
|
||||
});
|
||||
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
@ -498,7 +498,7 @@ TEST_F(SysmanGlobalOperationsFixture,
|
|||
return -1;
|
||||
});
|
||||
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
@ -513,7 +513,7 @@ TEST_F(SysmanGlobalOperationsFixture,
|
|||
return -1;
|
||||
});
|
||||
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
@ -523,7 +523,7 @@ TEST_F(SysmanGlobalOperationsFixture,
|
|||
|
||||
TEST_F(SysmanGlobalOperationsFixture,
|
||||
GivenValidDeviceHandleWhenCallingzesDeviceGetPropertiesForCheckingDriverVersionWhenAgmaFileIsAbsentThenVerifyzesDeviceGetPropertiesCallSucceeds) {
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
std::string test;
|
||||
test = srcVersion;
|
||||
pFsAccess->mockReadVal = srcVersion;
|
||||
|
@ -534,7 +534,7 @@ TEST_F(SysmanGlobalOperationsFixture,
|
|||
|
||||
TEST_F(SysmanGlobalOperationsFixture,
|
||||
GivenValidDeviceHandleWhenCallingzesDeviceGetPropertiesForCheckingDriverVersionWhenAgmaFileAndSrcFileIsAbsentThenVerifyzesDeviceGetPropertiesCallSucceeds) {
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
pFsAccess->mockReadError = ZE_RESULT_ERROR_NOT_AVAILABLE;
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
@ -543,7 +543,7 @@ TEST_F(SysmanGlobalOperationsFixture,
|
|||
|
||||
TEST_F(SysmanGlobalOperationsFixture,
|
||||
GivenValidDeviceHandleWhenCallingzesDeviceGetPropertiesForCheckingDriverVersionWhenDriverVersionFileIsNotAvaliableThenVerifyzesDeviceGetPropertiesCallSucceeds) {
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
pFsAccess->mockReadError = ZE_RESULT_ERROR_NOT_AVAILABLE;
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
@ -552,7 +552,7 @@ TEST_F(SysmanGlobalOperationsFixture,
|
|||
|
||||
TEST_F(SysmanGlobalOperationsFixture,
|
||||
GivenValidDeviceHandleWhenCallingzesDeviceGetPropertiesForCheckingDriverVersionWhenDriverVersionFileReadFailsThenVerifyzesDeviceGetPropertiesCallSucceeds) {
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
pFsAccess->mockReadError = ZE_RESULT_ERROR_UNKNOWN;
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
@ -563,7 +563,7 @@ TEST_F(SysmanGlobalOperationsFixture,
|
|||
GivenValidDeviceHandleWhenCallingzesDeviceGetPropertiesForCheckingDevicePropertiesWhenVendorIsUnKnownThenVerifyzesDeviceGetPropertiesCallSucceeds) {
|
||||
pSysfsAccess->mockReadVal[static_cast<int>(MockGlobalOperationsSysfsAccess::Index::MockSubsystemVendor)] = "0xa086";
|
||||
pSysfsAccess->mockReadVal[static_cast<int>(MockGlobalOperationsSysfsAccess::Index::MockVendor)] = "0x1806"; // Unknown Vendor id
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
EXPECT_TRUE(0 == unknown.compare(properties.vendorName));
|
||||
|
@ -572,7 +572,7 @@ TEST_F(SysmanGlobalOperationsFixture,
|
|||
|
||||
TEST_F(SysmanGlobalOperationsFixture,
|
||||
GivenValidDeviceHandleWhenCallingzesDeviceGetPropertiesForCheckingDriverVersionWhenAccessingAgamaFileOrSrcFileGotPermissionDeniedThenVerifyzesDeviceGetPropertiesCallSucceeds) {
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
pFsAccess->mockReadError = ZE_RESULT_ERROR_INSUFFICIENT_PERMISSIONS;
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
@ -955,6 +955,111 @@ TEST_F(SysmanGlobalOperationsIntegratedFixture, GivenProcessStartsMidResetWhenCa
|
|||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
}
|
||||
|
||||
using SysmanDevicePropertiesExtensionTest = SysmanGlobalOperationsFixture;
|
||||
|
||||
TEST_F(SysmanDevicePropertiesExtensionTest,
|
||||
GivenValidDeviceHandleWhenCallingGetPropertiesForExtensionThenDeviceTypeIsGpu) {
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
zes_device_ext_properties_t extProperties = {ZES_STRUCTURE_TYPE_DEVICE_EXT_PROPERTIES};
|
||||
properties.pNext = &extProperties;
|
||||
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
EXPECT_EQ(ZES_DEVICE_TYPE_GPU, extProperties.type);
|
||||
}
|
||||
|
||||
HWTEST2_F(SysmanDevicePropertiesExtensionTest,
|
||||
GivenValidDeviceHandleWhenCallingGetPropertiesForExtensionAndOnDemandPageFaultSupportedThenFlagIsSetCorrectly, IsAtMostGen11) {
|
||||
auto mockHardwareInfo = device->getHardwareInfo();
|
||||
mockHardwareInfo.capabilityTable.supportsOnDemandPageFaults = true;
|
||||
device->getExecutionEnvironment()->rootDeviceEnvironments[device->getRootDeviceIndex()]->setHwInfoAndInitHelpers(&mockHardwareInfo);
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
zes_device_ext_properties_t extProperties = {ZES_STRUCTURE_TYPE_DEVICE_EXT_PROPERTIES};
|
||||
properties.pNext = &extProperties;
|
||||
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
EXPECT_TRUE(extProperties.flags & ZES_DEVICE_PROPERTY_FLAG_ONDEMANDPAGING);
|
||||
EXPECT_TRUE(extProperties.flags & ZES_DEVICE_PROPERTY_FLAG_INTEGRATED);
|
||||
}
|
||||
|
||||
TEST_F(SysmanDevicePropertiesExtensionTest,
|
||||
GivenValidDeviceHandleWhenCallingGetPropertiesForExtensionAndOnDemandPageFaultNotSupportedThenFlagIsNotSet) {
|
||||
auto mockHardwareInfo = device->getHardwareInfo();
|
||||
mockHardwareInfo.capabilityTable.supportsOnDemandPageFaults = false;
|
||||
device->getExecutionEnvironment()->rootDeviceEnvironments[device->getRootDeviceIndex()]->setHwInfoAndInitHelpers(&mockHardwareInfo);
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
zes_device_ext_properties_t extProperties = {ZES_STRUCTURE_TYPE_DEVICE_EXT_PROPERTIES};
|
||||
properties.pNext = &extProperties;
|
||||
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
EXPECT_FALSE(extProperties.flags & ZES_DEVICE_PROPERTY_FLAG_ONDEMANDPAGING);
|
||||
}
|
||||
|
||||
HWTEST2_F(SysmanDevicePropertiesExtensionTest,
|
||||
GivenValidDeviceHandleWhenCallingGetPropertiesForExtensionAndIsIntegratedDeviceThenFlagIsSet, IsAtMostGen11) {
|
||||
auto mockHardwareInfo = device->getHardwareInfo();
|
||||
mockHardwareInfo.capabilityTable.isIntegratedDevice = true;
|
||||
device->getExecutionEnvironment()->rootDeviceEnvironments[device->getRootDeviceIndex()]->setHwInfoAndInitHelpers(&mockHardwareInfo);
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
zes_device_ext_properties_t extProperties = {ZES_STRUCTURE_TYPE_DEVICE_EXT_PROPERTIES};
|
||||
properties.pNext = &extProperties;
|
||||
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
EXPECT_TRUE(extProperties.flags & ZES_DEVICE_PROPERTY_FLAG_INTEGRATED);
|
||||
}
|
||||
|
||||
HWTEST2_F(SysmanDevicePropertiesExtensionTest,
|
||||
GivenValidDeviceHandleWhenCallingGetPropertiesForExtensionAndIsNotIntegratedDeviceThenFlagIsNotSet, IsXeHpgCore) {
|
||||
auto mockHardwareInfo = device->getHardwareInfo();
|
||||
mockHardwareInfo.capabilityTable.isIntegratedDevice = false;
|
||||
device->getExecutionEnvironment()->rootDeviceEnvironments[device->getRootDeviceIndex()]->setHwInfoAndInitHelpers(&mockHardwareInfo);
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
zes_device_ext_properties_t extProperties = {ZES_STRUCTURE_TYPE_DEVICE_EXT_PROPERTIES};
|
||||
properties.pNext = &extProperties;
|
||||
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
EXPECT_FALSE(extProperties.flags & ZES_DEVICE_PROPERTY_FLAG_INTEGRATED);
|
||||
}
|
||||
|
||||
HWTEST2_F(SysmanDevicePropertiesExtensionTest,
|
||||
GivenValidDeviceHandleWhenCallingGetPropertiesForExtensionAndIsNotSubDeviceThenFlagIsNotSet, IsAtMostGen11) {
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
zes_device_ext_properties_t extProperties = {ZES_STRUCTURE_TYPE_DEVICE_EXT_PROPERTIES};
|
||||
properties.pNext = &extProperties;
|
||||
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
EXPECT_TRUE(extProperties.flags & ZES_DEVICE_PROPERTY_FLAG_INTEGRATED);
|
||||
}
|
||||
|
||||
TEST_F(SysmanDevicePropertiesExtensionTest,
|
||||
GivenValidDeviceHandleWhenCallingGetPropertiesWithIncorrectStypeThenExtensionPropertiesNotSet) {
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
zes_device_ext_properties_t extProperties = {ZES_STRUCTURE_TYPE_ENGINE_EXT_PROPERTIES};
|
||||
properties.pNext = &extProperties;
|
||||
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
EXPECT_EQ(0u, extProperties.flags);
|
||||
}
|
||||
|
||||
using SysmanDevicePropertiesExtensionTestMultiDevice = SysmanMultiDeviceFixture;
|
||||
|
||||
HWTEST2_F(SysmanDevicePropertiesExtensionTestMultiDevice,
|
||||
GivenValidDeviceHandleWhenCallingGetPropertiesForExtensionThenSubDeviceFlagSetCorrectly, IsXeHpcCore) {
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
zes_device_ext_properties_t extProperties = {ZES_STRUCTURE_TYPE_DEVICE_EXT_PROPERTIES};
|
||||
properties.pNext = &extProperties;
|
||||
|
||||
ze_result_t result = zesDeviceGetProperties(pSysmanDevice, &properties);
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
EXPECT_FALSE(extProperties.flags & ZES_DEVICE_PROPERTY_FLAG_INTEGRATED);
|
||||
}
|
||||
|
||||
TEST_F(SysmanDeviceFixture, GivenValidDeviceHandleWhenCallingDeviceGetStateThenSuccessResultIsReturned) {
|
||||
|
||||
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
|
||||
|
|
|
@ -510,7 +510,8 @@ TEST_F(SysmanGlobalOperationsFixture, GivenValidDeviceHandleAndOpenSysCallFailsW
|
|||
auto pOriginalDrm = pLinuxSysmanImp->pDrm;
|
||||
pLinuxSysmanImp->pDrm = pDrmMock.get();
|
||||
|
||||
zes_device_properties_t properties;
|
||||
zes_device_properties_t properties = {ZES_STRUCTURE_TYPE_DEVICE_PROPERTIES};
|
||||
properties.pNext = nullptr;
|
||||
ze_result_t result = zesDeviceGetProperties(device, &properties);
|
||||
|
||||
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
|
||||
|
|
Loading…
Reference in New Issue