Operating system: Linux-5.4.0-7634-generic-x86_64-with-debian-bullseye
Graphics card: GTX 1050Ti
Broken: 2.90.0 rBfdfe85c616d2 (2020-06-22 15:41)
Worked: Prior to Embree being enabled by default. rB99436acde8fb
Short description of error:
I've found that in some cases hair will render differently between CPU and GPU rendering. The most common difference is shadows are slightly different.
At first glance this doesn't look like much of an issue, however, if you're rendering an animation on a render farm where some frames are work on by GPUs and others on CPUs (or even doing it locally because OptiX doesn't support CPU+GPU), the difference in shadows appear as a kind of flicker in the hair.
Here's a video show casing this issue:
This is caused by Embree as switching back to BVH2 on the CPU makes the issue disappear.
The issue seems most apparent when you have a lot of thin hairs close to each other. Also when you're using a fully opaque surface material.
At first I thought this was a noise pattern difference between CPU and GPU. However, increasing sample counts and using denoisers doesn't solve the issue.
Exact steps for others to reproduce the error:
Create some scenes with some hair. Here's two I made: