mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-25 05:24:02 +08:00
fix(ocl): add support for deprecated value of CL_MEM_DEVICE_ID_INTEL
Resolves: NEO-10184, NEO-10195, NEO-10196 Resolves: NEO-10200, NEO-10205, NEO-10207 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
58eaece6c9
commit
d2c6283879
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2023 Intel Corporation
|
||||
* Copyright (C) 2018-2024 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -292,6 +292,45 @@ TEST(MemObjHelperMultiTile, givenOneSubDeviceSelectedWhenParsingMemoryProperties
|
||||
EXPECT_FALSE(parseMemoryProperties(deviceFactory.subDevices[1], tile0Context));
|
||||
EXPECT_FALSE(parseMemoryProperties(deviceFactory.subDevices[1], rootContext));
|
||||
}
|
||||
TEST(MemObjHelperMultiTile, givenOneSubDeviceSelectedWithDeprecatedFlagWhenParsingMemoryPropertiesThenTrueIsReturnedForValidContexts) {
|
||||
UltClDeviceFactory deviceFactory{1, 4};
|
||||
|
||||
cl_device_id rootDeviceId = deviceFactory.rootDevices[0];
|
||||
MockContext rootContext(ClDeviceVector{&rootDeviceId, 1});
|
||||
|
||||
cl_device_id tile0Id = deviceFactory.subDevices[0];
|
||||
MockContext tile0Context(ClDeviceVector{&tile0Id, 1});
|
||||
|
||||
cl_device_id tile1Id = deviceFactory.subDevices[1];
|
||||
MockContext tile1Context(ClDeviceVector{&tile1Id, 1});
|
||||
|
||||
cl_device_id allDevices[] = {deviceFactory.rootDevices[0], deviceFactory.subDevices[0], deviceFactory.subDevices[1],
|
||||
deviceFactory.subDevices[2], deviceFactory.subDevices[3]};
|
||||
MockContext multiTileContext(ClDeviceVector{allDevices, 5});
|
||||
|
||||
EXPECT_EQ(deviceFactory.rootDevices[0]->getDeviceBitfield(), multiTileContext.getDevice(0)->getDeviceBitfield());
|
||||
|
||||
auto parseMemoryProperties = [](ClDevice *pClDevice, Context &context) -> bool {
|
||||
cl_mem_flags flags = 0;
|
||||
cl_mem_flags_intel flagsIntel = 0;
|
||||
cl_mem_alloc_flags_intel allocFlagsIntel = 0;
|
||||
MemoryProperties memoryProperties{0};
|
||||
auto deviceIdProperty = reinterpret_cast<cl_mem_properties_intel>(static_cast<cl_device_id>(pClDevice));
|
||||
cl_mem_properties_intel properties[] = {CL_MEM_DEVICE_ID_INTEL_DEPRECATED, deviceIdProperty, 0};
|
||||
return ClMemoryPropertiesHelper::parseMemoryProperties(properties, memoryProperties, flags, flagsIntel, allocFlagsIntel,
|
||||
ClMemoryPropertiesHelper::ObjType::buffer, context);
|
||||
};
|
||||
|
||||
EXPECT_TRUE(parseMemoryProperties(deviceFactory.subDevices[0], multiTileContext));
|
||||
EXPECT_TRUE(parseMemoryProperties(deviceFactory.subDevices[0], tile0Context));
|
||||
EXPECT_FALSE(parseMemoryProperties(deviceFactory.subDevices[0], tile1Context));
|
||||
EXPECT_FALSE(parseMemoryProperties(deviceFactory.subDevices[0], rootContext));
|
||||
|
||||
EXPECT_TRUE(parseMemoryProperties(deviceFactory.subDevices[1], multiTileContext));
|
||||
EXPECT_TRUE(parseMemoryProperties(deviceFactory.subDevices[1], tile1Context));
|
||||
EXPECT_FALSE(parseMemoryProperties(deviceFactory.subDevices[1], tile0Context));
|
||||
EXPECT_FALSE(parseMemoryProperties(deviceFactory.subDevices[1], rootContext));
|
||||
}
|
||||
|
||||
TEST(MemObjHelper, givenInvalidFlagsWhenValidatingExtraPropertiesThenFalseIsReturned) {
|
||||
MemoryProperties memoryProperties;
|
||||
|
||||
Reference in New Issue
Block a user