Correct sub device related device info queries

When querying CL_DEVICE_PARTITION_PROPERTIES and
CL_DEVICE_PARTITION_TYPE correct value size is returned.

Related-To: NEO-4368

Change-Id: Ic0d9949dbd9c83de40a065da7c0e420b27120914
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
This commit is contained in:
Filip Hazubski
2020-05-18 11:54:31 +02:00
committed by sys_ocldev
parent 3c288df339
commit 94bff3fe42
3 changed files with 53 additions and 23 deletions

View File

@@ -128,8 +128,6 @@ cl_int ClDevice::getDeviceInfo(cl_device_info paramName,
case CL_DEVICE_PARENT_DEVICE: getCap<CL_DEVICE_PARENT_DEVICE >(src, srcSize, retSize); break;
case CL_DEVICE_PARTITION_AFFINITY_DOMAIN: getCap<CL_DEVICE_PARTITION_AFFINITY_DOMAIN >(src, srcSize, retSize); break;
case CL_DEVICE_PARTITION_MAX_SUB_DEVICES: getCap<CL_DEVICE_PARTITION_MAX_SUB_DEVICES >(src, srcSize, retSize); break;
case CL_DEVICE_PARTITION_PROPERTIES: getCap<CL_DEVICE_PARTITION_PROPERTIES >(src, srcSize, retSize); break;
case CL_DEVICE_PARTITION_TYPE: getCap<CL_DEVICE_PARTITION_TYPE >(src, srcSize, retSize); break;
case CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS: getCap<CL_DEVICE_PIPE_MAX_ACTIVE_RESERVATIONS >(src, srcSize, retSize); break;
case CL_DEVICE_PIPE_MAX_PACKET_SIZE: getCap<CL_DEVICE_PIPE_MAX_PACKET_SIZE >(src, srcSize, retSize); break;
case CL_DEVICE_PLATFORM: getCap<CL_DEVICE_PLATFORM >(src, srcSize, retSize); break;
@@ -185,6 +183,18 @@ cl_int ClDevice::getDeviceInfo(cl_device_info paramName,
retSize = srcSize = sizeof(param);
break;
}
case CL_DEVICE_PARTITION_PROPERTIES:
getCap<CL_DEVICE_PARTITION_PROPERTIES>(src, srcSize, retSize);
if (deviceInfo.partitionProperties[0] == 0) {
retSize = srcSize = sizeof(deviceInfo.partitionProperties[0]);
}
break;
case CL_DEVICE_PARTITION_TYPE:
getCap<CL_DEVICE_PARTITION_TYPE>(src, srcSize, retSize);
if (deviceInfo.partitionType[0] == 0) {
retSize = srcSize = sizeof(deviceInfo.partitionType[0]);
}
break;
default:
if (getDeviceInfoForImage(paramName, src, srcSize, retSize) && !getSharedDeviceInfo().imageSupport) {
src = &value;