commit:     23aacd8804c7b410807aa0ec347b774911a1e8bd
Author:     Sv. Lockal <lockalsash <AT> gmail <DOT> com>
AuthorDate: Mon Jun 23 21:59:58 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Oct 29 04:38:17 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23aacd88

media-gfx/blender: add support of dev-libs/hiprt ray tracing library

Signed-off-by: Sv. Lockal <lockalsash <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/42717
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-gfx/blender/blender-4.4.3.ebuild | 23 +++++++++++++++++++++--
 media-gfx/blender/blender-9999.ebuild  | 23 +++++++++++++++++++++--
 media-gfx/blender/metadata.xml         |  3 +++
 3 files changed, 45 insertions(+), 4 deletions(-)

diff --git a/media-gfx/blender/blender-4.4.3.ebuild 
b/media-gfx/blender/blender-4.4.3.ebuild
index b2666c272501..2aa00bcbadbb 100644
--- a/media-gfx/blender/blender-4.4.3.ebuild
+++ b/media-gfx/blender/blender-4.4.3.ebuild
@@ -26,7 +26,7 @@ LLVM_OPTIONAL=1
 ROCM_SKIP_GLOBALS=1
 
 inherit cuda rocm llvm-r1
-inherit eapi9-pipestatus check-reqs flag-o-matic pax-utils python-single-r1 
toolchain-funcs virtualx
+inherit eapi9-pipestatus check-reqs flag-o-matic multiprocessing pax-utils 
python-single-r1 toolchain-funcs virtualx
 inherit cmake xdg-utils
 
 DESCRIPTION="3D Creation/Animation/Publishing System"
@@ -66,7 +66,7 @@ SLOT="${BLENDER_BRANCH}"
 # potentially mirror cpu_flags_x86 + REQUIRED_USE
 IUSE="
        alembic +bullet collada +color-management cuda +cycles 
+cycles-bin-kernels
-       debug doc +embree +ffmpeg +fftw +fluid +gmp gnome hip jack
+       debug doc +embree +ffmpeg +fftw +fluid +gmp gnome hip hiprt jack
        jemalloc jpeg2k man +nanovdb ndof nls +oidn openal +openexr +opengl 
+openmp +openpgl
        +opensubdiv +openvdb optix osl pipewire +pdf +potrace +pugixml 
pulseaudio
        renderdoc sdl +sndfile +tbb test +tiff +truetype valgrind vulkan 
wayland +webp X
@@ -86,6 +86,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
        fluid? ( tbb )
        gnome? ( wayland )
        hip? ( cycles )
+       hiprt? ( hip )
        nanovdb? ( openvdb )
        openvdb? ( tbb openexr )
        optix? ( cuda )
@@ -132,6 +133,9 @@ RDEPEND="${PYTHON_DEPS}
        gnome? ( gui-libs/libdecor )
        hip? (
                >=dev-util/hip-5.7:=
+               hiprt? (
+                       dev-libs/hiprt:2.5=
+               )
        )
        jack? ( virtual/jack )
        jemalloc? ( dev-libs/jemalloc:= )
