Description

When using VirtualHeightfieldMesh we see intermittent crashes in FDepthPassMeshProcessor::TryAddMeshBatch().
This can happen when FVirtualTextureProducerCollection::CallPendingCallbacks() is called after the VertexFactory has been cached in a MeshBatch, and before the MeshBatches are used to generate draw commands.
FVirtualHeightfieldMeshSceneProxy::CreateRenderThreadResources() needs to be rewritten so that the VertexFactory isn't cached.
FVirtualHeightfieldMeshSceneProxy::CreateRenderThreadResources() also needs to be fixed so that we don't access the unsafe URuntimeVirtualTexture object directly on the render thread. This access has a race condition where the wrong producer and allocated virtual texture can be returned.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-191183 in the post.

4
Login to Vote

Unresolved
CreatedJul 25, 2023
UpdatedJan 24, 2024