From d5e596c9754745a757a7ca0a13595f06caea0a8f Mon Sep 17 00:00:00 2001 From: Jatin Chaudhary Date: Mon, 27 Nov 2023 15:01:57 +0000 Subject: [PATCH] SWDEV-434226 - populate correct output in mempool supported handle type query Change-Id: Iabbf9c0b54d9978671e3492f13660917499a03fa --- hipamd/src/hip_device.cpp | 11 ++++++++++- hipamd/src/hip_device_runtime.cpp | 3 +++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/hipamd/src/hip_device.cpp b/hipamd/src/hip_device.cpp index 9344dc7cff..1e159038d4 100644 --- a/hipamd/src/hip_device.cpp +++ b/hipamd/src/hip_device.cpp @@ -402,7 +402,16 @@ hipError_t ihipGetDeviceProperties(hipDeviceProp_tR0600* props, int device) { // Mem pool deviceProps.memoryPoolsSupported = HIP_MEM_POOL_SUPPORT; - deviceProps.memoryPoolSupportedHandleTypes = 0; + unsigned int memPoolHandleType = 0; + if (HIP_MEM_POOL_SUPPORT) { +#if defined(__linux__) + memPoolHandleType |= hipMemHandleTypePosixFileDescriptor; +#elif defined(_WIN32) + memPoolHandleType |= hipMemHandleTypeWin32; + memPoolHandleType |= hipMemHandleTypeWin32Kmt; +#endif + } + deviceProps.memoryPoolSupportedHandleTypes = memPoolHandleType; // Caching behavior deviceProps.globalL1CacheSupported = 1; diff --git a/hipamd/src/hip_device_runtime.cpp b/hipamd/src/hip_device_runtime.cpp index 91567d9323..422e95e590 100644 --- a/hipamd/src/hip_device_runtime.cpp +++ b/hipamd/src/hip_device_runtime.cpp @@ -440,6 +440,9 @@ hipError_t hipDeviceGetAttribute(int* pi, hipDeviceAttribute_t attr, int device) case hipDeviceAttributeMemoryPoolsSupported: *pi = HIP_MEM_POOL_SUPPORT; break; + case hipDeviceAttributeMemoryPoolSupportedHandleTypes: + *pi = prop.memoryPoolSupportedHandleTypes; + break; case hipDeviceAttributeVirtualMemoryManagementSupported: *pi = static_cast(g_devices[device]->devices()[0]->info().virtualMemoryManagement_); break;