overte-JulianGro/tests/shared
Anthony Thibault 442a679108 Make DepenencyManager thread-safe again
Before this PR, there were no locks around the two internal QHash data structures.
Races are rare, due to the fact that the DependencyManager is initialized on the main thread on startup and the fact that a static QWeakPointer was used as an internal cache.
However, there have been reported crashes where the render thread uses DependencyManager::isSet() perhaps while the main thread is adding a late dependency.
DependencyManager::isSet() did not use the static QWeakPointer cache and was more prone to race conditions.

To avoid this and perhaps other data races, mutexes now guard both of the internal QHash data structures.
Also, as an optimization, the most frequent call to DependencyManager::isSet was removed (Profile.cpp).
2019-05-10 14:12:10 -07:00
..
src Make DepenencyManager thread-safe again 2019-05-10 14:12:10 -07:00
CMakeLists.txt Cached shader binaries and uniform data for shaders 2018-05-24 12:42:33 -07:00