summaryrefslogtreecommitdiff
path: root/media-libs/oidn
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-03-09 01:48:35 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-03-09 01:48:35 +0000
commit0b832a429ecd6081aa9faa0eb262303b019d87ea (patch)
treec39bb9eaa7bc30cec17f3a3bdef0cf5ed27c6a75 /media-libs/oidn
parent80e87db4d9ed551615eb2d0309bf370e79500716 (diff)
gentoo auto-resync : 09:03:2025 - 01:48:35
Diffstat (limited to 'media-libs/oidn')
-rw-r--r--media-libs/oidn/Manifest13
-rw-r--r--media-libs/oidn/files/oidn-2.3.1-composable-kernel-api.patch28
-rw-r--r--media-libs/oidn/files/oidn-2.3.1-hip-clang-19.patch18
-rw-r--r--media-libs/oidn/files/oidn-2.3.1-system-composable-kernel.patch199
-rw-r--r--media-libs/oidn/metadata.xml3
-rw-r--r--media-libs/oidn/oidn-1.4.2.ebuild29
-rw-r--r--media-libs/oidn/oidn-1.4.3.ebuild29
-rw-r--r--media-libs/oidn/oidn-2.1.0.ebuild85
-rw-r--r--media-libs/oidn/oidn-2.3.2.ebuild122
9 files changed, 374 insertions, 152 deletions
diff --git a/media-libs/oidn/Manifest b/media-libs/oidn/Manifest
index 3455fa0706b2..7ce6f2421431 100644
--- a/media-libs/oidn/Manifest
+++ b/media-libs/oidn/Manifest
@@ -1,13 +1,12 @@
AUX oidn-2.1.0-amdgpu-targets.patch 2239 BLAKE2B 292b06c363157e42e43a03e237ed72d7d08cfb4cade8614908e5d5014c08cb6e77d936d3f33767c1c0a23bea5aa6df9a511381bf57dd7a23a236e1d689dd07ca SHA512 3fc3fc54cd1155c3142b04f75e5b038b347e4e84deab885a3ffed88b635df21a5d9148b0d7c9e1ca800c2a1826dffd9b99c1e2e9413e35687b97bf316ffd9373
AUX oidn-2.2.2-amdgpu-targets.patch 2300 BLAKE2B eaddfe6493394c65b6960450ed3b9f60b26165687862c7ab51f8c8a97ae723e8bc887f082ac3f892ddba78e056e40e85fa5806e2d89d5ec32f8e80c1b4f6d6f9 SHA512 43b026e64e6e1f23ab6eacea0f1205ba4fd08dee30a5ad6e0e53b914ef04b8cfef01ba5fc736f355d5592c883f2319d83ebb239f84fdf3acf0e1ae2ca5cd5ef1
-DIST oidn-1.4.2.tar.gz 54221996 BLAKE2B bb6593e2e15877f65d9224fc93dac72aff6d567a00d727b050a88a1add4dc1441e695dc38056dd796e004e20916054b43ed7d0e90f22a16597f6617cf6a119e7 SHA512 8b464cedc91ef7a88cfc97c3fde80275b12058cdd26b352718d90f8f20b3462c4ac65b2b1ad5548a520590fbd015fcc8ab9f964633bc8b89d72901fe8a13e352
-DIST oidn-1.4.3.tar.gz 54222682 BLAKE2B f9b585c318258fd78e221a453b64e83965a3e5035a912baa49e4d5b48466441bf1d3c15291de2cd4d36e9da187ff7a643bb9d4af5282cdbb8b6bc99fb3cda0d0 SHA512 6fbdf347763c0734140195a523cf0878b1dbd91d4943c9ce4928f6991549f8b3d5ab4d57b90e20a8d04a87d00e3a1554ce73a3a3c1e64fcb016a3c1f8aa07982
-DIST oidn-2.1.0.tar.gz 48977314 BLAKE2B 0fc32697df7fc6b8b367a78312a5b16ab68a5c88a2d19a8780e9de87c7e7096d7fe43dbd07928f2eba44c62fb4545338fc92f918dd4c33623259d0088a06a854 SHA512 508cb100f1a0a825774c2c01e0fc983e697341745fa0bfa48a99bfa70fc431f66fcdf17c3f170e40baefd7c3796a25d147f49cb17efbf1a1886556367c5c4566
+AUX oidn-2.3.1-composable-kernel-api.patch 1371 BLAKE2B 85fd261657ff2d3ba290d887c9c4ed013fb224d3a8563d088afba9fb909a82776eec97b99e811bb53df4e9d328cba23283991ae0fa8afcf0040389b1a132ac75 SHA512 5ee7e106983c47ef1d345768ca0fd6dca274395672d75e12f61a9ac676c91f86d6094d048847a95e8023a68c6658654f0476ee9fbf6da8cfc145d76a20dd5e3c
+AUX oidn-2.3.1-hip-clang-19.patch 851 BLAKE2B a98fc830c3ccafb41d7746f9e1603576d5b58a05ac92e733d520e5faaff4a3afd1105046292f505cdecf7802b8e771c1bd2cbf220a971d70d15575297012f311 SHA512 bb87078e1303378715ca26511887e51934c5b95a568b2eeb3fed8e56e62d871347635ca1017c6b77cd1d85ed813f6125794dfccd8debafcf01061f3c952e14ce
+AUX oidn-2.3.1-system-composable-kernel.patch 13109 BLAKE2B c041f68e617edab26d835afe85ed45272199cdcbacce522f0f07b53d410afb34087531520654bda0c1f58de7813a8f82c434eb5f4497bb52ea0d89a6dd49e17f SHA512 5ad872bfc8d83a291880cd8808af97b3eabdb76dc30a60d47f85d94d7188c018e63fd8a19a844e79ea5dfe6143ce6a5e4cc4fbe96eb9f5bba2afa47cf13f5556
DIST oidn-2.2.2.tar.gz 49006605 BLAKE2B e3d32cc2112ded280e642c5d69fb2ef14db59df4f5224bff79e82ede207899c9dbfa43dc663ad9ccc15a6497e363df0b91b43660729962c410b7ec75ac1b3465 SHA512 eca18e9e22a40bc1381e75985e5f5e79f48cc6d168a2a703e54540967646487d347db290459e9a612d8ab4924e8d3c83d84664fd5318cca4f17745da1e47cf50
DIST oidn-2.3.0.tar.gz 75300547 BLAKE2B 88a5922b4db63c48ab69047dca8d1077205a6d7a2112971badb0cd35e0b770017f5cdcc95d2ef07016fe2e990e3e5806ac6a0800b67086b958948c542f0dff6f SHA512 4f68ce3b0da37e1861090d60d7cd823046f325c45a8e2c3f4098eb3b4f7ec676d2acbb9c138ff60a9f83188dd0dcbaba42106aad96beafc5e65045c77c00f2f8
-EBUILD oidn-1.4.2.ebuild 707 BLAKE2B c8c98d1a61c78ae0524100200c9eb02c5d700e6afe043084d30910f822b1e5fb06c41d915ad4c85d213807484199d1d89ae72e86bc723a807015f9a76268f5b7 SHA512 06b247c86ffab4c4bb7ca0e9c9ebb6a20057a3eff294995eb9062c086b7d7e41f3d9e39e1e89c69924a76d5aaea41c5a8e1319a18f77e1a53b6d9bd9e58ea874
-EBUILD oidn-1.4.3.ebuild 709 BLAKE2B 83d6551d7c82d920a8339ff43a7ec966e4cd0179b5c0077624b889b600e9123de4cbb690003fffceed311928c333059c22e8f5e397c20763bdfeac47a2f32843 SHA512 90bcc6567182303fc1d15aee57784538e784c5eaae4c80abbc6d0d195162ffb9dd0b0dcfdd05bacea5895df060cd3946d34de2d01ae3f76dfdcc6cc80476d5f3
-EBUILD oidn-2.1.0.ebuild 1745 BLAKE2B 623facc91063e88b56fdc80546e9b1b233a9b245f2441ba20277d11a11959d27a2d5277848530231b26b5b91cd583a43ac3c3a26bc9434678192510ece924ba5 SHA512 42ce153e58919b7addc88adacc11c30c8b7de2813b9f5d6a15dbdfa9b31b2ac39b097077a598bd2f7b2bc693892d64e8111e93e5de30cea39a712fdea1c87a17
+DIST oidn-2.3.2.tar.gz 75315672 BLAKE2B d271a296ee8f72493ad109e1e13dc8142f8e27ed878e08dc9baa7fc04e936ef8604bedf7fa65df278758f2c12c9e66cd517aab16b422b2b99d68aff6c7e56587 SHA512 bba24f712bdd9f35a4e2f60a0b86b1b48eac40bf40a898cd8c2a7571e52f5d0b0055fcd8b6647a9ff062e2680ded63b66aa916a5a4b428de114c0a218f7783ea
EBUILD oidn-2.2.2.ebuild 2277 BLAKE2B c9140389f08f3999910370bf7f9cd7565619d2700bfc85f057faa2c1cbe6d81c37c2344b9b8ec7ad52e342c3ff57e2d1e1e721fe75afc43918bdb2725e80254c SHA512 6f7262dcacdf3df56ce830a54d6e7b736bf4d92c2944c413fb60e09cd33bde52865d51ead411ce212eeb4e358b3b15b3d1e151c613a68c0070b4a91ae9cd57e6
EBUILD oidn-2.3.0.ebuild 2277 BLAKE2B 6a27a507d881e6f6f33b0e8a8d4f9d2d9aa83a1e091675e7c1aa86749581dea4e0476b33b25431adc75e8ebd106456429190644a79dd70395b74c1d338ca3407 SHA512 db8527cec3d16e5e67b49e80d7ff0bfcd9f23223efa1e917e6b004e839f42ba80b307885243e14b43991bec42475f6ccc22e5b969078c1c9457d2901675293a1
-MISC metadata.xml 995 BLAKE2B e4acf06e236b5d7497d7e19f20ccc961ea25da8dc3180d51ff76decd6f92cf4c927d6dbf96876ed47cb02e2ad7a42aa2571aa98d65e6b90afbe8a8142a3f090b SHA512 7f3b6cce23de7b0aade535b1fe1cb5af8bf622347731837e87cebcf28471a782825a599be79bf96bb69cd1ce5d36c9a9531d51cde1267cfc86453f94beb70d34
+EBUILD oidn-2.3.2.ebuild 3118 BLAKE2B d97dbe4c05922ea40361182a664f61d6bedbd6144d266bb3b78191b4232def127bda1a6a942b3f3516be36e4ebea00efdb8b91f6ca9a4bb202822650d6ff6b46 SHA512 fbcb790d5461815e133e63f46433fe6c30cb90980513f9175edacd298a6a70efab1ea9b57dc073760cf99ed4c2b9c471ffba8823ef3bd4f3853149172882f1de
+MISC metadata.xml 913 BLAKE2B 8eebbe3fb0269abec40f764dd4358e738e0eda923a1667ee77004942ae469cfd9d8775f15c914c15528c4ef00c8e0a5a7db48ba0262388ff8383ebd74b920cbd SHA512 628d398616363b8d79de8c069d7975d635bec54dffa3d5ef01226299ac33bf6255a6fb823bcf38e5ab9fec56276a63de9bffed0b4395b661aa3a8256d71138e4
diff --git a/media-libs/oidn/files/oidn-2.3.1-composable-kernel-api.patch b/media-libs/oidn/files/oidn-2.3.1-composable-kernel-api.patch
new file mode 100644
index 000000000000..80f6bf5e9f26
--- /dev/null
+++ b/media-libs/oidn/files/oidn-2.3.1-composable-kernel-api.patch
@@ -0,0 +1,28 @@
+diff --git a/devices/hip/ck_conv_wmma.cpp b/devices/hip/ck_conv_wmma.cpp
+index 144374d..1bb2f7f 100644
+--- a/devices/hip/ck_conv_wmma.cpp
++++ b/devices/hip/ck_conv_wmma.cpp
+@@ -48,19 +48,20 @@ OIDN_NAMESPACE_BEGIN
+ OutLayout, // ELayout
+ InDataType, // ADataType
+ WeiDataType, // BDataType
+- ck::Tuple<BiasDataType>, // DsDataType
+- OutDataType, // EDataType
+ AccDataType, // AccDataType
+ CShuffleDataType, // CShuffleDataType
++ ck::Tuple<BiasDataType>, // DsDataType
++ OutDataType, // EDataType
+ InElementOp, // AElementwiseOperation
+ WeiElementOp, // BElementwiseOperation
+ OutElementOp, // CDEElementwiseOperation
+ ConvSpec, // ConvForwardSpecialization
+ GemmSpec, // GemmSpecialization
++ 1, // NumGemmKPrefetchStage
+ 256, // BlockSize
+ 128, // MPerBlock
+ 64, // NPerBlock
+- 4, // K0PerBlock
++ 32, // KPerBlock
+ 8, // K1
+ 16, // MPerWMMA
+ 16, // NPerWMMA
diff --git a/media-libs/oidn/files/oidn-2.3.1-hip-clang-19.patch b/media-libs/oidn/files/oidn-2.3.1-hip-clang-19.patch
new file mode 100644
index 000000000000..944e238139ef
--- /dev/null
+++ b/media-libs/oidn/files/oidn-2.3.1-hip-clang-19.patch
@@ -0,0 +1,18 @@
+Fix compilation with Clang 19 (rocm-6.3.0 and above).
+
+Backports commit https://github.com/ROCm/composable_kernel/commit/c44137838e2cb30bbe5a3b9903c357b476a34d52
+Upstream bug: https://github.com/RenderKit/oidn/issues/250
+--- a/external/composable_kernel/include/ck/tensor_operation/gpu/block/blockwise_gemm_xdlops.hpp
++++ b/external/composable_kernel/include/ck/tensor_operation/gpu/block/blockwise_gemm_xdlops.hpp
+@@ -781,11 +781,6 @@ struct BlockwiseGemmXdlops_v2
+ "wrong!");
+ }
+
+- __host__ __device__ BlockwiseGemmXdlops_v2(const BlockwiseGemmXdlops_v2& other)
+- : a_thread_copy_(other.a_origin), b_thread_copy_(other.b_origin)
+- {
+- }
+-
+ // transposed XDL output supporting C_xdl' = B_xdl' * A_xdl'
+ __host__ __device__ static constexpr auto GetCThreadDescriptor_M0_N0_M1_N1_M2_N2_N3_N4()
+ {
diff --git a/media-libs/oidn/files/oidn-2.3.1-system-composable-kernel.patch b/media-libs/oidn/files/oidn-2.3.1-system-composable-kernel.patch
new file mode 100644
index 000000000000..e1b96181ec91
--- /dev/null
+++ b/media-libs/oidn/files/oidn-2.3.1-system-composable-kernel.patch
@@ -0,0 +1,199 @@
+diff --git a/devices/hip/CMakeLists.txt b/devices/hip/CMakeLists.txt
+index e9a9bec..b738d5b 100644
+--- a/devices/hip/CMakeLists.txt
++++ b/devices/hip/CMakeLists.txt
+@@ -53,12 +53,6 @@ set_target_properties(OpenImageDenoise_device_hip PROPERTIES
+ CXX_STANDARD 17
+ )
+
+-target_include_directories(OpenImageDenoise_device_hip
+- PRIVATE
+- "${OIDN_ROOT_SOURCE_DIR}/external/composable_kernel/include"
+- "${OIDN_ROOT_SOURCE_DIR}/external/composable_kernel/library/include"
+-)
+-
+ set_source_files_properties(
+ ck_conv_wmma.cpp
+ PROPERTIES COMPILE_FLAGS "-mcumode -mno-wavefrontsize64" # Navi3x optimizations
+diff --git a/devices/hip/ck_conv_dl.cpp b/devices/hip/ck_conv_dl.cpp
+index 1aacfe8..e99da53 100644
+--- a/devices/hip/ck_conv_dl.cpp
++++ b/devices/hip/ck_conv_dl.cpp
+@@ -3,7 +3,7 @@
+
+ #include "hip_conv.h"
+ #include "ck_conv.h"
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+
+ OIDN_NAMESPACE_BEGIN
+
+diff --git a/external/composable_kernel/example/09_convnd_fwd/convnd_fwd_dl_fp16.cpp b/external/composable_kernel/example/09_convnd_fwd/convnd_fwd_dl_fp16.cpp
+index db5a7f0..2f384cb 100644
+--- a/external/composable_kernel/example/09_convnd_fwd/convnd_fwd_dl_fp16.cpp
++++ b/external/composable_kernel/example/09_convnd_fwd/convnd_fwd_dl_fp16.cpp
+@@ -3,7 +3,7 @@
+
+ #include "convnd_fwd_dl_common.hpp"
+
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+
+ #include "ck/library/utility/convolution_host_tensor_descriptor_helper.hpp"
+
+diff --git a/external/composable_kernel/example/09_convnd_fwd/convnd_fwd_dl_fp32.cpp b/external/composable_kernel/example/09_convnd_fwd/convnd_fwd_dl_fp32.cpp
+index 964d784..aa56666 100644
+--- a/external/composable_kernel/example/09_convnd_fwd/convnd_fwd_dl_fp32.cpp
++++ b/external/composable_kernel/example/09_convnd_fwd/convnd_fwd_dl_fp32.cpp
+@@ -3,7 +3,7 @@
+
+ #include "convnd_fwd_dl_common.hpp"
+
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+
+ #include "ck/library/utility/convolution_host_tensor_descriptor_helper.hpp"
+
+diff --git a/external/composable_kernel/example/09_convnd_fwd/convnd_fwd_dl_int8.cpp b/external/composable_kernel/example/09_convnd_fwd/convnd_fwd_dl_int8.cpp
+index b0cd88f..15b554c 100644
+--- a/external/composable_kernel/example/09_convnd_fwd/convnd_fwd_dl_int8.cpp
++++ b/external/composable_kernel/example/09_convnd_fwd/convnd_fwd_dl_int8.cpp
+@@ -3,7 +3,7 @@
+
+ #include "convnd_fwd_dl_common.hpp"
+
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+
+ #include "ck/library/utility/convolution_host_tensor_descriptor_helper.hpp"
+
+diff --git a/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_relu_perchannel_quantization_int8.cpp b/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_relu_perchannel_quantization_int8.cpp
+index 5c445d9..49d2ba3 100644
+--- a/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_relu_perchannel_quantization_int8.cpp
++++ b/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_relu_perchannel_quantization_int8.cpp
+@@ -2,7 +2,7 @@
+ // Copyright (c) 2018-2022, Advanced Micro Devices, Inc. All rights reserved.
+
+ #include "common.hpp"
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+
+ using InDataType = int8_t;
+ using WeiDataType = int8_t;
+diff --git a/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_relu_perlayer_quantization_int8.cpp b/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_relu_perlayer_quantization_int8.cpp
+index 0ff85f0..661d744 100644
+--- a/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_relu_perlayer_quantization_int8.cpp
++++ b/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_relu_perlayer_quantization_int8.cpp
+@@ -2,7 +2,7 @@
+ // Copyright (c) 2018-2022, Advanced Micro Devices, Inc. All rights reserved.
+
+ #include "common.hpp"
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+
+ using InDataType = int8_t;
+ using WeiDataType = int8_t;
+diff --git a/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_tanh_perchannel_quantization_int8.cpp b/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_tanh_perchannel_quantization_int8.cpp
+index f8f996d..65cded3 100644
+--- a/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_tanh_perchannel_quantization_int8.cpp
++++ b/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_tanh_perchannel_quantization_int8.cpp
+@@ -2,7 +2,7 @@
+ // Copyright (c) 2018-2022, Advanced Micro Devices, Inc. All rights reserved.
+
+ #include "common.hpp"
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+
+ using InDataType = int8_t;
+ using WeiDataType = int8_t;
+diff --git a/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_tanh_perlayer_quantization_int8.cpp b/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_tanh_perlayer_quantization_int8.cpp
+index 3b25fec..ca5f217 100644
+--- a/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_tanh_perlayer_quantization_int8.cpp
++++ b/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_bias_tanh_perlayer_quantization_int8.cpp
+@@ -2,7 +2,7 @@
+ // Copyright (c) 2018-2022, Advanced Micro Devices, Inc. All rights reserved.
+
+ #include "common.hpp"
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+
+ using InDataType = int8_t;
+ using WeiDataType = int8_t;
+diff --git a/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_perchannel_quantization_int8.cpp b/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_perchannel_quantization_int8.cpp
+index a98a1e2..88b9ccc 100644
+--- a/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_perchannel_quantization_int8.cpp
++++ b/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_perchannel_quantization_int8.cpp
+@@ -2,7 +2,7 @@
+ // Copyright (c) 2018-2022, Advanced Micro Devices, Inc. All rights reserved.
+
+ #include "common.hpp"
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+
+ using InDataType = int8_t;
+ using WeiDataType = int8_t;
+diff --git a/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_perlayer_quantization_int8.cpp b/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_perlayer_quantization_int8.cpp
+index 262594d..f5678e7 100644
+--- a/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_perlayer_quantization_int8.cpp
++++ b/external/composable_kernel/example/40_conv2d_fwd_quantization/conv2d_fwd_dl_perlayer_quantization_int8.cpp
+@@ -2,7 +2,7 @@
+ // Copyright (c) 2018-2022, Advanced Micro Devices, Inc. All rights reserved.
+
+ #include "common.hpp"
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+
+ using InDataType = int8_t;
+ using WeiDataType = int8_t;
+diff --git a/external/composable_kernel/library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_f16_instance.cpp b/external/composable_kernel/library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_f16_instance.cpp
+index fc18b3c..020d93e 100644
+--- a/external/composable_kernel/library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_f16_instance.cpp
++++ b/external/composable_kernel/library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_f16_instance.cpp
+@@ -5,7 +5,7 @@
+
+ #include "ck/ck.hpp"
+ #include "ck/tensor_operation/gpu/device/tensor_layout.hpp"
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+ #include "ck/library/tensor_operation_instance/add_device_operation_instance.hpp"
+ #include "ck/tensor_operation/gpu/device/convolution_forward_specialization.hpp"
+ #include "ck/tensor_operation/gpu/device/gemm_specialization.hpp"
+diff --git a/external/composable_kernel/library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_f32_instance.cpp b/external/composable_kernel/library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_f32_instance.cpp
+index 648b396..42825ce 100644
+--- a/external/composable_kernel/library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_f32_instance.cpp
++++ b/external/composable_kernel/library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_f32_instance.cpp
+@@ -5,7 +5,7 @@
+
+ #include "ck/ck.hpp"
+ #include "ck/tensor_operation/gpu/device/tensor_layout.hpp"
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+ #include "ck/library/tensor_operation_instance/add_device_operation_instance.hpp"
+ #include "ck/tensor_operation/gpu/device/convolution_forward_specialization.hpp"
+ #include "ck/tensor_operation/gpu/device/gemm_specialization.hpp"
+diff --git a/external/composable_kernel/library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_int8_instance.cpp b/external/composable_kernel/library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_int8_instance.cpp
+index 1cb5d06..ab74235 100644
+--- a/external/composable_kernel/library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_int8_instance.cpp
++++ b/external/composable_kernel/library/src/tensor_operation_instance/gpu/grouped_conv2d_fwd/device_grouped_conv2d_fwd_dl_gnhwc_gkyxc_gnhwk_int8_instance.cpp
+@@ -5,7 +5,7 @@
+
+ #include "ck/ck.hpp"
+ #include "ck/tensor_operation/gpu/device/tensor_layout.hpp"
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+ #include "ck/library/tensor_operation_instance/add_device_operation_instance.hpp"
+ #include "ck/tensor_operation/gpu/device/convolution_forward_specialization.hpp"
+ #include "ck/tensor_operation/gpu/device/gemm_specialization.hpp"
+diff --git a/external/composable_kernel/library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_dl_int8_instance.hpp b/external/composable_kernel/library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_dl_int8_instance.hpp
+index 3c4987f..62ee1a4 100644
+--- a/external/composable_kernel/library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_dl_int8_instance.hpp
++++ b/external/composable_kernel/library/src/tensor_operation_instance/gpu/quantization/conv2d_fwd/device_conv2d_dl_int8_instance.hpp
+@@ -4,7 +4,7 @@
+ #pragma once
+
+ #include "conv2d_quantization_common.hpp"
+-#include "ck/tensor_operation/gpu/device/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
++#include "ck/tensor_operation/gpu/device/impl/device_grouped_conv_fwd_dl_multiple_d_nhwc_kyxc_nhwk.hpp"
+
+ namespace ck {
+ namespace tensor_operation {
diff --git a/media-libs/oidn/metadata.xml b/media-libs/oidn/metadata.xml
index eb65b09493a5..ea208b614223 100644
--- a/media-libs/oidn/metadata.xml
+++ b/media-libs/oidn/metadata.xml
@@ -11,8 +11,7 @@
</maintainer>
<longdescription>
Intel Open Image Denoise is an open source library of high-performance,
- high-quality denoising filters for images rendered with ray tracing. Intel
- Open Image Denoise is part of the IntelĀ® oneAPI Rendering Toolkit and is
+ high-quality denoising filters for images rendered with ray tracing.
</longdescription>
<use>
<flag name="apps">
diff --git a/media-libs/oidn/oidn-1.4.2.ebuild b/media-libs/oidn/oidn-1.4.2.ebuild
deleted file mode 100644
index c39523efcfb3..000000000000
--- a/media-libs/oidn/oidn-1.4.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10} )
-
-inherit cmake python-single-r1
-
-DESCRIPTION="Intel(R) Open Image Denoise library"
-HOMEPAGE="http://www.openimagedenoise.org/"
-
-if [[ ${PV} = *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/OpenImageDenoise/oidn.git"
- EGIT_BRANCH="master"
-else
- SRC_URI="https://github.com/OpenImageDenoise/${PN}/releases/download/v${PV}/${P}.src.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- dev-cpp/tbb:=
- dev-lang/ispc"
-DEPEND="${RDEPEND}"
diff --git a/media-libs/oidn/oidn-1.4.3.ebuild b/media-libs/oidn/oidn-1.4.3.ebuild
deleted file mode 100644
index 91c7b0fc2b45..000000000000
--- a/media-libs/oidn/oidn-1.4.3.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit cmake python-single-r1
-
-DESCRIPTION="Intel(R) Open Image Denoise library"
-HOMEPAGE="https://www.openimagedenoise.org/"
-
-if [[ ${PV} = *9999 ]]; then
- EGIT_REPO_URI="https://github.com/OpenImageDenoise/oidn.git"
- EGIT_BRANCH="master"
- inherit git-r3
-else
- SRC_URI="https://github.com/OpenImageDenoise/${PN}/releases/download/v${PV}/${P}.src.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- dev-cpp/tbb:=
- dev-lang/ispc"
-DEPEND="${RDEPEND}"
diff --git a/media-libs/oidn/oidn-2.1.0.ebuild b/media-libs/oidn/oidn-2.1.0.ebuild
deleted file mode 100644
index 6f9b87d1f737..000000000000
--- a/media-libs/oidn/oidn-2.1.0.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-LLVM_MAX_SLOT=17
-ROCM_VERSION=5.7
-
-inherit cmake python-single-r1 llvm rocm
-
-DESCRIPTION="Intel(R) Open Image Denoise library"
-HOMEPAGE="https://www.openimagedenoise.org/"
-
-if [[ ${PV} = *9999 ]]; then
- EGIT_REPO_URI="https://github.com/OpenImageDenoise/oidn.git"
- EGIT_BRANCH="master"
- inherit git-r3
-else
- SRC_URI="https://github.com/OpenImageDenoise/${PN}/releases/download/v${PV}/${P}.src.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- test? ( apps )
-"
-IUSE="apps cuda hip test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-cpp/tbb:=
- dev-lang/ispc
- cuda? ( dev-util/nvidia-cuda-toolkit )
- hip? ( dev-util/hip )
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.1.0-amdgpu-targets.patch"
-)
-
-src_prepare() {
- if use hip; then
- # https://bugs.gentoo.org/930391
- sed "/-Wno-unused-result/s:): --rocm-path=${EPREFIX}/usr/lib):" \
- -i devices/hip/CMakeLists.txt || die
- fi
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DOIDN_DEVICE_CUDA=$(usex cuda)
- -DOIDN_DEVICE_HIP=$(usex hip)
- -DOIDN_APPS=$(usex apps)
- )
-
- if use hip; then
- mycmakeargs+=(
- -DROCM_PATH="${EPREFIX}/usr"
- -DOIDN_DEVICE_HIP_COMPILER="$(get_llvm_prefix ${LLVM_MAX_SLOT})/bin/clang++"
- -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
- )
- fi
-
- cmake_src_configure
-}
-
-src_test() {
- "${BUILD_DIR}"/oidnTest || die "There were test faliures!"
-}
-
-src_install() {
- cmake_src_install
-
- if use hip || use cuda ; then
- # remove garbage in /var/tmp left by subprojects
- rm -rf "${ED}"/var || die
- fi
-}
diff --git a/media-libs/oidn/oidn-2.3.2.ebuild b/media-libs/oidn/oidn-2.3.2.ebuild
new file mode 100644
index 000000000000..c8e068d4a987
--- /dev/null
+++ b/media-libs/oidn/oidn-2.3.2.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+ROCM_VERSION=6.3
+
+inherit cmake cuda python-any-r1 rocm
+
+DESCRIPTION="IntelĀ® Open Image Denoise library"
+HOMEPAGE="https://www.openimagedenoise.org https://github.com/RenderKit/oidn"
+
+if [[ ${PV} = *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/RenderKit/oidn.git"
+ EGIT_BRANCH="master"
+ EGIT_LFS="1"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/RenderKit/${PN}/releases/download/v${PV}/${P}.src.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 -arm ~arm64 -ppc ~ppc64 -x86" # 64-bit-only
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+IUSE="apps cuda hip openimageio test"
+REQUIRED_USE="
+ test? ( apps )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-cpp/tbb:=
+ dev-lang/ispc
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ hip? ( dev-util/hip:= )
+ openimageio? ( media-libs/openimageio:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.2-amdgpu-targets.patch"
+)
+
+src_prepare() {
+ if use cuda; then
+ cuda_src_prepare
+ fi
+
+ if use hip; then
+ if has_version ">=dev-util/hip-6.2"; then
+ eapply "${FILESDIR}/${PN}-2.3.1-hip-clang-19.patch"
+ eapply "${FILESDIR}/${PN}-2.3.1-system-composable-kernel.patch"
+ eapply "${FILESDIR}/${PN}-2.3.1-composable-kernel-api.patch"
+ fi
+
+ if has_version "dev-util/hip[llvm_slot_19]"; then
+ # Fix Clang 19 error
+ # Bug: https://github.com/RenderKit/oidn/issues/250
+ sed -i "s/.template Run(/.template Run<>(/g" \
+ external/composable_kernel/include/ck/tensor_operation/gpu/block/blockwise_gemm_wmma.hpp \
+ external/composable_kernel/include/ck/tensor_operation/gpu/block/blockwise_gemm_xdlops_skip_b_lds.hpp \
+ external/composable_kernel/include/ck/tensor_operation/gpu/block/blockwise_gemm_xdlops.hpp || die
+ fi
+
+ # https://bugs.gentoo.org/930391
+ sed "/-Wno-unused-result/s:): --rocm-path=${EPREFIX}/usr):" \
+ -i devices/hip/CMakeLists.txt || die
+ fi
+
+ sed -e "/^install.*llvm_macros.cmake.*cmake/d" -i CMakeLists.txt || die
+ # do not fortify source -- bug 895018
+ sed -e "s/-D_FORTIFY_SOURCE=2//g" -i {cmake/oidn_platform,external/mkl-dnn/cmake/SDL}.cmake || die
+
+ # 950261
+ sed -e "/set(CMAKE_CXX_STANDARD /s/^/# /" -i cmake/oidn_platform.cmake || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DOIDN_APPS="$(usex apps)"
+
+ -DOIDN_DEVICE_CPU="yes"
+ -DOIDN_DEVICE_CUDA="$(usex cuda)"
+ -DOIDN_DEVICE_HIP="$(usex hip)"
+ # -DOIDN_DEVICE_SYCL="$(usex sycl)"
+ )
+
+ if use apps; then
+ mycmakeargs+=( -DOIDN_APPS_OPENIMAGEIO="$(usex openimageio)" )
+ fi
+
+ if use cuda; then
+ export CUDAHOSTCXX="$(cuda_gccdir)"
+ fi
+
+ if use hip; then
+ mycmakeargs+=(
+ -DROCM_PATH="${EPREFIX}/usr"
+ -DOIDN_DEVICE_HIP_COMPILER="${ESYSROOT}/usr/bin/hipcc" # use HIPHOSTCOMPILER
+ -DAMDGPU_TARGETS="$(get_amdgpu_flags)"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ "${BUILD_DIR}"/oidnTest || die "There were test failures!"
+}
+
+src_install() {
+ cmake_src_install
+
+ if use hip || use cuda ; then
+ # remove garbage in /var/tmp left by subprojects
+ rm -r "${ED}"/var || die
+ fi
+}