blender/intern/cycles/util
Brian Savery 044a77352f Cycles: add HIP device support for AMD GPUs
NOTE: this feature is not ready for user testing, and not yet enabled in daily
builds. It is being merged now for easier collaboration on development.

HIP is a heterogenous compute interface allowing C++ code to be executed on
GPUs similar to CUDA. It is intended to bring back AMD GPU rendering support
on Windows and Linux.

https://github.com/ROCm-Developer-Tools/HIP.

As of the time of writing, it should compile and run on Linux with existing
HIP compilers and driver runtimes. Publicly available compilers and drivers
for Windows will come later.

See task T91571 for more details on the current status and work remaining
to be done.

Credits:

Sayak Biswas (AMD)
Arya Rafii (AMD)
Brian Savery (AMD)

Differential Revision: https://developer.blender.org/D12578
2021-09-28 19:18:55 +02:00
..
CMakeLists.txt CMake: refresh building and external library handling of Cycles standalone 2020-09-04 17:10:50 +02:00
util_algorithm.h Fix T68370, T74973: Cycles cryptomatte not working when other passes are enabled 2020-03-20 15:59:24 +01:00
util_aligned_malloc.cpp macOS: Enabled posix_memalign() like on other Unix platforms. 2019-09-13 22:49:26 +02:00
util_aligned_malloc.h Fix Cycles build error after recent changes 2019-05-14 15:06:23 +02:00
util_args.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_array.h Cycles: optimize device updates 2021-01-22 16:08:25 +01:00
util_atomic.h Cycles: add HIP device support for AMD GPUs 2021-09-28 19:18:55 +02:00
util_avxb.h Cleanup: clang-format (re-run after v12 version bump) 2021-07-30 16:19:19 +10:00
util_avxf.h Fix more build errors/warnings after recent AVX changes 2020-04-02 17:30:56 +02:00
util_avxi.h Cleanup: clang-format (re-run after v12 version bump) 2021-07-30 16:19:19 +10:00
util_boundbox.h Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
util_color.h Cleanup: comment blocks, trailing space in comments 2021-06-24 15:59:34 +10:00
util_debug.cpp Cycles: add HIP device support for AMD GPUs 2021-09-28 19:18:55 +02:00
util_debug.h Cycles: add HIP device support for AMD GPUs 2021-09-28 19:18:55 +02:00
util_defines.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_deque.h Cycles: Stitching of subdivided and displaced meshes 2019-08-27 14:27:53 -04:00
util_disjoint_set.h Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
util_foreach.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_function.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_guarded_allocator.cpp ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_guarded_allocator.h Fix build error in Cycles standalone without guarded allocator 2020-06-02 06:27:39 +02:00
util_half.h Cycles: add HIP device support for AMD GPUs 2021-09-28 19:18:55 +02:00
util_hash.h Cycles: AVX implantation of Perlin noise. 2020-04-01 14:48:01 +02:00
util_ies.cpp Cleanup: don't unnecessarily use ustring in IES file parsing 2019-08-14 14:16:11 +02:00
util_ies.h Cleanup: don't unnecessarily use ustring in IES file parsing 2019-08-14 14:16:11 +02:00
util_image_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_image.h Cycles: add colorspace manager class and utilities based on OpenColorIO 2019-05-03 15:42:49 +02:00
util_list.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_logging.cpp Fix building without Cycles logging 2021-07-29 14:32:10 +02:00
util_logging.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_map.h Cycles: Stitching of subdivided and displaced meshes 2019-08-27 14:27:53 -04:00
util_math_cdf.cpp ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_math_cdf.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_math_fast.h Cleanup: fix compiler warnings due to implicit cast 2021-07-26 18:04:40 +02:00
util_math_float2.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_math_float3.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_math_float4.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_math_int2.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_math_int3.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_math_int4.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_math_intersect.h Cleanup: spelling in comments 2021-09-23 22:08:02 +10:00
util_math_matrix.h Cleanup: correct spelling in comments 2021-02-05 16:23:34 +11:00
util_math.h Cycles: add HIP device support for AMD GPUs 2021-09-28 19:18:55 +02:00
util_md5.cpp Cleanup: make format after SortedIncludes change 2020-03-19 09:33:58 +01:00
util_md5.h Cleanup: correct spelling in comments 2021-02-05 16:23:34 +11:00
util_murmurhash.cpp ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_murmurhash.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_opengl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_openimagedenoise.h macOS: add Embree, OpenImageDenoise and sse2neon libraries for ARM 2021-02-15 20:22:34 +01:00
util_openvdb.h Cleanup: use template utility function to handle OpenVDB grid types in Cycles 2021-07-02 19:01:53 +02:00
util_optimization.h Cycles: add support for Arm Neon instructions using sse2neon 2021-02-17 16:26:24 +01:00
util_param.h Shading: Add Vertex Color node. 2019-09-12 17:42:13 +02:00
util_path.cpp Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_path.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_profiling.cpp Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_profiling.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_progress.h Fix T91660: Cycles remaining render time does not take into account time limit 2021-09-24 16:34:15 +02:00
util_projection.h Cycles: add utility functions for zero float2/float3/float4/transform 2021-02-17 16:26:24 +01:00
util_queue.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_rect.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_semaphore.h Cycles: limit number of processes compiling OpenCL kernel based on memory 2020-03-25 16:39:37 +01:00
util_set.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_simd.cpp ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_simd.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_sseb.h Cleanup: clang-format (re-run after v12 version bump) 2021-07-30 16:19:19 +10:00
util_ssef.h Add support for building on Linux aarch64 2021-04-20 18:45:46 +02:00
util_ssei.h Cleanup: clang-format (re-run after v12 version bump) 2021-07-30 16:19:19 +10:00
util_stack_allocator.h Cleanup: correct spelling in comments 2021-02-05 16:23:34 +11:00
util_static_assert.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_stats.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_string.cpp Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_string.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_system.cpp Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_system.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_task.cpp Fix T84745: build error with TBB 2021 2021-01-15 17:29:36 +01:00
util_task.h Cleanup: repeated terms in code comments & error messages 2021-06-28 15:46:08 +10:00
util_tbb.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_texture.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_thread.cpp ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_thread.h Cycles: Use TBB's spin mutex 2020-07-03 11:14:26 +02:00
util_time.cpp ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_time.h Cycles: add time statistics to scene update 2020-10-01 23:21:11 +02:00
util_transform.cpp Cleanup: spelling 2020-08-05 11:49:31 +10:00
util_transform.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_types_float2_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_float2.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_float3_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_float3.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_float4_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_float4.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_float8_impl.h Cleanup: comments (long lines) in cycles 2019-05-01 21:41:07 +10:00
util_types_float8.h Cleanup: comments (long lines) in cycles 2019-05-01 21:41:07 +10:00
util_types_int2_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_int2.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_int3_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_int3.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_int4_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_int4.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_uchar2_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_uchar2.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_uchar3_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_uchar3.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_uchar4_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_uchar4.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_uint2_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_uint2.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_uint3_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_uint3.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_uint4_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_uint4.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_ushort4.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_vector3_impl.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types_vector3.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_types.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_unique_ptr.h Cycles: merge of cycles-x branch, a major update to the renderer 2021-09-21 14:55:54 +02:00
util_vector.h Fix T87793: Cycles OptiX crash hiding objects in viewport render 2021-05-19 18:30:43 +02:00
util_version.h Cycles: bump version to 1.13, matching Blender 2.90 release cycle 2020-06-30 18:12:08 +02:00
util_view.cpp Fix issues in Cycles standalone, particularly related to render display 2020-01-31 16:49:24 +01:00
util_view.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
util_windows.cpp Cleanup: warnings, formatting 2019-06-22 10:11:15 +10:00
util_windows.h Fix Cycles CUDA suboptimal performance on Windows 10 with recent graphics cards 2019-06-18 20:05:36 +02:00
util_xml.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00