Releases: RenderKit/oidn
Releases · RenderKit/oidn
Open Image Denoise v2.2.0-rc
- Improved denoising quality (better fine detail reconstruction)
- Added Intel Meteor Lake GPU support (in Intel® Core™ Ultra Processors)
- Added Metal device for Apple silicon GPUs (requires macOS Ventura or newer)
- Added ARM64 (AArch64) CPU support on Windows and Linux (in addition to macOS)
- Improved CPU performance
- Switched to the CUDA driver API by default, added the
OIDN_DEVICE_CUDA_API
CMake option for manually selecting between the driver and runtime APIs - Fixed crash when releasing a buffer after releasing the device
Open Image Denoise v2.1.0
- Added support for denoising 1-channel (e.g. alpha) and 2-channel images
- Added support for arbitrary combinations of input image data types
(e.g.OIDN_FORMAT_FLOAT3forcolorbutOIDN_FORMAT_HALF3foralbedo) - Improved performance for most dedicated GPU architectures
- Re-added
OIDN_STATIC_LIBCMake option which enables building as a static
(CPU support only) or a hybrid static/shared (GPU support as well) library - Added
release()method to C++ API objects (DeviceRef,BufferRef,
FilterRef) - Fixed possible crash when releasing GPU devices, buffers or filters
- Fixed possible crash at process exit for some SYCL runtime versions
- Fixed image quality inconsistency on Intel integrated GPUs, but at the cost
of some performance loss - Fixed future Windows driver compatibility for Intel integrated GPUs
- Fixed rare output corruption on AMD RDNA2 GPUs
- Fixed device detection on Windows when the path to the library has non-ANSI
characters - Added support for Intel® oneAPI DPC++/C++ Compiler 2024.0 and compatible
open source compiler versions - Upgraded to oneTBB 2021.10.0 in the official binaries
- Improved detection of old oneTBB versions
Open Image Denoise v2.0.1
- Fixed performance issue for Intel integrated GPUs using recent Linux drivers
- Fixed crash on systems with both dedicated and integrated AMD GPUs
- Fixed importing
D3D12_RESOURCE,D3D11_RESOURCE,D3D11_RESOURCE_KMT,
D3D11_TEXTUREandD3D11_TEXTURE_KMTexternal memory types on CUDA and
HIP devices - Fixed the macOS deployment target of the official x86 binaries (lowered from
11.0 to 10.11) - Minor improvements to verbose output
Open Image Denoise v2.0.0
- Added SYCL device for Intel Xe architecture GPUs (Xe-LP, Xe-HPG and Xe-HPC)
- Added CUDA device for NVIDIA Volta, Turing, Ampere, Ada Lovelace and Hopper
architecture GPUs - Added HIP device for AMD RDNA2 (Navi 21 only) and RDNA3 (Navi 3x)
architecture GPUs - Added new buffer API functions for specifying the storage type (host, device
or managed), copying data to/from the host, and importing external buffers from
graphics APIs (e.g. Vulkan, Direct3D 12) - Removed the
oidnMapBufferandoidnUnmapBufferfunctions - Added support for asynchronous execution (e.g.
oidnExecuteFilterAsync,
oidnSyncDevicefunctions) - Added physical device API for querying the supported devices in the system
- Added functions for creating a device from a physical device ID, UUID, LUID
or PCI address (e.g.oidnNewDeviceByID) - Added SYCL, CUDA and HIP interoperability API functions (e.g.
oidnNewSYCLDevice,
oidnExecuteSYCLFilterAsync) - Added
typedevice parameter for querying the device type - Added
systemMemorySupportedandmanagedMemorySupporteddevice parameters
for querying memory allocations supported by the device - Added
externalMemoryTypesdevice parameter for querying the supported
external memory handle types - Added
qualityfilter parameter for setting the filtering quality mode (high
or balanced quality) - Minor API changes with backward compatibility:
- Added
oidn(Get|Set)(Device|Filter)(Bool|Int|Float)functions and
deprecatedoidn(Get|Set)(Device|Filter)(1b|1i|1f)functions - Added
oidnUnsetFilter(Image|Data)functions and deprecated
oidnRemoveFilter(Image|Data)functions - Renamed
alignmentandoverlapfilter parameters totileAlignment
andtileOverlapbut the old names remain supported
- Added
- Removed
OIDN_STATIC_LIBandOIDN_STATIC_RUNTIMECMake options due to
technical limitations - Fixed over-conservative buffer bounds checking for images with custom strides
- Upgraded to oneTBB 2021.9.0 in the official binaries
Open Image Denoise v1.4.3
- Fixed hardcoded library paths in installed macOS binaries
- Disabled VTune profiling support of oneDNN kernels by default, can be
enabled using CMake options if required (DNNL_ENABLE_JIT_PROFILINGand
DNNL_ENABLE_ITT_TASKS) - Upgraded to oneTBB 2021.5.0 in the official binaries
Open Image Denoise v1.4.2
- Added support for 16-bit half-precision floating-point images
- Added
oidnGetBufferDataandoidnGetBufferSizefunctions - Fixed performance issue on x86 hybrid architecture CPUs (e.g. Alder Lake)
- Fixed build error when using OpenImageIO 2.3 or later
- Upgraded to oneTBB 2021.4.0 in the official binaries
Open Image Denoise v1.4.1
- Fixed crash when in-place denoising images with certain unusual resolutions
- Fixed compile error when building for Apple Silicon using some unofficial
builds of ISPC
Open Image Denoise v1.4.0
- Improved fine detail preservation
- Added the
cleanAuxfilter parameter for further improving quality when the
auxiliary feature (albedo, normal) images are noise-free - Added support for denoising auxiliary feature images, which can be used
together with the newcleanAuxparameter for improving quality when the
auxiliary images are noisy (recommended for final frame denoising) - Normals are expected to be in the [-1, 1] range (but still do not have to
be normalized) - Added the
oidnUpdateFilterDatafunction which must be called when the
contents of an opaque data parameter bound to a filter (e.g.weights) has
been changed after committing the filter - Added the
oidnRemoveFilterImageandoidnRemoveFilterDatafunctions for
removing previously set image and opaque data parameters of filters - Reduced the overhead of
oidnCommitFilterto zero in some cases (e.g. when
changing already set image buffers/pointers or theinputScaleparameter) - Reduced filter memory consumption by about 35%
- Reduced total memory consumption significantly when using multiple filters
that belong to the same device - Reduced the default maximum memory consumption to 3000 MB
- Added the
OIDN_FILTER_RTandOIDN_FILTER_RTLIGHTMAPCMake options for
excluding the trained filter weights from the build to significantly
decrease its size - Fixed detection of static TBB builds on Windows
- Fixed compile error when using future glibc versions
- Added
oidnBenchmarkoption for setting custom resolutions - Upgraded to oneTBB 2021.2.0 in the official binaries
Open Image Denoise v1.3.0
- Improved denoising quality
- Improved sharpness of fine details / less blurriness
- Fewer noisy artifacts
- Slightly improved performance and lowered memory consumption
- Added directional (e.g. spherical harmonics) lightmap denoising to the
RTLightmapfilter - Added
inputScalefilter parameter which generalizes the existing
(and thus now deprecated)hdrScaleparameter for non-HDR images - Added native support for Apple Silicon and the BNNS library on macOS
(currently requires rebuilding from source) - Added
OIDN_NEURAL_RUNTIMECMake option for setting the neural network
runtime library - Reduced the size of the library binary
- Fixed compile error on some older macOS versions
- Upgraded release builds to use oneTBB 2021.1.1
- Removed tbbmalloc dependency
- Appended the library version to the name of the directory containing the
installed CMake files - Training:
- Faster training performance
- Added mixed precision training (enabled by default)
- Added efficient data-parallel training on multiple GPUs
- Enabled preprocessing datasets multiple times with possibly different
options - Minor bugfixes
Open Image Denoise v1.2.4
- Added OIDN_API_NAMESPACE CMake option that allows to put all API functions
inside a user-defined namespace - Fixed bug when TBB_USE_GLIBCXX_VERSION is defined
- Fixed compile error when using an old compiler which does not support
OpenMP SIMD - Added compatibility with oneTBB 2021
- Export only necessary symbols on Linux and macOS