FS#60342 - [blender] Doesn't render hair on CPU

Attached to Project: Community Packages
Opened by Oliver Mangold (omangold) - Sunday, 07 October 2018, 19:29 GMT
Last edited by Sven-Hendrik Haase (Svenstaro) - Friday, 19 October 2018, 11:46 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sven-Hendrik Haase (Svenstaro)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

I find that when trying to render hair particles with the Arch package version of Blender, none of these will appear in the output.

Remarks:

- It doesn't happen with the official upstream release of 2.79b. By testing several commits, I found that it is related to Arch building a (random?) different commit. I didn't bisect it down to the culprit commit, though.
- It only happens with CPU rendering, but not with CUDA
- It only happens when using Curve Segments for hair, but not with Line Segments.

Additional info:
* package version(s)

17:2.79.b.git3.32432d91-9

Steps to reproduce:

- Create surface with a hair particle system
- Set hair geometry primitive to 'Curve Segments'
- Render on CPU (doesn't matter whether using 'rendered' display mode, or doing F12 render)
This task depends upon

Closed by  Sven-Hendrik Haase (Svenstaro)
Friday, 19 October 2018, 11:46 GMT
Reason for closing:  Fixed
Comment by Sven-Hendrik Haase (Svenstaro) - Wednesday, 17 October 2018, 16:01 GMT
The commit we're using is the most recent 2.79b branch commit so it's not entirely random! :)

This was reported before and I had to close it because it doesn't look like a packaging problem. Any hints?
Comment by Oliver Mangold (omangold) - Wednesday, 17 October 2018, 21:30 GMT
Ah, okay, I just noticed the commit was different from the tag v2.79b, but I guess that doesn't matter.

What I find, though, is, that when compiling it with GCC 7, hair are fine. It also works when compiling it with GCC 8 and -O0, but not with -O1 or -O2. So apparently it is a compiler optimization thing.
Comment by Sven-Hendrik Haase (Svenstaro) - Wednesday, 17 October 2018, 22:41 GMT
You could try rebuilding it with the current gcc 8 snapshot and see what results you get. Also be sure to report this upstream.
Comment by Oliver Mangold (omangold) - Thursday, 18 October 2018, 18:22 GMT
Okay, tried with snapshot gcc-8-20181012, but the situation stays the same. No hair.

But then I found that there already is a fix upstream:

https://developer.blender.org/rBSe5767eaad1c48a23eb3d8fed4616722189a70aa1

Cherry-picking that commit makes it work for me.
Comment by Sven-Hendrik Haase (Svenstaro) - Friday, 19 October 2018, 00:11 GMT
Check the new package.
Comment by Oliver Mangold (omangold) - Friday, 19 October 2018, 06:11 GMT
Works for me. Perfect!

Loading...