Page MenuHome

Naming Vertex Color attribute as "snout, Snout" causes shader error.
Closed, ResolvedPublic

Description

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GTX 1060 6GB/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 456.71

Blender Version
Broken: version: 2.90.1, branch: master, commit date: 2020-09-23 06:43, hash: rB3e85bb34d0d7
Also seems to be broken in 2.91.0
Worked:

Short description of error
Naming vertex color attribute to word "Snout" or with a little variance of capital letters causes shader not to compile. If the attribute is named in full capitals such as "SNOUT" the shader can compile.


Exact steps for others to reproduce the error

  1. Use the default cube.
  2. Create a new vertex color attribute for it.
  3. Add some colors through vertex painting.
  4. Name the Attribute as "Snout" or snout.
  5. Create a material (use emissive) and plug the created vertex color attribute into the color input.
  6. Shader won't compile
  7. Rename vertex color "Snout" attribute to something else.
  8. Update material attribute input name to match the renamed one.
  9. Shader compiles again.

Event Timeline

Teemu (TMug) renamed this task from Naming Vertex Color attribute as "snout, Snout" or causes shader error. to Naming Vertex Color attribute as "snout, Snout" causes shader error..Dec 10 2020, 12:41 PM
Teemu (TMug) created this task.
Robert Guetzkow (rjg) changed the task status from Needs Triage to Confirmed.Dec 10 2020, 4:22 PM

This seems to cause an invalid name to be generated internally:

ERROR (gpu.shader): MAMaterial VertShader:
      |
  114 | DEFINE_ATTR(vec4, aowS4__haaaa);
      |
      | Error:  C7528: OpenGL reserves names containing '__'