engine(macos-arm64): publish e64890fd — Apple render-thread autorelease drain (Mach-port/Metal leak under thread_model=2), G4 mergeable-draw counter; GodotSharp regenerated; Forge handoff

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NCXU49xtHLSry4TQEzVN2m
This commit is contained in:
ozanandClaude Opus 5.5 committed 2026-10-18 21:05:12 +01:00
1 parent 26cc48e674
commit 004ca6d959
34 files changed
+62 -47

No files matched your search

+2 -2
View File
@@ -31,10 +31,10 @@ into GodotSharp, so GodotSharp had to be regenerated — and must ship here alon
| Platform | Engine | Terrain3D | GodotSharp shipped? |
|---|---|---|---|
| `engine/macos-arm64/` | **4.7.2** (`4fde0e94`) — G2 pooled GPU cull (one reset + one cull dispatch per camera render), fixed shadow LOD band and `STATIC_SHADOW_AT_REST` for static shadow tiles (all default off), on top of everything `9dcc5d45` had | built-in module | ✅ yes (`GodotSharp/`) |
| `engine/macos-arm64/` | **4.7.2** (`e64890fd`) — `4fde0e94` plus the Apple render-thread autorelease drain (fixes the Mach-port / Metal leak under `thread_model=2`) and the G4 mergeable-draw counter | built-in module | ✅ yes (`GodotSharp/`) |
| `engine/windows-x64/` | **4.7.2** (`4fde0e94d`) — same hash as macos-arm64: everything `9dcc5d45` had plus G2 pooled cull (`gpu_cull_pooled` default off), fixed shadow band, `STATIC_SHADOW_AT_REST` (tree_wind needs it); `template_release` here is still the `1e7be28b` tree | built-in module | ✅ yes (`GodotSharp/`) |
Mac is engine `4fde0e94` as of 2026-10-18 (`--version` prints `4.7.2.stable.mono.custom_build.4fde0e94d`): G2 pooled GPU cull over shared storage arenas (`rendering/occlusion_culling/gpu_cull_pooled`, game dial `env gpucull pool`), a fixed shadow LOD band for gpu-culled MultiMeshes (`gpu_cull_shadow_fixed_band`, `env gpucull shadowband`) and the `STATIC_SHADOW_AT_REST` shader built-in (`static_casters_at_rest`, `env gpucull staticrest`); all default off. GodotSharp regenerated (API + Tools). Oracles on Metal: `multimesh_cull_pool` 4524/4524, `draw_indirect_count` 24/24. Windows is also engine `4fde0e94` as of 2026-10-18 — Forge built it in parallel with the Mac (`.agents/handoffs/forge-windows-g2-4fde0e94.md`), so both platforms and the `4.7.2@4fde0e94d` pin (the game's `tree_wind.gdshader` uses the new built-in) share one hash. Underneath is the `9dcc5d458` pair (SSCS contact shadows, hero shadow min-combine, upstream 4.8 shadow fixes #121775/#124348 with the game sun bias 0.014, `draw_list_draw_indirect_count`), where the D3D12 oracle on RTX 5080 was 22 passed / 2 failed — the base-instance pair, the documented D3D12 gap (`.agents/handoffs/forge-windows-sscs-9dcc5d45.md`); `--gpu-validation` needs the D3D12 debug layer, which Forge lacks (Graphics Tools not installed). Still owed on Windows: `multimesh_cull_pool` oracle (gates making pool the default), the validation pass, and in-world checks (`herocombine`, `contactshadow`, SSCS in `--gpu-profile`, sun acne at bias 0.014, pooled gpucull census).
Mac is engine `e64890fd` as of 2026-10-18 (`--version` prints `4.7.2.stable.mono.custom_build.e64890fd3`): `4fde0e94` plus the separate render thread draining an Objective-C autorelease pool each flush — before, autoreleased Metal command buffers, encoders and drawables leaked ~88 Mach ports/s until no new Metal process could start (66k ports / 23 GB after 1.5 h); now flat at ~640 ports — and `RENDERING_INFO_GPU_CULL_MERGEABLE_DRAWS_IN_FRAME`. Underneath, `4fde0e94` added: G2 pooled GPU cull over shared storage arenas (`rendering/occlusion_culling/gpu_cull_pooled`, game dial `env gpucull pool`), a fixed shadow LOD band for gpu-culled MultiMeshes (`gpu_cull_shadow_fixed_band`, `env gpucull shadowband`) and the `STATIC_SHADOW_AT_REST` shader built-in (`static_casters_at_rest`, `env gpucull staticrest`); all default off. GodotSharp regenerated (API + Tools). Oracles on Metal: `multimesh_cull_pool` 4524/4524, `draw_indirect_count` 24/24. Windows is also engine `4fde0e94` as of 2026-10-18 — Forge built it in parallel with the Mac (`.agents/handoffs/forge-windows-g2-4fde0e94.md`), so both platforms and the `4.7.2@4fde0e94d` pin (the game's `tree_wind.gdshader` uses the new built-in) share one hash. Underneath is the `9dcc5d458` pair (SSCS contact shadows, hero shadow min-combine, upstream 4.8 shadow fixes #121775/#124348 with the game sun bias 0.014, `draw_list_draw_indirect_count`), where the D3D12 oracle on RTX 5080 was 22 passed / 2 failed — the base-instance pair, the documented D3D12 gap (`.agents/handoffs/forge-windows-sscs-9dcc5d45.md`); `--gpu-validation` needs the D3D12 debug layer, which Forge lacks (Graphics Tools not installed). Still owed on Windows: `multimesh_cull_pool` oracle (gates making pool the default), the validation pass, and in-world checks (`herocombine`, `contactshadow`, SSCS in `--gpu-profile`, sun acne at bias 0.014, pooled gpucull census).
Long-term: CI (Gitea Actions) builds on push and publishes here / to S3 —
`docs/ai/plans/build-pipeline-architecture-2026-06-07.md`.