Particle Carpet renders different in 2.71 #41066

Closed
opened 2014-07-14 09:46:23 +02:00 by Reiner Prokein · 54 comments

System Information
Operating system and graphics card

Win 7 64 Bit, Nvidia Palit 760 gtx

Blender Version
Broken: (example: 2.69.7 4b206af, see splash screen)
Worked: (optional)

Broken in blender-2.71-c04f301-win64

Worked in 2.70

Short description of error

Particle Carpet renders different in 2.71

Exact steps for others to reproduce the error
Based on a (as simple as possible) attached .blend file with minimum amount of steps

I would have liked to provide the example scene with which i made the shot, but the form doesn't let me. It is too big with 7 Mb. So only a screenshot. Tell me where i can send the file to and i wil do so.

The carpet is made with Blender 2.70.carpetbug.jpg

**System Information** Operating system and graphics card Win 7 64 Bit, Nvidia Palit 760 gtx **Blender Version** Broken: (example: 2.69.7 4b206af, see splash screen) Worked: (optional) Broken in blender-2.71-c04f301-win64 Worked in 2.70 **Short description of error** Particle Carpet renders different in 2.71 **Exact steps for others to reproduce the error** Based on a (as simple as possible) attached .blend file with minimum amount of steps I would have liked to provide the example scene with which i made the shot, but the form doesn't let me. It is too big with 7 Mb. So only a screenshot. Tell me where i can send the file to and i wil do so. The carpet is made with Blender 2.70.![carpetbug.jpg](https://archive.blender.org/developer/F97767/carpetbug.jpg)
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @tiles

Added subscriber: @tiles

#42562 was marked as duplicate of this issue

#42562 was marked as duplicate of this issue

Added subscriber: @Sergey

Added subscriber: @Sergey

We really need sample file. Upload it pasteall.org or to ftp://ftp.blender.org/incoming

We really need sample file. Upload it pasteall.org or to ftp://ftp.blender.org/incoming
Author

Thanks sergey :)

File should be at ftp now :)

Thanks sergey :) File should be at ftp now :)

Moved file here https://download.blender.org/ftp/sergey/bugreports/teppichbau5.zip so it's not removed by the ftp cleanup script.

Moved file here https://download.blender.org/ftp/sergey/bugreports/teppichbau5.zip so it's not removed by the ftp cleanup script.

Added subscribers: @MartijnBerger, @ThomasDinges

Added subscribers: @MartijnBerger, @ThomasDinges

Can't reproduce the issue on linux.

@ThomasDinges, @MartijnBerger, mind testing it on windows?

Can't reproduce the issue on linux. @ThomasDinges, @MartijnBerger, mind testing it on windows?

Works fine with c04f301 (self build) and d9f3925 from Buildbot...

I would suggest to just try a new build.

Works fine with c04f301 (self build) and d9f3925 from Buildbot... I would suggest to just try a new build.

Moving to BF Unconfirmed, until someone can reproduce it, the render (both F12 and Viewport) looks like in the 2.70 screen shot. Maybe try File -> Load Factory Settings before opening the carpet file.

Moving to BF Unconfirmed, until someone can reproduce it, the render (both F12 and Viewport) looks like in the 2.70 screen shot. Maybe try File -> Load Factory Settings before opening the carpet file.
Author

Thanks for having a look everybody :)

And interesting. I have of course downloaded a new build before i have reported the issue. And i have of course also tried factory settings. And it is still an issue here in the build from today. blender-2.71-dbc79e7-win64

Something i didn't notice yesterday: when i render with GPU, then the carpet renders fine. The issue happens in CPU rendering.

I did some further investigations and have tested it at my laptop now. And here it renders also fine at CPU. But here i don't have GPU. It's a ati card. I have also reactivated my old pc, and here it renders fine in both cpu and gpu mode. Both win 7 home 64 bit like my main pc.

So it must be something connected to my specific pc rig. I just wonder what. Graphics Driver is up to date. 337.88. And so are the rest of the components. The pc is four weeks old now.

Since it happens just in CPU mode at one pc, can it be that there is a problem with my CPU at this pc? It's a i7 4770 Haswell.

Thanks for having a look everybody :) And interesting. I have of course downloaded a new build before i have reported the issue. And i have of course also tried factory settings. And it is still an issue here in the build from today. blender-2.71-dbc79e7-win64 Something i didn't notice yesterday: when i render with GPU, then the carpet renders fine. The issue happens in CPU rendering. I did some further investigations and have tested it at my laptop now. And here it renders also fine at CPU. But here i don't have GPU. It's a ati card. I have also reactivated my old pc, and here it renders fine in both cpu and gpu mode. Both win 7 home 64 bit like my main pc. So it must be something connected to my specific pc rig. I just wonder what. Graphics Driver is up to date. 337.88. And so are the rest of the components. The pc is four weeks old now. Since it happens just in CPU mode at one pc, can it be that there is a problem with my CPU at this pc? It's a i7 4770 Haswell.
Member

The presence or absence of cpu features causes different code do run.

