wip(assembler): round L2 -- the cross-platform hash check can fail; FP contraction changes the world
Clang -ffp-contract=on/fast and GCC's default (fast) all change the density hash on the L1 view; contraction off reproduces L1 (= Windows S13) at W1/W12. Seed sweep: 48 FloatingIslands seeds and 14 effective SurfaceWorld seeds (34 of 48 fell on a seed-independent cube) match across Clang/GCC and W1/W12. Standalone gains --seed/--recipe/--render-distance-chunks (viewer + headless) and a Windows replay script. Linux standalone workers get 32 MiB pthread stacks (TLS is 17.3 MiB/thread), so no external stack limit is needed. No Core or world-output change; MSVC compile unverified. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1276fd11e3
commit
303b7b9f24
17 files changed
+1401
-13
No files matched your search
@@ -27,8 +27,8 @@ if [[ ! "$JOBS" =~ ^[0-9]+$ ]] || ((JOBS < 1 || JOBS > 12)); then
|
||||
printf 'jobs must be from 1 to 12\n' >&2
|
||||
exit 2
|
||||
fi
|
||||
if [[ "$FP_CONTRACT" != "off" && "$FP_CONTRACT" != "on" && "$FP_CONTRACT" != "fast" ]]; then
|
||||
printf 'fp-contract must be off, on, or fast\n' >&2
|
||||
if [[ "$FP_CONTRACT" != "default" && "$FP_CONTRACT" != "off" && "$FP_CONTRACT" != "on" && "$FP_CONTRACT" != "fast" ]]; then
|
||||
printf 'fp-contract must be default, off, on, or fast\n' >&2
|
||||
exit 2
|
||||
fi
|
||||
command -v "$COMPILER" >/dev/null || { printf 'Compiler not found: %s\n' "$COMPILER" >&2; exit 2; }
|
||||
@@ -47,9 +47,12 @@ INCLUDES=(
|
||||
"-I$ROOT/Source/VoxelForge/Private"
|
||||
)
|
||||
FLAGS=(
|
||||
-std=c++20 -O2 -mavx2 -mfma "-ffp-contract=$FP_CONTRACT" -fno-fast-math
|
||||
-std=c++20 -O2 -mavx2 -mfma -fno-fast-math
|
||||
-fexceptions -pthread "${INCLUDES[@]}"
|
||||
)
|
||||
if [[ "$FP_CONTRACT" != "default" ]]; then
|
||||
FLAGS+=("-ffp-contract=$FP_CONTRACT")
|
||||
fi
|
||||
if [[ "$($COMPILER --version | head -n 1)" == *clang* ]]; then
|
||||
FLAGS+=(-Wno-c++11-narrowing)
|
||||
else
|
||||
|
||||
Reference in new issue
Block a user