You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Code/Framework/AtomCore/Tests
Tommy Walton d0810892f1
ATOM-15358 : Culling concurrency checker fails in AtomSampleViewer (merge from 1.0->main)
Inserting, updating, and removing entries from a VisibilityScene was made thread safe in a previous change, and now both the MeshFeatureProcessor and DiffuseProbeGridFeatureProcessor update entries at the same time from multiple threads. This leads to an assert in the Culling concurrency_checker, even though this is now valid behavior.

However, we still don't want to be adding, removing, or updating cullables between BeginCulling and EndCulling, which could cause a mismatch between the result of OctreeScene::GetEntryCount and the actual number of cullables in the scene.

-Added soft_lock_shared/soft_unlock_shared to the concurrency checker to allow multiple threads to acquire a lock when that is the desired behavior, while still asserting that nothing tries to acquire a shared lock when the concurrency checker is already locked.
-Update Culling.cpp to use the new soft_lock_shared when adding, updating, or removing cullables
-Added unit tests for the concurrency_checker
-Updated ArrayView unit test to use AZ_TEST_START_TRACE_SUPPRESSION instead of manually checking the assertion count, so that test now passes in release builds which do not assert.
5 years ago
..
ArrayView.cpp ATOM-15358 : Culling concurrency checker fails in AtomSampleViewer (merge from 1.0->main) 5 years ago
ConcurrencyCheckerTests.cpp ATOM-15358 : Culling concurrency checker fails in AtomSampleViewer (merge from 1.0->main) 5 years ago
InstanceDatabase.cpp Initial commit 5 years ago
JsonSerializationUtilsTests.cpp Initial commit 5 years ago
Main.cpp Initial commit 5 years ago
NameSetTests.cpp Initial commit 5 years ago
atomcore_tests_files.cmake ATOM-15358 : Culling concurrency checker fails in AtomSampleViewer (merge from 1.0->main) 5 years ago
lru_cache.cpp Add newlines to the end of all files 5 years ago
vector_set.cpp Add newlines to the end of all files 5 years ago