Your Haswell is capable of running the AVX and AVX2 kernels in those versions of blender where they are present. The older msvc cannot emit AVX instruction so the maximum feature level you could get even on your haswell is sse4.1 but with msvc 2013 you might be getting the AVX compiled kernel and that might have a problem in it.

The presence or absence of cpu features causes different code do run. Your Haswell is capable of running the AVX and AVX2 kernels in those versions of blender where they are present. The older msvc cannot emit AVX instruction so the maximum feature level you could get even on your haswell is sse4.1 but with msvc 2013 you might be getting the AVX compiled kernel and that might have a problem in it.
Author

Thanks juicyfruit. Sounds to me like i cannot really do anything here by myself. I hope the informations are nevertheless useful to catch the baddie :)

Thanks juicyfruit. Sounds to me like i cannot really do anything here by myself. I hope the informations are nevertheless useful to catch the baddie :)

Does the official 2.71 release work for you?

Does the official 2.71 release work for you?
Author

Yes, here it works. But this version crashes very often. So i am kind of trapped here since this new version fixes the crashes.

Yes, here it works. But this version crashes very often. So i am kind of trapped here since this new version fixes the crashes.
Member

@ThomasDinges what crash-fixing bugs did we solve specific to windows since 2.71 ?

@ThomasDinges what crash-fixing bugs did we solve specific to windows since 2.71 ?
Thomas Dinges self-assigned this 2014-07-15 10:57:21 +02:00

@MartijnBerger, probably new shadow code, we had a bug there.

Anyway, I suspect FMA code here, we use that in the AVX2 Kernel inside hair bvh intersection. Will check.

@MartijnBerger, probably new shadow code, we had a bug there. Anyway, I suspect FMA code here, we use that in the AVX2 Kernel inside hair bvh intersection. Will check.
Thomas Dinges removed their assignment 2014-07-15 12:42:06 +02:00

It works fine on my Macbook Pro with Haswell CPU, so it could be a Windows specific AVX2 issue...I can't test that though (no Windows computer with haswell).

Maybe someone else is more lucky.

It works fine on my Macbook Pro with Haswell CPU, so it could be a Windows specific AVX2 issue...I can't test that though (no Windows computer with haswell). Maybe someone else is more lucky.

@MartijnBerger can you run the file on an AVX2 CPU on Windows? Otherwise I would close this report, as no one could confirm it.

@MartijnBerger can you run the file on an AVX2 CPU on Windows? Otherwise I would close this report, as no one could confirm it.
Member

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Lukas Tönne self-assigned this 2014-10-15 10:49:21 +02:00
Member

Closing the report, it's several months old now and not reproducible.

Closing the report, it's several months old now and not reproducible.
Author

Well, i can still confirm and reproduce it, but i guess i don't count ^^

Well, i can still confirm and reproduce it, but i guess i don't count ^^

Added subscriber: @soderlind

Added subscriber: @soderlind

I can confirm the same issue happening on my computer. 2.72 32-bit seems to work but not 64-bit.

If the Cycles Hair Rendering -> Primitive: is "Curve Segments", the strands will not render at all.

CurveSegments-strands_missing.png

Don't know if it's related but changing it to "Line Segments" it will at least render something, but depending on the viewing angle it will render with a kind of Moiré pattern of holes in the strands.
This is more obvious when you zoom in. I see it clearly in orthographic view. Perspective and camera view looks better but there might still be a tiny difference between 32 and 64 bit. Not sure.

LineSegments-moire_pattern.png

System Information

Windows 7 64-bit, 16GB RAM, i7-4770 CPU using Intel HD Graphics 4600

Blender Version
Broken: 2.72 64-bit
Worked: 2.72 32-bit, 2.71 64-bit

