Page MenuHome

Pink Material with Node Groups in Eevee
Closed, ArchivedPublic

Description

System Information
Operating system: Linux-4.13.0-46-generic-x86_64-with-debian-stretch-sid 64 Bits
Graphics card: Quadro GP100/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 384.130

Blender Version
Broken: version: 2.80 (sub 51), branch: master, commit date: 2019-03-20 14:01, hash: rB4e0b5a0baf4f

Short description of error
In some cases while working on the production files of Spring, the material turns pink for Eevee. This is usually coupled with long shader compiling. I saw this usually only occurring for big material setups that use node groups to some extend.

Example file:

Both the jacket and rock end up pink when going into LookDev or rendering with Eevee. For the rock it seems to be the node group "rocks_frost" near the material output that is causing it. When skipping this node group the material renders fine.

The jacket used to render fine but then I put most of the textures into node groups and plugged them into the material on multiple locations. After that it ended up pink as well. By removing some of the node groups or muting enough nodes along the way, the pink material becomes fixed.

Details

Type
Bug

Event Timeline

Sebastian Parborg (zeddb) triaged this task as Confirmed, Medium priority.Mar 20 2019, 6:18 PM

Getting an assert:

BLI_assert failed: /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/node.c:1741, ntreeFreeLocalNode(), at '(ntree->id.tag & LIB_TAG_LOCALIZED) != 0'

And if I use lookdev or eevee, I simply get a black material which I suppose in the same error.

Clément Foucault (fclem) closed this task as Archived.Mar 20 2019, 7:43 PM

From @Julien Kaspar (JulienKaspar) on IRC:

GPUShader: linking error:
Fragment info
-------------
Internal error: assembly compile error for fragment shader at offset 1666214:
-- error message --
line 66297, column 1:  error: too many instructions

The shader is just too complex for the driver to generate a shader that would fit its maximum instruction count. The problem is that using nodegroups generate a few more dummy instructions that the compiler may not remove at compile time.

So we are talking about optimization here, not a real bug.

@Julien Kaspar (JulienKaspar) I added a small optimization for rgb curves (rBc49a70bcd113) that could help in this case. Here the material just displays black so I guess it is still not working on my end. But I have a different GPU so you might have better luck.

@Clément Foucault (fclem) Doesn't seem to help for me either. The materials still end up pink.