refactor: Add method for retrieving extra device info

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
This commit is contained in:
Kacper Nowak
2024-02-14 15:08:37 +00:00
committed by Compute-Runtime-Automation
parent a22b9f454d
commit cccd9a3703
10 changed files with 51 additions and 3 deletions

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2020-2021 Intel Corporation
# Copyright (C) 2020-2024 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
@@ -14,6 +14,7 @@ set(RUNTIME_SRCS_CL_DEVICE
${CMAKE_CURRENT_SOURCE_DIR}/cl_device_info.h
${CMAKE_CURRENT_SOURCE_DIR}/cl_device_info_map.h
${CMAKE_CURRENT_SOURCE_DIR}/cl_device_vector.h
${CMAKE_CURRENT_SOURCE_DIR}${BRANCH_DIR_SUFFIX}cl_device_info_extra.cpp
)
target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${RUNTIME_SRCS_CL_DEVICE})
set_property(GLOBAL PROPERTY RUNTIME_SRCS_CL_DEVICE ${RUNTIME_SRCS_CL_DEVICE})

View File

@@ -101,6 +101,11 @@ class ClDevice : public BaseObject<_cl_device_id> {
const void *&src,
size_t &srcSize,
size_t &retSize);
bool getDeviceInfoExtra(cl_device_info paramName,
ClDeviceInfoParam &param,
const void *&src,
size_t &srcSize,
size_t &retSize);
// This helper template is meant to simplify getDeviceInfo
template <cl_device_info param>

View File

@@ -357,10 +357,14 @@ cl_int ClDevice::getDeviceInfo(cl_device_info paramName,
retSize = srcSize = (getSharedDeviceInfo().threadsPerEUConfigs.size() * sizeof(uint32_t));
break;
default:
if (getDeviceInfoForImage(paramName, src, srcSize, retSize) && !getSharedDeviceInfo().imageSupport) {
src = &value;
if (getDeviceInfoForImage(paramName, src, srcSize, retSize)) {
if (false == getSharedDeviceInfo().imageSupport) {
src = &value;
}
} else if (getDeviceInfoExtra(paramName, param, src, srcSize, retSize)) {
break;
}
break;
}
auto getInfoStatus = GetInfo::getInfo(paramValue, paramValueSize, src, srcSize);

View File

@@ -0,0 +1,19 @@
/*
* Copyright (C) 2024 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "opencl/source/cl_device/cl_device.h"
#include "opencl/source/cl_device/cl_device_info.h"
namespace NEO {
bool ClDevice::getDeviceInfoExtra(cl_device_info paramName,
ClDeviceInfoParam &param,
const void *&src,
size_t &srcSize,
size_t &retSize) {
return false;
}
}; // namespace NEO