Workqueue stuck on loop
Closed this issue · 1 comments
The workqueue gets stuck in it's loop waiting for pending tasks to finish.
Adding the dependency causes the pending tasks to increment, but because the rootLevelOctants is empty there's no work task to decrement it.
turso3d/Turso3D/Renderer/Renderer.cpp
Lines 338 to 349 in 86aa704
How to reproduce:
Using the supplied Turso3DTest, just put a return statement on scene creation preset 0.
As a workaround the dependency is only set if the rootLevelOctants is not empty, but I'm not sure if that's correct approach.
Thanks, good find! Clients of the WorkQueue need to make sure they don't add dependencies that will not complete, so Renderer should early-out in case of no octants (nothing to render)