Page MenuHome

Fix T77893: Crash drawmanager threading custom data
ClosedPublic

Authored by Jeroen Bakker (jbakker) on Jun 23 2020, 10:51 AM.

Details

Summary

Tangent normals were temporarily saved in the original given layers but
the typeinfo wasn't updated. This lead to several issues since we
changed the threading of the mesh extraction.

This patch stores the tangent normals in a temporary custom data on the
stack this way the typemap doesn't need to be updated.

Still need to run the tests for an hour to see if it is fixed

Diff Detail

Repository
rB Blender

Event Timeline

Jeroen Bakker (jbakker) requested review of this revision.Jun 23 2020, 10:51 AM
Jeroen Bakker (jbakker) created this revision.

Cannot comment on code, but survives my tests now

This revision is now accepted and ready to land.Jun 23 2020, 11:59 AM
This revision now requires review to proceed.Jun 23 2020, 12:12 PM

Wasn't the original intention to avoid recomputing the tangents? I guess nowadays it makes little sense since we have granular batch discard.

This revision is now accepted and ready to land.Jun 23 2020, 2:14 PM

I still think it is wise to cache the tangent normals as they can be heavy to calculate. But on the other hand the tangents are only used for drawing and they are cached in a GPUBatch...