blender/intern/cycles/integrator/CMakeLists.txt
Stefan Werner 02b5e27f89 Cycles: Add Intel GPU support for OpenImageDenoise
OpenImageDenoise V2 comes with GPU support for various backends. This adds a new class, OIDNDenoiserGPU, in order to add this functionality into the existing Cycles post processing pipeline without having to change it much. OptiX and OIDN CPU denoising remain as they are. Rendering on a supported Intel GPU will automatically select the GPU denoiser.

Device support is initially limited to the oneAPI devices that are supported by Cycles, but can be extended.

Ref #115045

Co-authored-by: Stefan Werner <stefan.werner@intel.com>
Co-authored-by: Ray Molenkamp <github@lazydodo.com>
Pull Request: https://projects.blender.org/blender/blender/pulls/108314
2023-11-20 11:12:41 +01:00

85 lines
1.4 KiB
CMake

# SPDX-FileCopyrightText: 2011-2022 Blender Foundation
#
# SPDX-License-Identifier: Apache-2.0
set(INC
..
)
set(INC_SYS
)
set(SRC
adaptive_sampling.cpp
denoiser.cpp
denoiser_gpu.cpp
denoiser_oidn.cpp
denoiser_oidn_gpu.cpp
denoiser_optix.cpp
path_trace.cpp
tile.cpp
pass_accessor.cpp
pass_accessor_cpu.cpp
pass_accessor_gpu.cpp
path_trace_display.cpp
path_trace_tile.cpp
path_trace_work.cpp
path_trace_work_cpu.cpp
path_trace_work_gpu.cpp
render_scheduler.cpp
shader_eval.cpp
work_balancer.cpp
work_tile_scheduler.cpp
)
set(SRC_HEADERS
adaptive_sampling.h
denoiser.h
denoiser_gpu.h
denoiser_oidn.h
denoiser_oidn_gpu.h
denoiser_optix.h
guiding.h
path_trace.h
tile.h
pass_accessor.h
pass_accessor_cpu.h
pass_accessor_gpu.h
path_trace_display.h
path_trace_tile.h
path_trace_work.h
path_trace_work_cpu.h
path_trace_work_gpu.h
render_scheduler.h
shader_eval.h
work_balancer.h
work_tile_scheduler.h
)
set(LIB
cycles_device
# NOTE: Is required for RenderBuffers access. Might consider moving files around a bit to
# avoid such cyclic dependency.
cycles_session
cycles_util
)
if(WITH_OPENIMAGEDENOISE)
list(APPEND LIB
${OPENIMAGEDENOISE_LIBRARIES}
)
endif()
if(WITH_CYCLES_PATH_GUIDING)
list(APPEND LIB
${OPENPGL_LIBRARIES}
)
endif()
include_directories(${INC})
include_directories(SYSTEM ${INC_SYS})
cycles_add_library(cycles_integrator "${LIB}" ${SRC} ${SRC_HEADERS})