Page MenuHome

Fix T76730: DrawManager Assert Z Ordering
AbandonedPublic

Authored by Jeroen Bakker (jbakker) on May 14 2020, 10:23 AM.

Details

Summary

For EEVEE transparent materials can be ordered according to their view
depth. In some occasions the depth ordering contained shading groups
that only have DRWState changes. When that happens the actual view depth
could not be determined. The assert addresses these cases.

A better solution would be to find the cases when this happens and don
't create these empty shading groups.

Diff Detail

Repository
rB Blender

Event Timeline

Clément Foucault (fclem) requested changes to this revision.May 18 2020, 4:54 PM

The operations for the case handle == 0 are well defined so no crash should happen.

However, the assert is just here because this makes no sense to sort empty shading groups.

The real issue here is the fact that the drawcall is bypassed by the (ob->dt >= OB_SOLID) check in eevee_material.c. Unfortunately I don't see an easy way to workaround this and I would simply just remove/comment the assert.

This revision now requires changes to proceed.May 18 2020, 4:54 PM