From 5784f8cffe546aacb57be471b16005cde99d7604 Mon Sep 17 00:00:00 2001 From: Aryan Salmanpour Date: Wed, 10 Dec 2025 14:51:43 -0800 Subject: [PATCH] TheRock compatibility - Devicelib Support (#684) * TheRock compatibility - Devicelib Support * clean up --- CMakeLists.txt | 16 +++++++--------- samples/videoDecodeRGB/CMakeLists.txt | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f79d1c945..8eae8014b3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,13 @@ elseif(ROCM_PATH) else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() + +# Check if lib/rocm_sysdeps/lib exists in the ROCm path which indicates ROCm installation via TheRock +set(USING_THE_ROCK OFF) +if(EXISTS "${ROCM_PATH}/lib/rocm_sysdeps/lib") + set(USING_THE_ROCK ON) +endif() + # Set AMD Clang as default compiler set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED On) @@ -111,15 +118,6 @@ find_package(HIP QUIET) find_package(Libva QUIET) find_package(Libdrm_amdgpu QUIET) -# Check if lib/rocm_sysdeps/lib exists in the libdrm_amdgpu library path which indicates ROCm installation via TheRock -set(USING_THE_ROCK OFF) -if(LIBDRM_AMDGPU_LIBRARY) - string(FIND "${LIBDRM_AMDGPU_LIBRARY}" "lib/rocm_sysdeps/lib" ROCM_SYSDEPS_FOUND) - if(NOT ROCM_SYSDEPS_FOUND EQUAL -1) - set(USING_THE_ROCK ON) - endif() -endif() - # Find Ubuntu 22.04 file(READ "/etc/os-release" OS_RELEASE) string(REGEX MATCH "22.04" UBUNTU_22_FOUND ${OS_RELEASE}) diff --git a/samples/videoDecodeRGB/CMakeLists.txt b/samples/videoDecodeRGB/CMakeLists.txt index 0e5785fe54..df1cb4ee7a 100644 --- a/samples/videoDecodeRGB/CMakeLists.txt +++ b/samples/videoDecodeRGB/CMakeLists.txt @@ -30,6 +30,20 @@ elseif(ROCM_PATH) else() set(ROCM_PATH /opt/rocm CACHE PATH "Default ROCm installation path") endif() + +# Check if lib/rocm_sysdeps/lib exists in the ROCm path which indicates ROCm installation via TheRock +set(USING_THE_ROCK OFF) +if(EXISTS "${ROCM_PATH}/lib/rocm_sysdeps/lib") + set(USING_THE_ROCK ON) +endif() + +if(USING_THE_ROCK) + if(NOT DEFINED ENV{HIP_DEVICE_LIB_PATH}) + set(ENV{HIP_DEVICE_LIB_PATH} ${ROCM_PATH}/lib/llvm/amdgcn/bitcode) + set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "HIP_DEVICE_LIB_PATH=${ROCM_PATH}/lib/llvm/amdgcn/bitcode") + endif() +endif() + # Set AMD Clang as default compiler set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED On)