Fix: Respect Blender Cycles setting for GPU denoising
Previously, GPU denoisers were ignoring settings about render configuration and were using any available GPU. With these changes, GPU denoisers will use the device selected in Blender Cycles settings. This allows any GPU denoiser to be used with CPU rendering. Pull Request: https://projects.blender.org/blender/blender/pulls/118841
This commit is contained in:
committed by
Nikita Sirgienko
parent
a331ebb324
commit
4651f8a08f
@@ -50,9 +50,20 @@ Session::Session(const SessionParams ¶ms_, const SceneParams &scene_params)
|
||||
|
||||
scene = new Scene(scene_params, device);
|
||||
|
||||
if (params.device == params.denoise_device) {
|
||||
denoise_device = device;
|
||||
}
|
||||
else {
|
||||
denoise_device = Device::create(params.denoise_device, stats, profiler);
|
||||
|
||||
if (denoise_device->have_error()) {
|
||||
progress.set_error(denoise_device->error_message());
|
||||
}
|
||||
}
|
||||
|
||||
/* Configure path tracer. */
|
||||
path_trace_ = make_unique<PathTrace>(
|
||||
device, scene->film, &scene->dscene, render_scheduler_, tile_manager_);
|
||||
device, denoise_device, scene->film, &scene->dscene, render_scheduler_, tile_manager_);
|
||||
path_trace_->set_progress(&progress);
|
||||
path_trace_->progress_update_cb = [&]() { update_status_time(); };
|
||||
|
||||
@@ -91,6 +102,9 @@ Session::~Session()
|
||||
|
||||
/* Destroy scene and device. */
|
||||
delete scene;
|
||||
if (denoise_device != device) {
|
||||
delete denoise_device;
|
||||
}
|
||||
delete device;
|
||||
|
||||
/* Stop task scheduler. */
|
||||
|
||||
Reference in New Issue
Block a user