feature: add support for cl_khr_external_memory extension

Related-To: NEO-7069
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
This commit is contained in:
Warchulski, Jaroslaw
2023-05-02 13:46:25 +00:00
committed by Compute-Runtime-Automation
parent 769a9e515e
commit 7fdf4985a3
13 changed files with 83 additions and 2 deletions

View File

@@ -94,6 +94,7 @@ cl_int ClDevice::getDeviceInfo(cl_device_info paramName,
case CL_DEVICE_ERROR_CORRECTION_SUPPORT: getCap<CL_DEVICE_ERROR_CORRECTION_SUPPORT >(src, srcSize, retSize); break;
case CL_DEVICE_EXECUTION_CAPABILITIES: getCap<CL_DEVICE_EXECUTION_CAPABILITIES >(src, srcSize, retSize); break;
case CL_DEVICE_EXTENSIONS: getStr<CL_DEVICE_EXTENSIONS >(src, srcSize, retSize); break;
case CL_DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES_KHR: getCap<CL_DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES_KHR >(src, srcSize, retSize); break;
case CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT: getCap<CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT >(src, srcSize, retSize); break;
case CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE: getCap<CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE >(src, srcSize, retSize); break;
case CL_DEVICE_GLOBAL_MEM_CACHE_SIZE: getCap<CL_DEVICE_GLOBAL_MEM_CACHE_SIZE >(src, srcSize, retSize); break;

View File

@@ -135,6 +135,7 @@ struct ClDeviceInfo {
bool vmeExtension;
bool platformLP;
bool packedYuvExtension;
cl_uint externalMemorySharing;
/*Unified Shared Memory Capabilites*/
cl_unified_shared_memory_capabilities_intel hostMemCapabilities;
cl_unified_shared_memory_capabilities_intel deviceMemCapabilities;

View File

@@ -93,6 +93,7 @@ template<> struct Map<CL_DEVICE_DRIVER_VERSION_INTEL > :
template<> struct Map<CL_DEVICE_ENDIAN_LITTLE > : public ClMapBase<CL_DEVICE_ENDIAN_LITTLE, uint32_t, &ClDeviceInfo::endianLittle> {};
template<> struct Map<CL_DEVICE_EXECUTION_CAPABILITIES > : public ClMapBase<CL_DEVICE_EXECUTION_CAPABILITIES, uint64_t, &ClDeviceInfo::executionCapabilities> {};
template<> struct Map<CL_DEVICE_EXTENSIONS > : public ClMapBase<CL_DEVICE_EXTENSIONS, const char *, &ClDeviceInfo::deviceExtensions> {};
template<> struct Map<CL_DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES_KHR > : public ClMapBase<CL_DEVICE_EXTERNAL_MEMORY_IMPORT_HANDLE_TYPES_KHR, uint32_t, &ClDeviceInfo::externalMemorySharing> {};
template<> struct Map<CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT > : public ClMapBase<CL_DEVICE_GENERIC_ADDRESS_SPACE_SUPPORT, uint32_t, &ClDeviceInfo::genericAddressSpaceSupport> {};
template<> struct Map<CL_DEVICE_GLOBAL_MEM_CACHE_SIZE > : public ClMapBase<CL_DEVICE_GLOBAL_MEM_CACHE_SIZE, uint64_t, &ClDeviceInfo::globalMemCacheSize> {};
template<> struct Map<CL_DEVICE_GLOBAL_MEM_CACHE_TYPE > : public ClMapBase<CL_DEVICE_GLOBAL_MEM_CACHE_TYPE, uint32_t, &ClDeviceInfo::globalMemCacheType> {};