Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NCXU49xtHLSry4TQEzVN2m
2.5 KiB
Forge (Windows) — rebuild engine main at 4fde0e94 (G2 pooled GPU cull + static shadow fixes)
Mac engine/macos-arm64 is engine 4fde0e94 (2026-10-18, 4.7.2.stable.mono.custom_build.4fde0e94d). Windows is
9dcc5d458. The game pins 4.7.2@4fde0e94d (owner's call: publish Mac-only while Windows sleeps), and
shaders/tree_wind.gdshader uses the new STATIC_SHADOW_AT_REST built-in, so a 9dcc5d45 engine both hits the
mismatch dialog and fails that shader. Rebuild before anything else on Windows.
Build
tinqs pull the engine and git checkout 4fde0e94 (later main commits may be docs or G4 work; build the pinned hash).
Flags from the windows-x64 manifest block. Regenerate GodotSharp from that binary (--generate-mono-glue modules/mono/glue, build_assemblies.py --godot-output-dir=bin --godot-platform=windows) and publish the WHOLE
bin/GodotSharp (Api/ and Tools/).
New since 9dcc5d45 (not compiled on Windows yet)
- G2 pooled GPU cull:
servers/rendering/gpu_cull_arena.h,renderer_rd/shaders/effects/multimesh_cull.glsl,renderer_rd/effects/multimesh_cull.*,storage_rd/mesh_storage.*,forward_clustered/render_forward_clustered.cpp. Three shared storage arenas (each < 512 MiB, the D3D12 raw-buffer limit); no buffer device address. Switchrendering/occlusion_culling/gpu_cull_pooled/RenderingServer.multimesh_gpu_cull_set_pooled, default off. - Fixed shadow LOD band for gpu-culled MultiMeshes (
gpu_cull_shadow_fixed_band,multimesh_set_gpu_shadow_band), default off. STATIC_SHADOW_AT_RESTshader built-in, true only in static shadow tile passes whenrendering/lights_and_shadows/directional_shadow/static_casters_at_restis on; default off.
Checks
- Oracle
bash tests/gpu_oracle/multimesh_cull_pool/run.sh <exe> d3d12(Mac Metal: 4524/4524). This gates making pool the default. Also re-runtests/gpu_oracle/draw_indirect_count/run.sh <exe> d3d12(expect 22/2 as before). - Game in-world on the new pair:
tree_windcompiles (noUnknown identifier STATIC_SHADOW_AT_REST).env gpucull status; then the G0/G1 profile (.agents/handoffs/2026-10-18-windows-g0-render-thread-profile.mdin ariki-game) with states"pool off=gpucull:pool off" "pool on=gpucull:pool on". Mac result: cull dispatches 258/422/464 → 2, fps +1/0/+1, render CPU −0.3 ms at the village; Windows records those dispatches on its render thread, so expect a larger gain there. Report the table. - Publish windows-x64 here (binary + console binary + complete GodotSharp, sha256s, manifest note, CRLF), push.