I'll abandon this PR then.
Let me know if you want me to repurpose some of this for the status bar, not sure if help is needed/wanted for that.
I'd prefer to call this denoise_device
, I don't expect it to be used for another purpose. In the blender sync code it makes sense to call it preferences_device, jut not here I think.
I could not reproduce this with a dual monitor setup + NVIDIA on Windows.
From the backtrace I guess something got freed while the compositor is still using it.
Maybe a far fetched guess is…
This trick is Metal specific I think. In CUDA float3 is packed and there is no 4th component to write to. It would be good to add a comment about this.
VLOG_DEBUG seems better for this.
Maybe rename PACKED_STATE -> INTEGRATOR_GPU_PACKED_STATE for consistency/clarity.
I don't understand what this assignment operator is for. With CUDA I changed it to void operator=(type) = delete;
and things still compiled.
I'm hesitant to add this because:
- Changing a scene setting can cause all materials to be recompiled, and compilation times are already an issue.
- It's fragile because we are not testing all…