blender/intern/cycles/device
Sahar A. Kashi 557a245dd5 Cycles: add HIP RT device, for AMD hardware ray tracing on Windows
HIP RT enables AMD hardware ray tracing on RDNA2 and above, and falls back to a
to shader implementation for older graphics cards. It offers an average 25%
sample rendering rate improvement in Cycles benchmarks, on a W6800 card.

The ray tracing feature functions are accessed through HIP RT SDK, available on
GPUOpen. HIP RT traversal functionality is pre-compiled in bitcode format and
shipped with the SDK.

This is not yet enabled as there are issues to be resolved, but landing the
code now makes testing and further changes easier.

Known limitations:
* Not working yet with current public AMD drivers.
* Visual artifact in motion blur.
* One of the buffers allocated for traversal has a static size. Allocating it
  dynamically would reduce memory usage.
* This is for Windows only currently, no Linux support.

Co-authored-by: Brecht Van Lommel <brecht@blender.org>

Ref #105538
2023-04-25 20:19:43 +02:00
..
cpu Cycles: pass kernel features to get_bvh_layout_mask 2023-04-18 22:09:42 +02:00
cuda Cycles: pass kernel features to get_bvh_layout_mask 2023-04-18 22:09:42 +02:00
dummy Cycles: pass kernel features to get_bvh_layout_mask 2023-04-18 22:09:42 +02:00
hip Cycles: add HIP RT device, for AMD hardware ray tracing on Windows 2023-04-25 20:19:43 +02:00
hiprt Cycles: add HIP RT device, for AMD hardware ray tracing on Windows 2023-04-25 20:19:43 +02:00
metal Cycles: pass kernel features to get_bvh_layout_mask 2023-04-18 22:09:42 +02:00
multi Cycles: add HIP RT device, for AMD hardware ray tracing on Windows 2023-04-25 20:19:43 +02:00
oneapi Cycles: oneAPI: Fix motion blur rendering for Embree GPU execution 2023-04-20 21:20:33 +02:00
optix Cycles: pass kernel features to get_bvh_layout_mask 2023-04-18 22:09:42 +02:00
CMakeLists.txt Cycles: add HIP RT device, for AMD hardware ray tracing on Windows 2023-04-25 20:19:43 +02:00
denoise.cpp Clang-Format: Allow empty functions to be single-line 2023-03-29 16:50:54 +02:00
denoise.h Cleanup: Move OptiX denoiser code from device into denoiser class 2022-11-15 15:50:01 +01:00
device.cpp Cycles: add HIP RT device, for AMD hardware ray tracing on Windows 2023-04-25 20:19:43 +02:00
device.h Cycles: add HIP RT device, for AMD hardware ray tracing on Windows 2023-04-25 20:19:43 +02:00
graphics_interop.cpp Cycles: use SPDX license headers 2022-02-11 17:47:34 +01:00
graphics_interop.h Cycles: use SPDX license headers 2022-02-11 17:47:34 +01:00
kernel.cpp Cycles: add hardware raytracing support to oneAPI device 2023-04-18 22:09:42 +02:00
kernel.h Cycles: add hardware raytracing support to oneAPI device 2023-04-18 22:09:42 +02:00
memory.cpp Cycles: Add half precision float support for volumes with NanoVDB 2022-05-23 19:08:01 +02:00
memory.h Clang-Format: Allow empty functions to be single-line 2023-03-29 16:50:54 +02:00
queue.cpp Cycles: Add optional per-kernel performance statistics 2022-09-27 22:15:00 +02:00
queue.h Clang-Format: Allow empty functions to be single-line 2023-03-29 16:50:54 +02:00