From 2e8acab3819e5c4f18b2f87b3ca4e848b032a628 Mon Sep 17 00:00:00 2001 From: taosang2 Date: Thu, 10 Aug 2023 11:49:48 -0400 Subject: [PATCH] SWDEV-299127 - Support External Mipmap Support hipExternalMemoryGetMappedMipmappedArray(). Add ImageExternalBuffer to differiate ImageBuffer. Currently we only support tiling_optimal mode as vulkan driver doesn't provide tiling information. Change-Id: I7e3524cdde53e4df9f728894bcebf4bd3f58d4d9 --- hipnv/include/hip/nvidia_detail/nvidia_hip_runtime_api.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hipnv/include/hip/nvidia_detail/nvidia_hip_runtime_api.h b/hipnv/include/hip/nvidia_detail/nvidia_hip_runtime_api.h index 11c4d03862..c340cb0b01 100644 --- a/hipnv/include/hip/nvidia_detail/nvidia_hip_runtime_api.h +++ b/hipnv/include/hip/nvidia_detail/nvidia_hip_runtime_api.h @@ -1284,6 +1284,7 @@ typedef enum cudaExternalMemoryHandleType hipExternalMemoryHandleType; typedef struct cudaExternalMemoryHandleDesc hipExternalMemoryHandleDesc; typedef struct cudaExternalMemoryBufferDesc hipExternalMemoryBufferDesc; typedef cudaExternalMemory_t hipExternalMemory_t; +typedef cudaExternalMemoryMipmappedArrayDesc hipExternalMemoryMipmappedArrayDesc; typedef enum cudaExternalSemaphoreHandleType hipExternalSemaphoreHandleType; #define hipExternalSemaphoreHandleTypeOpaqueFd cudaExternalSemaphoreHandleTypeOpaqueFd @@ -2944,6 +2945,14 @@ inline static hipError_t hipExternalMemoryGetMappedBuffer(void **devPtr, hipExte return hipCUDAErrorTohipError(cudaExternalMemoryGetMappedBuffer(devPtr, extMem, (const struct cudaExternalMemoryBufferDesc*)bufferDesc)); } +inline static hipError_t hipExternalMemoryGetMappedMipmappedArray( + hipMipmappedArray_t* mipmap, hipExternalMemory_t extMem, + const hipExternalMemoryMipmappedArrayDesc* mipmapDesc) { + return hipCUDAErrorTohipError(cudaExternalMemoryGetMappedMipmappedArray( + (cudaMipmappedArray_t*)mipmap, (cudaExternalMemory_t)extMem, + (const struct cudaExternalMemoryMipmappedArrayDesc*)mipmapDesc)); +} + inline static hipError_t hipDestroyExternalMemory(hipExternalMemory_t extMem) { return hipCUDAErrorTohipError(cudaDestroyExternalMemory(extMem)); }