@@ -381,6 +385,11 @@ src_prepare() {
        fi
 
        rm -rf extern/gflags || die
+
+       # Use slotted libhiprt64
+       sed \
+               -e 
"s|\"libhiprt64.so\"|\"/usr/lib/hiprt/2.5/$(get_libdir)/libhiprt64.so\"|" \
+               -i extern/hipew/src/hiprtew.cc || die
 }
 
 src_configure() {
@@ -519,6 +528,8 @@ src_configure() {
 
                -DWITH_CYCLES_DEVICE_HIP="$(usex hip)"
                -DWITH_CYCLES_HIP_BINARIES="$(usex hip "$(usex 
cycles-bin-kernels)")"
+               -DWITH_CYCLES_DEVICE_HIPRT="$(usex hip "$(usex hiprt)")"
+
                -DWITH_CYCLES_HYDRA_RENDER_DELEGATE="no" # TODO: package Hydra
 
                # -DWITH_CYCLES_STANDALONE=OFF
@@ -570,6 +581,13 @@ src_configure() {
 
                        -DCYCLES_HIP_BINARIES_ARCH="$(get_amdgpu_flags)"
                )
+
+               if use hiprt; then
+                       mycmakeargs+=(
+                               -DHIPRT_ROOT_DIR="${ESYSROOT}/usr/lib/hiprt/2.5"
+                               
-DHIPRT_COMPILER_PARALLEL_JOBS="$(makeopts_jobs)"
+                       )
+               fi
        fi
 
        if use optix; then
@@ -612,6 +630,7 @@ src_configure() {
                        use cuda && CYCLES_TEST_DEVICES+=( "CUDA" )
                        use optix && CYCLES_TEST_DEVICES+=( "OPTIX" )
                        use hip && CYCLES_TEST_DEVICES+=( "HIP" )
+                       use hiprt && CYCLES_TEST_DEVICES+=( "HIP-RT" )
                fi
                mycmakeargs+=(
                        -DCMAKE_INSTALL_PREFIX_WITH_CONFIG="${T}/usr"

diff --git a/media-gfx/blender/blender-9999.ebuild 
b/media-gfx/blender/blender-9999.ebuild
index e2109c3f2239..392d4ab33f74 100644
--- a/media-gfx/blender/blender-9999.ebuild
+++ b/media-gfx/blender/blender-9999.ebuild
@@ -26,7 +26,7 @@ LLVM_OPTIONAL=1
 ROCM_SKIP_GLOBALS=1
 
 inherit cuda rocm llvm-r1
-inherit eapi9-pipestatus check-reqs flag-o-matic pax-utils python-single-r1 
toolchain-funcs virtualx
+inherit eapi9-pipestatus check-reqs flag-o-matic multiprocessing pax-utils 
python-single-r1 toolchain-funcs virtualx
 inherit cmake xdg-utils
 
 DESCRIPTION="3D Creation/Animation/Publishing System"
@@ -66,7 +66,7 @@ SLOT="${BLENDER_BRANCH}"
 # potentially mirror cpu_flags_x86 + REQUIRED_USE
 IUSE="
        alembic +bullet collada +color-management cuda +cycles 
+cycles-bin-kernels
-       debug doc +embree +ffmpeg +fftw +fluid +gmp gnome hip jack
+       debug doc +embree +ffmpeg +fftw +fluid +gmp gnome hip hiprt jack
        +jemalloc jpeg2k man +manifold +nanovdb ndof nls +oidn oneapi openal 
+openexr +opengl +openpgl
        +opensubdiv +openvdb optix osl pipewire +pdf +potrace +pugixml 
pulseaudio
        renderdoc sdl +sndfile +tbb test +tiff +truetype valgrind vulkan 
wayland +webp X
@@ -86,6 +86,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
        fluid? ( tbb )
        gnome? ( wayland )
        hip? ( cycles )
+       hiprt? ( hip )
        nanovdb? ( openvdb )
        openvdb? ( tbb openexr )
        optix? ( cuda )
@@ -132,6 +133,9 @@ RDEPEND="${PYTHON_DEPS}
        gnome? ( gui-libs/libdecor )
        hip? (
                >=dev-util/hip-5.7:=
+               hiprt? (
+                       dev-libs/hiprt:2.5=
+               )
        )
        jack? ( virtual/jack )
        jemalloc? ( dev-libs/jemalloc:= )
@@ -393,6 +397,11 @@ src_prepare() {
        fi
 
        rm -rf extern/gflags || die
+
+       # Use slotted libhiprt64
+       sed \
+               -e 
"s|\"libhiprt64.so\"|\"/usr/lib/hiprt/2.5/$(get_libdir)/libhiprt64.so\"|" \
+               -i extern/hipew/src/hiprtew.cc || die
 }
 
 src_configure() {
@@ -533,6 +542,8 @@ src_configure() {
                -DWITH_CYCLES_ONEAPI_BINARIES="$(usex oneapi "$(usex 
cycles-bin-kernels)")"
                -DWITH_CYCLES_DEVICE_HIP="$(usex hip)"
                -DWITH_CYCLES_HIP_BINARIES="$(usex hip "$(usex 
cycles-bin-kernels)")"
+               -DWITH_CYCLES_DEVICE_HIPRT="$(usex hip "$(usex hiprt)")"
+
                -DWITH_CYCLES_HYDRA_RENDER_DELEGATE="no" # TODO: package Hydra
 
                # -DWITH_CYCLES_STANDALONE=OFF
@@ -580,6 +591,13 @@ src_configure() {
 
                        -DCYCLES_HIP_BINARIES_ARCH="$(get_amdgpu_flags)"
                )
+
+               if use hiprt; then
+                       mycmakeargs+=(
+                               -DHIPRT_ROOT_DIR="${ESYSROOT}/usr/lib/hiprt/2.5"
+                               
-DHIPRT_COMPILER_PARALLEL_JOBS="$(makeopts_jobs)"
+                       )
+               fi
        fi
 
        if use optix; then
@@ -622,6 +640,7 @@ src_configure() {
                        use cuda && CYCLES_TEST_DEVICES+=( "CUDA" )
                        use optix && CYCLES_TEST_DEVICES+=( "OPTIX" )
                        use hip && CYCLES_TEST_DEVICES+=( "HIP" )
+                       use hiprt && CYCLES_TEST_DEVICES+=( "HIP-RT" )
                        use oneapi && CYCLES_TEST_DEVICES+=( "ONEAPI" )
                fi
                mycmakeargs+=(

diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml
index 0452fbb36970..dfbf4a93c976 100644
--- a/media-gfx/blender/metadata.xml
+++ b/media-gfx/blender/metadata.xml
@@ -36,6 +36,9 @@
                <flag name="hip">
                        Build cycles renderer with AMD HIP support.
                </flag>
+               <flag name="hiprt">
+                       Enable AMD HIP GPU ray tracing acceleration via 
<pkg>dev-libs/hiprt</pkg>.
+               </flag>
                <flag name="cycles">
                        Enable the Cycles raytracing render engine.
                </flag>

Reply via email to