diff options
Diffstat (limited to 'media-gfx')
-rw-r--r-- | media-gfx/Manifest.gz | bin | 38335 -> 38336 bytes | |||
-rw-r--r-- | media-gfx/blender/Manifest | 8 | ||||
-rw-r--r-- | media-gfx/blender/blender-3.2.2.ebuild | 15 | ||||
-rw-r--r-- | media-gfx/blender/blender-9999.ebuild | 17 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch | 108 | ||||
-rw-r--r-- | media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch | 23 | ||||
-rw-r--r-- | media-gfx/blender/metadata.xml | 3 |
7 files changed, 167 insertions, 7 deletions
diff --git a/media-gfx/Manifest.gz b/media-gfx/Manifest.gz Binary files differindex 4a7db1891bb4..126b24f0fa4d 100644 --- a/media-gfx/Manifest.gz +++ b/media-gfx/Manifest.gz diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest index 90e16bbd1885..f33bb813f1c0 100644 --- a/media-gfx/blender/Manifest +++ b/media-gfx/blender/Manifest @@ -1,6 +1,8 @@ AUX blender-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch 877 BLAKE2B 954cae23023e60ef38847927a8ddfc05a19f86c1b5f95a78227aba2af32707ca3490f815e370aa995944973d3ea44d58895817e3ac1ffbb006468ef33f3223a7 SHA512 f4d4e946ce177c82cbe63ab2beab05748e91786800885432f64c00b3ba93be3fec54f084663617dd1b877776d60c418da12cee9a3f4f59a447a3291d08eeba5e AUX blender-3.0.1-openexr.patch 4868 BLAKE2B eccd615d26ba6963220dd9128294d996890f5909707cae5b8b39a0b1e35147618ff2d92348c8e8613cea45c974442665be5036884c33737ccf4041eec5f0135c SHA512 f44288212a3e8e2ed04ced2e574ac240a18f90c3f6e28fabc9dc855545c9b28b216f9cc3ad70721dca754a0d032100fe2aa430eff54049f672219747728d5657 AUX blender-3.0.1-openimageio-2.3.patch 927 BLAKE2B 02ed40bf291ac6ec935a7412c8c1681023fb1fac3bfe7a6ecdbaddfd895f48557274f466849f1aa35900c66dbba6724a29b7d5553fe914e5a3df0f93a9791acd SHA512 0edd3e3c3265694593b242db5c96d3c123630819ff07b906b7f86c15cdf60e4bf1e8b61d555241eadf842a2a33c1f4f1ad4cce0e7d07c8d7308d8a9d536bf512 +AUX blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch 4517 BLAKE2B 703b5c8b04a187941caaefaa51e71266a96bb64d3e623bdfe9192bfc57fda1ceb5e1e83e57d1d585f9e8358169a49e91dcbaecd4aa9fe809213a8fc1b3372be2 SHA512 91b12b5bf161b48ef192981d12cdda03ce23e0d5a7f3b30c5232598f3122872f53e98ba1ba154f12558ce6abc4a015760f1898dbeb16810ba52850e985a58ab6 +AUX blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch 986 BLAKE2B 6055d38fded76be0c3f1f42f1e17e434ba69be90a0fb032856b1a339683a28c6786e945fc88d7b39006efc090e198586e5ebebb8fa542e93bcb07b9b91f6ce1f SHA512 8c5259d54e687ae03316fa69efcee02dbbf2a374de6fa9151484795af7d602c2d603900f1b38b7d4a09d8cb66e73666e500cb37004cbca5a13241d9cb5442ab0 AUX blender-3.2.2-musl-glibc-prereq.patch 814 BLAKE2B 1ca7438618074fa270cdda530ab160b5ae648217a6ad58b27f9c4b9f3de53442dbcfc1c59f70c47a6190dc1cbea9a431078263b04e2fdc963e5831ae97171e3b SHA512 5053d0ada8f6bfafc9517e133c8ed2221040b9df6d47f6e31c958b4c061360940b1b155ea6bd413dc4673e899c18468498df1bef7ad88ca22b94895524044af1 AUX blender-3.2.2-support-building-with-musl-libc.patch 5583 BLAKE2B 193548ea61608b6a355912cdd11eba60c58ac7975612890ff26b95b0d8974e3ed871e9e3d5437b7e36fc22b6a711e7af672b87a4e4f0b0765b95e4065dbcb934 SHA512 225065ac63344084918585272badfd58dc542e4b9370351fa4ff246fb8568d18027bd1d07fc139ac247236b75690578bb598731e00ea18767ed8e9d34d35b2fc DIST blender-2.93.0-tests.tar.bz2 286918586 BLAKE2B a2c2c2e900e401a470208e8e5d0082d45e2f8db13b45213f31808d50ae5ea330360702b8e775bdb3307eb753aa7c3264803e9e470b3fb778f8bd87272cd72513 SHA512 0e5e4c67944c4f76df62cdbaf26ba284c415675074e66685c01ec9584a544c47f616bae8fb2ff2b7e03290620d54dc1033b4b0fc617acb1232a90439e96325fe @@ -18,6 +20,6 @@ EBUILD blender-2.93.9.ebuild 12556 BLAKE2B 6a69144161a3fa171450242fdb7bb9cb6e909 EBUILD blender-3.1.2.ebuild 12657 BLAKE2B 32a9441cdc5de8c31b5279d783a78657d339efcbf7ab1de74eae72d532dab2fe60e32659b071447b447f5f4f7de682055e2abe490017356c1f3aa41183ba977e SHA512 05d73dbd51708aafc4c46c465f8b579f2fbeeb06d4b2bb10105419bf44ada646b8b935e3405927d7436a4a5920fd4abdec8a23393684af0308445e09f8a24480 EBUILD blender-3.2.0.ebuild 12656 BLAKE2B 99a1dac1a65ffb9001cc3b5708e1b2aaaca1d072627687a0292e3b833aff728b2f31ce33dc0d48aff53a361b3e71995a79fd74b93ffc8d17006daa5e20ae86bc SHA512 e0e86db3571c7974d4412e43cc71810e8fd03b2089fe0d04d7c1c86d32be991d57249dc625e54ae78f267cc1b8397cf25f176a5921272a14cc0f4c40e03e2fb9 EBUILD blender-3.2.1.ebuild 12660 BLAKE2B 4b898ea0493ef82750ea0c3a2cec91e7c9b35400aa998f7d1ce694b4483ac2174e6e207d7ab26779112fda2b01d96395ba15d31f6273251fbae8e50c2e5f2fd8 SHA512 6cf2db910ac26163f7045dbf9f37e1ada226d812912f3169ed205bae5e457bba697764ff58276d2265c636bffde4e75f34b756a4b1669cb49be1ee5fb77a5c98 -EBUILD blender-3.2.2.ebuild 12789 BLAKE2B ed9ed2c5ef3fc084542a8556d2163c50385916a2ce8fd013c1da12353e85b97083ad9a64454b0b898ce9671ee4212201f14d9fea73b02caa75519a1ec44b76a8 SHA512 2cf535ecd86926a5ecc74b297a78723d7172ce45c11b25003d58ce202be13c24cf53f3a338998aac8ef8f634ee7574060269e1606c8de53753bd03c4fe20c520 -EBUILD blender-9999.ebuild 12664 BLAKE2B 14f031c2146c3db891e9f876c8db6b38cac6d37a9fd126d9d9e15794fb86fde70714e836aa1994cb1eaf9aadd03ea57966e517cd303df1c74a6aeb8a5c842dcf SHA512 e362d23f2b8a4771a0983a9288ac3d16eeea3727e638be5faa7a4652a51f43efe12a0be7a18aea63b66deffa459086eb13ca8323e677b7a6c783d6ed11e459df -MISC metadata.xml 2998 BLAKE2B 46de114ec2a0f5ed454d9879e6c5c11f06c386a73f8f692635cea26fc813f1d8489bf9fbf5d45c3fd43502784e02047613420e9de8d17e0e637586194e369d8f SHA512 533fdfbe7ded02391d808b42edf26ba8218c086e279a67c168bf7c654075a9608aae46439a9a98e8d650cc429fb0f0d45d0dc584861ef13c39df4f288e93bfb1 +EBUILD blender-3.2.2.ebuild 13211 BLAKE2B 769a50f1aec4f42fe08a6d34e2a9cf48e9689e128607e234f05323e9a397211844cafd57e0b74b2166efc888554f928b28ac6137a68e87d0b415ae2fd30e4226 SHA512 0cd806a36f5e108a7834b97cd842919d3ad86ee76ba9439a78b7dd181beba6384e28a60ccbae6cce5dd397e8cd5d6f830816f0e324bd5c37848c2c1be3f6c0ee +EBUILD blender-9999.ebuild 12918 BLAKE2B 15a9dcc0a510b166b25106beae65f555681d7cfaf8881416b20ca94994549f9e0429e2457ad0c5c57ad9ff22add39cc0eb5063d44756f77b7f52c86feb901c46 SHA512 b5dcf7c3056f73ec085a65cc91e853cbb849b404e2f26f8869c472df74499f2a728352a5a47d3d96097563afbdafd68e505338033e035999f2d52d8b35eb3992 +MISC metadata.xml 3083 BLAKE2B 6ba639c8ecc383f3ebf51eaf9a3c323d1154868647317c084fd374512e99bcb3a91496e54079d3ec6b41167043529eac95c263240602bf13e0cf2627e65bec27 SHA512 41d73d22d9f35d17cabc45a1784901ce1c5596c791abc6f828590ce886f7ab17491304e49614df8506cef0dc7bd732899cb945e53a0c57d302fc3480e91e04a0 diff --git a/media-gfx/blender/blender-3.2.2.ebuild b/media-gfx/blender/blender-3.2.2.ebuild index b8269d9b77fb..4442e89a027e 100644 --- a/media-gfx/blender/blender-3.2.2.ebuild +++ b/media-gfx/blender/blender-3.2.2.ebuild @@ -28,7 +28,8 @@ IUSE="+bullet +dds +fluid +openexr +tbb \ alembic collada +color-management cuda +cycles \ debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \ man +nanovdb ndof nls openal +oidn +openimageio +openmp +opensubdiv \ - +openvdb +osl +pdf +potrace +pugixml pulseaudio sdl +sndfile test +tiff valgrind" + +openvdb optix +osl +pdf +potrace +pugixml pulseaudio sdl +sndfile \ + test +tiff valgrind" RESTRICT="!test? ( test )" REQUIRED_USE="${PYTHON_REQUIRED_USE} @@ -37,6 +38,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} cycles? ( openexr tiff openimageio ) fluid? ( tbb ) openvdb? ( tbb ) + optix? ( cuda ) osl? ( cycles ) test? ( color-management )" @@ -93,6 +95,7 @@ RDEPEND="${PYTHON_DEPS} >=media-gfx/openvdb-9.0.0:=[nanovdb?] dev-libs/c-blosc:= ) + optix? ( <dev-libs/optix-7.5.0 ) osl? ( >=media-libs/osl-1.11.16.0-r3:= ) pdf? ( media-libs/libharu ) potrace? ( media-gfx/potrace ) @@ -126,6 +129,8 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-3.2.2-support-building-with-musl-libc.patch "${FILESDIR}"/${PN}-3.2.2-musl-glibc-prereq.patch + "${FILESDIR}"/${PN}-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch + "${FILESDIR}"/${PN}-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch ) blender_check_requirements() { @@ -222,6 +227,7 @@ src_configure() { -DWITH_CXX_GUARDEDALLOC=$(usex debug) -DWITH_CYCLES=$(usex cycles) -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) + -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix) -DWITH_CYCLES_EMBREE=$(usex embree) -DWITH_CYCLES_OSL=$(usex osl) -DWITH_CYCLES_STANDALONE=OFF @@ -269,6 +275,13 @@ src_configure() { -DWITH_XR_OPENXR=OFF ) + if use optix; then + mycmakeargs+=( + -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + ) + fi + append-flags $(usex debug '-DDEBUG' '-DNDEBUG') if tc-is-gcc ; then diff --git a/media-gfx/blender/blender-9999.ebuild b/media-gfx/blender/blender-9999.ebuild index 48a7c50cf696..0426748b3a70 100644 --- a/media-gfx/blender/blender-9999.ebuild +++ b/media-gfx/blender/blender-9999.ebuild @@ -28,7 +28,8 @@ IUSE="+bullet +dds +fluid +openexr +tbb \ alembic collada +color-management cuda +cycles \ debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \ man +nanovdb ndof nls openal +oidn +openimageio +openmp +opensubdiv \ - +openvdb +osl +pdf +potrace +pugixml pulseaudio sdl +sndfile test +tiff valgrind" + +openvdb optix +osl +pdf +potrace +pugixml pulseaudio sdl +sndfile \ + test +tiff valgrind" RESTRICT="!test? ( test )" REQUIRED_USE="${PYTHON_REQUIRED_USE} @@ -37,6 +38,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} cycles? ( openexr tiff openimageio ) fluid? ( tbb ) openvdb? ( tbb ) + optix? ( cuda ) osl? ( cycles ) test? ( color-management )" @@ -93,6 +95,7 @@ RDEPEND="${PYTHON_DEPS} >=media-gfx/openvdb-9.0.0:=[nanovdb?] dev-libs/c-blosc:= ) + optix? ( <dev-libs/optix-7.5.0 ) osl? ( >=media-libs/osl-1.11.16.0-r3:= ) pdf? ( media-libs/libharu ) potrace? ( media-gfx/potrace ) @@ -217,6 +220,7 @@ src_configure() { -DWITH_CXX_GUARDEDALLOC=$(usex debug) -DWITH_CYCLES=$(usex cycles) -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) + -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix) -DWITH_CYCLES_EMBREE=$(usex embree) -DWITH_CYCLES_OSL=$(usex osl) -DWITH_CYCLES_STANDALONE=OFF @@ -264,6 +268,13 @@ src_configure() { -DWITH_XR_OPENXR=OFF ) + if use optix; then + mycmakeargs+=( + -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + ) + fi + append-flags $(usex debug '-DDEBUG' '-DNDEBUG') if tc-is-gcc ; then @@ -286,8 +297,8 @@ src_test() { blender_get_version # Define custom blender data/script file paths not be able to find them otherwise during testing. # (Because the data is in the image directory and it will default to look in /usr/share) - export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts - export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles + export BLENDER_SYSTEM_SCRIPTS="${ED}"/usr/share/blender/${BV}/scripts + export BLENDER_SYSTEM_DATAFILES="${ED}"/usr/share/blender/${BV}/datafiles # Sanity check that the script and datafile path is valid. # If they are not vaild, blender will fallback to the default path which is not what we want. diff --git a/media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch b/media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch new file mode 100644 index 000000000000..2a7b33cf8ac4 --- /dev/null +++ b/media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch @@ -0,0 +1,108 @@ +From https://developer.blender.org/rB74caf773619bbf6a0f95c598b66261a6bef392ee +From: Brecht Van Lommel <brecht@blender.org> +Date: Mon, 29 Aug 2022 19:12:15 +0200 +Subject: [PATCH 001/539] Cycles: add option to specify OptiX runtime root + directory + +This allows individual users or Linux distributions to specify a directory +Cycles will automatically look for the OptiX include folder, to compile kernels +at runtime. + +It is still possible to override this with the OPTIX_ROOT_DIR environment +variable at runtime. + +Based on patch by Sebastian Parborg. + +Ref D15792 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -435,10 +435,16 @@ if(NOT APPLE) + option(WITH_CYCLES_CUBIN_COMPILER "Build cubins with nvrtc based compiler instead of nvcc" OFF) + option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF) + option(WITH_CUDA_DYNLOAD "Dynamically load CUDA libraries at runtime (for developers, makes cuda-gdb work)" ON) ++ ++ set(OPTIX_ROOT_DIR "" CACHE PATH "Path to the OptiX SDK root directory, for building Cycles OptiX kernels.") ++ set(CYCLES_RUNTIME_OPTIX_ROOT_DIR "" CACHE PATH "Path to the OptiX SDK root directory. When set, this path will be used at runtime to compile OptiX kernels.") ++ + mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH) + mark_as_advanced(WITH_CYCLES_CUBIN_COMPILER) + mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL) + mark_as_advanced(WITH_CUDA_DYNLOAD) ++ mark_as_advanced(OPTIX_ROOT_DIR) ++ mark_as_advanced(CYCLES_RUNTIME_OPTIX_ROOT_DIR) + endif() + + # AMD HIP +--- a/intern/cycles/device/CMakeLists.txt ++++ b/intern/cycles/device/CMakeLists.txt +@@ -19,6 +19,8 @@ if(WITH_CYCLES_DEVICE_OPTIX OR WITH_CYCLES_DEVICE_CUDA) + ) + add_definitions(-DCYCLES_CUDA_NVCC_EXECUTABLE="${CUDA_NVCC_EXECUTABLE}") + endif() ++ ++ add_definitions(-DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${CYCLES_RUNTIME_OPTIX_ROOT_DIR}") + endif() + + if(WITH_CYCLES_DEVICE_HIP AND WITH_HIP_DYNLOAD) +--- a/intern/cycles/device/optix/device_impl.cpp ++++ b/intern/cycles/device/optix/device_impl.cpp +@@ -342,15 +342,29 @@ BVHLayoutMask OptiXDevice::get_bvh_layout_mask() const + return BVH_LAYOUT_OPTIX; + } + ++static string get_optix_include_dir() ++{ ++ const char *env_dir = getenv("OPTIX_ROOT_DIR"); ++ const char *default_dir = CYCLES_RUNTIME_OPTIX_ROOT_DIR; ++ ++ if (env_dir && env_dir[0]) { ++ const string env_include_dir = path_join(env_dir, "include"); ++ return env_include_dir; ++ } ++ else if (default_dir[0]) { ++ const string default_include_dir = path_join(default_dir, "include"); ++ return default_include_dir; ++ } ++ ++ return string(); ++} ++ + string OptiXDevice::compile_kernel_get_common_cflags(const uint kernel_features) + { + string common_cflags = CUDADevice::compile_kernel_get_common_cflags(kernel_features); + + /* Add OptiX SDK include directory to include paths. */ +- const char *optix_sdk_path = getenv("OPTIX_ROOT_DIR"); +- if (optix_sdk_path) { +- common_cflags += string_printf(" -I\"%s/include\"", optix_sdk_path); +- } ++ common_cflags += string_printf(" -I\"%s/include\"", get_optix_include_dir().c_str()); + + /* Specialization for shader raytracing. */ + if (kernel_features & KERNEL_FEATURE_NODE_RAYTRACE) { +@@ -460,10 +474,19 @@ bool OptiXDevice::load_kernels(const uint kernel_features) + "lib/kernel_optix_shader_raytrace.ptx" : + "lib/kernel_optix.ptx"); + if (use_adaptive_compilation() || path_file_size(ptx_filename) == -1) { +- if (!getenv("OPTIX_ROOT_DIR")) { ++ std::string optix_include_dir = get_optix_include_dir(); ++ if (optix_include_dir.empty()) { + set_error( +- "Missing OPTIX_ROOT_DIR environment variable (which must be set with the path to " +- "the Optix SDK to be able to compile Optix kernels on demand)."); ++ "Unable to compile OptiX kernels at runtime. Set OPTIX_ROOT_DIR environment variable " ++ "to a directory containing the OptiX SDK."); ++ return false; ++ } ++ else if (!path_is_directory(optix_include_dir)) { ++ set_error(string_printf( ++ "OptiX headers not found at %s, unable to compile OptiX kernels at runtime. Install " ++ "OptiX SDK in the specified location, or set OPTIX_ROOT_DIR environment variable to a " ++ "directory containing the OptiX SDK.", ++ optix_include_dir.c_str())); + return false; + } + ptx_filename = compile_kernel( +-- +2.37.3 + diff --git a/media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch b/media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch new file mode 100644 index 000000000000..921b648ca388 --- /dev/null +++ b/media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch @@ -0,0 +1,23 @@ +From https://developer.blender.org/rB74477149dddfddeca71be6770d520f870c0b5bc9 +From: Josh Whelchel <soundofjw> +Date: Tue, 6 Sep 2022 15:39:39 +0200 +Subject: [PATCH 663/965] Fix T100845: wrong Cycles OptiX runtime compilation + include path + +Causing OptiX kernel build errors on Arch Linux. + +Differential Revision: https://developer.blender.org/D15891 +--- a/intern/cycles/device/optix/device_impl.cpp ++++ b/intern/cycles/device/optix/device_impl.cpp +@@ -364,7 +364,7 @@ string OptiXDevice::compile_kernel_get_common_cflags(const uint kernel_features) + string common_cflags = CUDADevice::compile_kernel_get_common_cflags(kernel_features); + + /* Add OptiX SDK include directory to include paths. */ +- common_cflags += string_printf(" -I\"%s/include\"", get_optix_include_dir().c_str()); ++ common_cflags += string_printf(" -I\"%s\"", get_optix_include_dir().c_str()); + + /* Specialization for shader raytracing. */ + if (kernel_features & KERNEL_FEATURE_NODE_RAYTRACE) { +-- +2.37.3 + diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml index a6093fd9c1b6..41cc89220a5f 100644 --- a/media-gfx/blender/metadata.xml +++ b/media-gfx/blender/metadata.xml @@ -67,6 +67,9 @@ <flag name="openvdb"> Enable openvdb for volumetric processing, like the voxel remesher. Also enables volumetric GPU preview rendering for Nvidia cards. </flag> + <flag name="optix"> + Add support for NVIDIA's OptiX Raytracing Engine. + </flag> <flag name="osl"> Add support for OpenShadingLanguage scripting. </flag> |