I can confirm the same issue happening on my computer. 2.72 32-bit seems to work but not 64-bit. If the Cycles Hair Rendering -> Primitive: is "Curve Segments", the strands will not render at all. ![CurveSegments-strands_missing.png](https://archive.blender.org/developer/F117107/CurveSegments-strands_missing.png) Don't know if it's related but changing it to "Line Segments" it will at least render something, but depending on the viewing angle it will render with a kind of Moiré pattern of holes in the strands. This is more obvious when you zoom in. I see it clearly in orthographic view. Perspective and camera view looks better but there might still be a tiny difference between 32 and 64 bit. Not sure. ![LineSegments-moire_pattern.png](https://archive.blender.org/developer/F117109/LineSegments-moire_pattern.png) System Information Windows 7 64-bit, 16GB RAM, i7-4770 CPU using Intel HD Graphics 4600 Blender Version Broken: 2.72 64-bit Worked: 2.72 32-bit, 2.71 64-bit

Changed status from 'Archived' to: 'Open'

Changed status from 'Archived' to: 'Open'

So it seems to be indeed related to Windows + SIMD (AVX2). Now we need to figure out if it's dedicated AVX2 code or auto vectorization of the compiler.

So it seems to be indeed related to Windows + SIMD (AVX2). Now we need to figure out if it's dedicated AVX2 code or auto vectorization of the compiler.

Can you please test this build here? http://blender.dingto.org/blender_win64_noAVX2.zip That is the current master branch, but without AVX2 support. Disabling that is of course not a proper fix, but would help to narrow down the issue.

Can you please test this build here? http://blender.dingto.org/blender_win64_noAVX2.zip That is the current master branch, but without AVX2 support. Disabling that is of course not a proper fix, but would help to narrow down the issue.
Author

Seems to work fine with AVX2 disabled. But i am not sure where Cycle currently renders. CPU or GPU. The render tab just gives me the choice between supported and experimental. Not the choice between CPU and GPU.

Seems to work fine with AVX2 disabled. But i am not sure where Cycle currently renders. CPU or GPU. The render tab just gives me the choice between supported and experimental. Not the choice between CPU and GPU.

When you don't have the CPU/GPU menu, it's always CPU. The build is without CUDA, as it is irrelevant for this bug report. AVX2 is a CPU only feature.

Now we at least know where the issue is (roughly), but which lines of code is malfunctioning with the MSVC compiler is still unclear, we need a developer with Windows + Haswell CPU, to debug this.

When you don't have the CPU/GPU menu, it's always CPU. The build is without CUDA, as it is irrelevant for this bug report. AVX2 is a CPU only feature. Now we at least know where the issue is (roughly), but which lines of code is malfunctioning with the MSVC compiler is still unclear, we need a developer with Windows + Haswell CPU, to debug this.
Author

Thanks. I see. I'm no C developer, sorry. All i can offer at the moment is Windows plus the haswell cpu. So i can always test if a change has fixed the issue.

And maybe a hint. It worked fine with Blender 2.70. Maybe you can come closer to the problem when looking at the file version from 2.70 and the file version from now to find out what is different. This would at least reduce the number of lines in question again.

Thanks. I see. I'm no C developer, sorry. All i can offer at the moment is Windows plus the haswell cpu. So i can always test if a change has fixed the issue. And maybe a hint. It worked fine with Blender 2.70. Maybe you can come closer to the problem when looking at the file version from 2.70 and the file version from now to find out what is different. This would at least reduce the number of lines in question again.

2.71 should also work, AVX2 was added for 2.72.

I will try to narrow it down further, and upload a new build later.

2.71 should also work, AVX2 was added for 2.72. I will try to narrow it down further, and upload a new build later.
Author

Just thougth i chime in to confirm that 2.71 worked too. Good luck.

Just thougth i chime in to confirm that 2.71 worked too. Good luck.
Lukas Tönne removed their assignment 2014-11-05 11:49:41 +01:00
Member

Added subscriber: @LukasTonne

Added subscriber: @LukasTonne
Thomas Dinges was assigned by Julian Eisel 2014-11-05 11:55:52 +01:00
Member

Added subscriber: @JulianEisel

Added subscriber: @JulianEisel

Added subscriber: @JASMS

Added subscriber: @JASMS

Added subscriber: @brecht

Added subscriber: @brecht

Closed a duplicate of this report. If it's difficult to find a fix for this I would suggest to just disable the AVX 2 kernel for now, it's better to have a working kernel than a slightly faster kernel.

Closed a duplicate of this report. If it's difficult to find a fix for this I would suggest to just disable the AVX 2 kernel for now, it's better to have a working kernel than a slightly faster kernel.

@brecht, @LukasTonne now have laptop with avx2, i hope to have a look into this issue before going back home :)

@brecht, @LukasTonne now have laptop with avx2, i hope to have a look into this issue before going back home :)

I will check this today.

I will check this today.

This issue was referenced by 8f8b9b58f6

This issue was referenced by 8f8b9b58f6650e104a04670f43d2ef81f861efcd

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'

Closed by commit 8f8b9b58f6.

Closed by commit 8f8b9b58f6.

I checked on a Windows desktop at the university now with Haswell CPU, issue is in the FMA functions. Didn't checked further, simply disable FMA on MSVC now.

I checked on a Windows desktop at the university now with Haswell CPU, issue is in the FMA functions. Didn't checked further, simply disable FMA on MSVC now.

Added subscriber: @kopias

Added subscriber: @kopias

no issues on win7x64 mingw-w64 (gcc 4.7.1)

seems its relevant to msvc only

no issues on win7x64 mingw-w64 (gcc 4.7.1) seems its relevant to msvc only

Yes, the fix applies to MSVC only.

Yes, the fix applies to MSVC only.
Author

Thanks for fixing :)

Thanks for fixing :)

This issue was referenced by c8fb488b08

This issue was referenced by c8fb488b087f91ba58ac16e4e76050b660122417
Member

Added subscriber: @Lockal

Added subscriber: @Lockal
Member

Committed an actual fix. This problem comes from embree, both nmadd and nmsub functions in avxf and ssef are incorrect there.

Committed an actual fix. This problem comes from embree, both nmadd and nmsub functions in avxf and ssef are incorrect there.

@Lockal Thanks for that. Did you report this issue upstream?

@Lockal Thanks for that. Did you report this issue upstream?
Member
@ThomasDinges yes, the report is here: https://github.com/embree/embree/issues/30

This issue was referenced by blender/cycles@4c43429cfb

This issue was referenced by blender/cycles@4c43429cfbbce383551d25704855e436a487667c
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
11 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#41066
No description provided.