OpenCL Queue Families extension 2/n

Disable CL_QUEUE_CAPABILITY_KERNEL_INTEL capability for copy queues

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
This commit is contained in:
Maciej Dziuban
2020-11-24 14:49:04 +00:00
committed by Compute-Runtime-Automation
parent 438ad860ab
commit 2184ba7ec8
7 changed files with 88 additions and 3 deletions

View File

@@ -466,3 +466,30 @@ TEST(DeviceGenEngineTest, givenEmptyGroupsWhenGettingNonEmptyGroupsThenReturnCor
EXPECT_EQ(&engineGroups[3], device->getNonEmptyEngineGroup(1));
EXPECT_EQ(nullptr, device->getNonEmptyEngineGroup(2));
}
TEST(DeviceGenEngineTest, whenGettingQueueFamilyCapabilitiesAllThenReturnCorrectValue) {
const cl_command_queue_capabilities_intel expectedProperties = CL_QUEUE_CAPABILITY_EVENT_WAIT_LIST_INTEL |
CL_QUEUE_CAPABILITY_EVENTS_INTEL |
CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_INTEL |
CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_RECT_INTEL |
CL_QUEUE_CAPABILITY_MAP_BUFFER_INTEL |
CL_QUEUE_CAPABILITY_FILL_BUFFER_INTEL |
CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_INTEL |
CL_QUEUE_CAPABILITY_MAP_IMAGE_INTEL |
CL_QUEUE_CAPABILITY_FILL_IMAGE_INTEL |
CL_QUEUE_CAPABILITY_MARKER_INTEL |
CL_QUEUE_CAPABILITY_BARRIER_INTEL |
CL_QUEUE_CAPABILITY_KERNEL_INTEL;
EXPECT_EQ(expectedProperties, MockClDevice::getQueueFamilyCapabilitiesAll());
}
TEST(DeviceGenEngineTest, givenCopyQueueWhenGettingQueueFamilyCapabilitiesThenDoNotReturnKernel) {
const auto propertiesAll = MockClDevice::getQueueFamilyCapabilitiesAll();
const auto propertiesWithoutKernel = setBits(propertiesAll, false, CL_QUEUE_CAPABILITY_KERNEL_INTEL);
auto device = std::make_unique<MockClDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(defaultHwInfo.get()));
EXPECT_EQ(CL_QUEUE_CAPABILITY_ALL_INTEL, device->getQueueFamilyCapabilities(NEO::EngineGroupType::Compute));
EXPECT_EQ(CL_QUEUE_CAPABILITY_ALL_INTEL, device->getQueueFamilyCapabilities(NEO::EngineGroupType::RenderCompute));
EXPECT_EQ(propertiesWithoutKernel, device->getQueueFamilyCapabilities(NEO::EngineGroupType::Copy));
}