Concrete source and engine leads after the 610.88 incident
Read-only source/research review, 17 September 2026. No test or GPU launch by this reviewer. The separately authorized fresh-copy API/package port is recorded in upgrade-changes.md.
Correct starting evidence
The latest Player.log identifies Direct3D11, NVIDIA 32.0.16.1088, alps-02, Low, Rain, seed 9909140 and three load sequences. The executable's folder name includes ForwardCandidate, but this ordinary launch did not request Forward or isolation; its normal path is Deferred. Therefore this is another current-content DX11 failure on 610.88, not a newly matched Forward test. The old Rampage66 content cannot rule out a benefit from upgrading the current project.
Earlier full-scene Forward and Forward plus native-RenderGraph-off tests also failed. NativeBillboardsMinimalEffects passed bounded alpine and Blackpine tests, but changes both submission/content and several effects. Those successes do not isolate one broken shader. A first-race failure and a countdown failure make lap crossing and repeated unloading unnecessary conditions for the observed class of resets.
Source examination
- The race agent reviewed
RaceProgress.cs:150–160,RampageApp.cs:263–318andRampageUI.cs:375: the non-final lap transition changes gate/lap counters and HUD text. It does not allocate/release GPU resources, recreate the camera or swap the pipeline. Final results also retain the world. No 105-second renderer trigger was found. SceneLighting.cs:57–74configures every active sky component as Realtime with a one-second update period.RegionalWeather.cs:159–188advances a 245-second weather phase, animates sunlight/fog/cloud opacity each frame and changes wet-road property blocks every 0.25 seconds. The weather phase includes a session seed, so a fixed wall-clock time is not a universal threshold. This is the clearest ongoing rendering-state mutation shared by an otherwise steady race.- Pinned HDRP
SkyManager.cs:1173–1229skips periodic environment regeneration for a valid OnDemand sky, but forces it for Realtime after the period. That path creates the sky cube, updates ambient probes and performs GGX convolution. The race agent independently matched the newly logged 108-byte buffer to the 27-uint ambient-probe allocation and subsequent cubemap/CopyTexture operations. This is a path candidate, not causal proof: allocation errors after device removal can be fallout from a prior GPU hang. - Cloud texture cache churn is a different mechanism and should not be conflated with sky regeneration. In
CloudLayer.cs:203–224,278–303, the bake hash includes layer channels, cloud-map geometry and integer sun angles; it does not include the overall CloudLayer opacity or sun intensity/color animated by RegionalWeather. The local code already uses a square, single-layer map with cloud shadows disabled. Its routine weather animation therefore does not by itself demonstrate per-frame cloud RT allocation. AlpineGrassVerge.cs:268–273andAlpineCanyonDressing.cs:322–344use bounded matrix arrays/256-instance batches. No out-of-range submission was found. Their instanced paths and workload remain unexcluded, but there is no new evidence justifying another broad instancing switch before the targeted comparisons.
Applicable engine evidence and exclusions
| Evidence | Meaning for this project |
|---|---|
| Unity 6.6.0 final notes list UUM-104763 (constant-buffer scratch lifetime) and UUM-120711 (submission data after EndRenderPassImpl). Official final notes | Both are concrete DX12 mechanisms worth including in a current-content port. Neither is proof of the historical CBV violation's cause or an explanation of normal DX11/Vulkan failures. |
| UUM-138597 periodically flushes excessive pending DX12 command buffers. Official 6.3.14 notes | Already documented before current 6.3.24. Its appearance in cumulative 6.6 notes is not a newly available repair for this project. |
| UUM-87044 prevents immediate mesh destruction during OnWillRenderObject. Official release note | The inspected Rampage runtime contains no OnWillRenderObject handler; runtime-owned resource destruction uses delayed Destroy while playing. The similar low-level crash name alone is weak evidence of applicability. |
| UUM-101692: Vulkan standalone freezing with multiple monitors, fixed in older 6.0/6.1/6.2 lines. Official issue | Its documented reproduction excludes DX11/DX12. It is not a common explanation of the current failures, and no fresh relevant 6.6 fix is established by this issue. |
| Local 17.6 CloudLayerRenderer differs from pinned 17.3: instance-held compute shader references and additional cache clearing, alongside CoreCLR migration. Official 6.6 notes | A real source delta, but the notes identify CoreCLR compatibility, not a Windows GPU-hang fix. Do not label this diff a proven cache-lifetime repair. |
| 6.6 notes also mention corrupted local-fog indirect arguments (SRP-1086), SSGI/APV parameter mismatch (UUM-143777) and screen-space lens-flare debug view errors (UUM-137378). Official notes | Low uses non-volumetric fog by default; SSGI is disabled in the asset; the run is not a lens-flare debug view. These prerequisites are not established. They should not be advertised as matching TDR fixes. |
The installed HDRP changelog directs 17.3 and newer release details to the Editor release archive rather than enumerating a complete package-to-package fix list. No verified single official correction found here explains all three APIs with this exact current content.
Ordered interventions
- Now: complete the root-owned fresh current-content 6.6/17.6 port and preserve its full actual package/import delta. Keep the selected driver, scenario, quality, full scenery/effects and default Deferred path consistent. This closes an invalid historical comparison; it is a stack/API port, not proof that one named Unity fix repairs the crash. Do not mix a sky change into this build.
- If a focused application-side comparison is needed: on one baseline build, add an opt-in static indirect-sky mode that changes only the sky update mode to OnDemand after its initial valid render. Keep the visible sky/clouds, rain, wetness, shadows, geometry, camera and postprocessing active. Verify the effective sky mode and a valid initial environment; do not equate the requested flag with suppression of subsequent convolution. This targets the recurring ambient/convolution path implicated by the resource sizes instead of removing the full effect stack.
A failure with a verified static indirect sky would show that periodic sky refresh is not necessary for that failure. A pass would prioritize this rendering workload/resource lifetime interaction, not prove a Unity or application defect. Neither result should be generalized from a short race or from missing OS-event collection. This report authorizes no additional launch; root owns scheduling and process cleanup.