Repository navigation
Worker count at run time, colour counts, def names, stored ids; test_world.c, test_body_query.c, test_broad_phase.c whole; the rolling mix traced (#142, #143, #146) - #154
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
More of Box3D
e77352c's API and the rest of its test files: test_world.c (apart from the hull database), test_body_query.c, test_broad_phase.c, test_id.c, the SIMD width test and two partial tests now pass on this engine. One counter is fixed on the way.API (#148, part):
physics_world.set_worker_count/get_worker_count(b3World_SetWorkerCount). They rebuild a world's own threads, worker slots and task contexts between steps, clamped to [1, MAX_WORKERS]. A world stepping on a host's scheduler keeps that scheduler's count. The world's worker setup and teardown are now one pair of functions.Counters.color_counts(each colour's contacts and joints, the overflow last).get_max_manifold_points.nameonBodyDefandShapeDef.store_body_id/load_body_idand the shape, joint and world ones).A bug fixed:
Counters.awake_contact_countcounted only the awake set's non-touching contacts. The reference counts every contact the collide pass touches, the graph's colours included; ours now does the same, checked on the overflow pile.test_world.c, the rest (#142, closes it apart from TestHullDatabase, which goes with #147):
shared/overflow_color.c).test_body_query.c, the rest (#143, closes it):
The rest of #146 (closes it):
test_determinism.ae), with every manifold impulse folded into the trace. Our lane width is the build's, so the golden trace gains the scene (120 new lines, no existing line changed) and CI checks it on the four-lane build and the AVX2 one. Locally the AVX2 build matches the four-lane golden bit for bit.Still open in #148: serialization (the tree's save and load, the height field's dump and load, the compound's bytes) and a run-time SIMD width. Our width is a build choice, and std.lanes compiles one width per program.
Local gate on Aether 0.794.0: all 33 suites pass with no warnings, and the golden trace matches bit for bit (1,256 steps with the rolling mix). Pins: Aether 0.794.0 and aeb v0.325, the latest releases.
Closes #142. Closes #143. Closes #146. Refs #148, #147.