Page MenuHome

Fourth and subsequent vertex color / UV layers displayed black
Closed, ResolvedPublic

Description

System Information
Operating system: Ubuntu 18.04
Graphics card: GeForce GTX 1070

Blender Version
Broken: 2.8 2019-01-19 b0dee09a6d55
Worked: 2.79

Short description of error
After creating more than 3 vertex color layers on an object, the fourth and all of the following are displayed completely black.

Exact steps for others to reproduce the error

  1. Start blender with the default startup.
  2. Switch to Vertex Paint Mode.
  3. Open the "Object Data" Tab in the Properties Editor
  4. In the Vertex Colors Panel, add three more Vertex Color layers -> The fourth is displayed black.

Event Timeline

Philipp Oeser (lichtwerk) triaged this task as Confirmed, Medium priority.Jan 21 2019, 10:49 AM

Confirmed, checking...

Same is true for UVMaps (fourth one is also displayed 'blank')

Note it actually renders fine on F12 [the vertex color case, for UVs, the fourth also fails on F12 render]

Before digging deeper: @Clément Foucault (fclem): do you want me to dive deeper or is this one for you right away?

@Philipp Oeser (lichtwerk) You can go ahead and dig deeper. That does not ring any bell from me.

OK, will do some checking...

Philipp Oeser (lichtwerk) renamed this task from Fourth and subsequent vertex color layers displayed black to Fourth and subsequent vertex color / UV layers displayed black.Jan 28 2019, 2:08 PM

OK, this already turned into a major timesink for me, so I'm afraid I have to bounce this back to @Clément Foucault (fclem)

But here are some findings (not sure if they are related though):

  • This was caused by the port to batch request (rBa68edaf11d15). Prior to that, all layers displayed correctly.
  • I think I dont quite get the logic here (in conjunction with the alias here). For properly displaying vcol layers rdata->cd.layers.vcol_active is always decrementing to zero, not so for the "failing" ones...
  • also tried checking usages of mesh_cd_layers_type_merge and mesh_cd_layers_type_overlap in conjunction with local functions cd_lneeded[CD_MLOOPCOL] vs cache->cd_lneeded[CD_MLOOPCOL] but couldnt find anything suspicious there...

@Clément Foucault (fclem): mind taking over?

Thanks a lot!!! :) It's working now.