mirror of
https://github.com/intel/compute-runtime.git
synced 2025-11-10 05:49:51 +08:00
OpenCL Queue Families extension 9/n
Disable capabilities for BCS Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com> Related-To: NEO-5120
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
510ba83e1e
commit
60cb486086
@@ -226,6 +226,11 @@ cl_command_queue_capabilities_intel ClDevice::getQueueFamilyCapabilities(EngineG
|
||||
cl_command_queue_capabilities_intel disabledProperties = 0u;
|
||||
if (hwHelper.isCopyOnlyEngineType(type)) {
|
||||
disabledProperties |= static_cast<cl_command_queue_capabilities_intel>(CL_QUEUE_CAPABILITY_KERNEL_INTEL);
|
||||
disabledProperties |= static_cast<cl_command_queue_capabilities_intel>(CL_QUEUE_CAPABILITY_FILL_BUFFER_INTEL); // clEnqueueFillBuffer
|
||||
disabledProperties |= static_cast<cl_command_queue_capabilities_intel>(CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_INTEL); // clEnqueueCopyImage
|
||||
disabledProperties |= static_cast<cl_command_queue_capabilities_intel>(CL_QUEUE_CAPABILITY_FILL_IMAGE_INTEL); // clEnqueueFillImage
|
||||
disabledProperties |= static_cast<cl_command_queue_capabilities_intel>(CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_IMAGE_INTEL); // clEnqueueCopyBufferToImage
|
||||
disabledProperties |= static_cast<cl_command_queue_capabilities_intel>(CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_BUFFER_INTEL); // clEnqueueCopyImageToBuffer
|
||||
}
|
||||
|
||||
if (disabledProperties != 0) {
|
||||
|
||||
@@ -486,13 +486,21 @@ TEST(DeviceGenEngineTest, whenGettingQueueFamilyCapabilitiesAllThenReturnCorrect
|
||||
EXPECT_EQ(expectedProperties, MockClDevice::getQueueFamilyCapabilitiesAll());
|
||||
}
|
||||
|
||||
TEST(DeviceGenEngineTest, givenCopyQueueWhenGettingQueueFamilyCapabilitiesThenDoNotReturnKernel) {
|
||||
const auto propertiesAll = MockClDevice::getQueueFamilyCapabilitiesAll();
|
||||
const auto propertiesWithoutKernel = setBits(propertiesAll, false, CL_QUEUE_CAPABILITY_KERNEL_INTEL);
|
||||
|
||||
TEST(DeviceGenEngineTest, givenComputeQueueWhenGettingQueueFamilyCapabilitiesThenDoNotReturnKernel) {
|
||||
auto device = std::make_unique<MockClDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(defaultHwInfo.get()));
|
||||
|
||||
EXPECT_EQ(CL_QUEUE_DEFAULT_CAPABILITIES_INTEL, device->getQueueFamilyCapabilities(NEO::EngineGroupType::Compute));
|
||||
EXPECT_EQ(CL_QUEUE_DEFAULT_CAPABILITIES_INTEL, device->getQueueFamilyCapabilities(NEO::EngineGroupType::RenderCompute));
|
||||
EXPECT_EQ(propertiesWithoutKernel, device->getQueueFamilyCapabilities(NEO::EngineGroupType::Copy));
|
||||
}
|
||||
|
||||
TEST(DeviceGenEngineTest, givenCopyQueueWhenGettingQueueFamilyCapabilitiesThenDoNotReturnKernel) {
|
||||
const cl_command_queue_capabilities_intel capabilitiesNotSupportedOnBlitter = CL_QUEUE_CAPABILITY_KERNEL_INTEL |
|
||||
CL_QUEUE_CAPABILITY_FILL_BUFFER_INTEL |
|
||||
CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_INTEL |
|
||||
CL_QUEUE_CAPABILITY_FILL_IMAGE_INTEL |
|
||||
CL_QUEUE_CAPABILITY_TRANSFER_BUFFER_IMAGE_INTEL |
|
||||
CL_QUEUE_CAPABILITY_TRANSFER_IMAGE_BUFFER_INTEL;
|
||||
const cl_command_queue_capabilities_intel expectedBlitterCapabilities = setBits(MockClDevice::getQueueFamilyCapabilitiesAll(), false, capabilitiesNotSupportedOnBlitter);
|
||||
|
||||
auto device = std::make_unique<MockClDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(defaultHwInfo.get()));
|
||||
EXPECT_EQ(expectedBlitterCapabilities, device->getQueueFamilyCapabilities(NEO::EngineGroupType::Copy));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user