Page MenuHome

Some texture node combinations causes weird behavior.
Open, Needs Triage by DeveloperPublic


System Information
Operating system: Linux-4.18.0-21-generic-x86_64-with-Ubuntu-18.04-bionic 64 Bits
Graphics card: Radeon RX 580 Series (POLARIS10, DRM 3.26.0, 4.18.0-21-generic, LLVM 7.0.1) X.Org 4.5 (Core Profile) Mesa 18.2.0-rc3

Blender Version
Broken: version: 2.80 (sub 74), branch: master, commit date: 2019-05-31 15:06, hash: rB9899999e944c
Worked: 2.79; cycles

Short description of error
When using some of my node groups from 2.79, some combinations will cause the material to display something similar to using a viewer node (from Node Wrangler) to view Texture Coordinates. My limited research has pointed me towards an OpenGL limitation of 16(?) textures; However, I'm not sure this is the case here.

The object on the left has my original node group(s) which has a total of 11 noise textures. The object on the right has the voronoi textures from "TEXTURE_ROUGHNESS" and "SHADER-DUST" muted but I added 5 more noise textures to the setup, bringing the total of the noise textures to 14.

The object on the right apparently works, but not the one on the left, despite it having less texture nodes.

Exact steps for others to reproduce the error
Blend file included.

Additional log files
Output of running with --debug-gpu



Event Timeline

There are limits with what OpenGL shader compilers can handle, realtime rendering is not really designed to use shading networks this complicated.

While there may be ways to optimize Eevee shader compilation to handle these kinds of cases better, I'm not sure we'd consider it a bug.

That maybe from a developer point of view, but for end users with no knowledge of the inner workings of Eevee nor OpenGL this seems counter-intuitive and confusing especially when one configuration works and the other doesn't despite it having a simpler configuration. With that said, of course any optimisation would be welcomed and greatly appreciated.

Perhaps there should be (user-friendly) error messages when the shader compilation fails, so that when cases like this happen, the user would not spend countless hours trying to figure out what went wrong and what should be done.


On AMD Radeon HD 7570M the result is different:

I don't know exactly where to look.