Skip to content

feat(endfield): update for version 1.4.4 - #607

Open
ItsTheSewerRat wants to merge 41 commits into
clshortfuse:mainfrom
ItsTheSewerRat:main
Open

feat(endfield): update for version 1.4.4#607
ItsTheSewerRat wants to merge 41 commits into
clshortfuse:mainfrom
ItsTheSewerRat:main

Conversation

@ItsTheSewerRat

Copy link
Copy Markdown
  • Updated the addon and shaders for version 1.4.4.
  • Switched to Neutwo tone mapping.
  • Updated McLeod-Boynton (MB) hue correction functions and SDR color grading.
  • Split UID, latency bar, and latency text into separate toggles.
  • Added a VFX Boost toggle that boosts highlights for selected shaders.
  • Improved ultrawide compatibility.
  • Fixed various rendering, shader, and stability issues.

spiwar and others added 30 commits July 18, 2026 11:44
Fixed up some internal code
Disabled cloning and other resource upgrade code again (to improve mem and VRAM issues maybe)
Hair bangs shadow fix included again
AO now applies on to grass/foliage again
Added red text explaining shader bypass
…8_UNORM by Aspect Ratio, disable RGB10A2 upgrades.
…ved cloud shadows, Added chromatic aberration slider
… Wulin, UI toggle hotkey, Reworked UID / latency bar toggles to work with every res
… direct lighting, Ultrawide support for UID, latency bar hiding, Tech Test alt grading
…fers to fix FSR4 incompat issues, Added separate slider to control fake in-game cloud shadows

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Endfield RenoDX game mod for v1.4.4, refreshing shader CRC targets and post-processing logic while adding new user-facing toggles and quality improvements (SSR/GTAO/UI).

Changes:

  • Refactors multiple uberpost shaders to use the newer LUT sampling/grading path (LUTSAMPLE + SDRGRADE/HDRGRADE) and updates constant-buffer indexing for v1.4.4.
  • Adds/updates UI control plumbing (new latency bar VS, updated UI PS, new injection fields/macros).
  • Adds new compute shaders for SSR upsample, SSR temporal variant include, and GTAO passes; tweaks contact shadows and post blit behavior.

RenoDX review checklist

  • PR scope and commits are tidy: Needs comment (added Notes for future.txt)
  • Review comments are helpful: Pass
  • Defaults preserve the original/vanilla look as closely as practical; extra HDR look is opt-in: Needs comment (contact-shadow edge fade removed unconditionally)
  • Preset Off/reset and Vanilla/0 behavior are clear: N/A
  • The PR does not implement final-frame inverse tonemapping from a completed SDR swapchain/backbuffer: Pass
  • Tonemap/LUT shaders prove the untonemapped, neutral_sdr, and graded_sdr signals: Pass
  • Tonemappers receive linear input (decode before tonemap): Pass
  • Vanilla LUT paths prove their domain/bridge/reconstruction strategy: Pass
  • Hard clips/UNORM writes don’t destroy HDR range early (except Vanilla/0 emulation): Pass
  • SwapChainPass is only final output encoding for a proven intermediate: N/A
  • Output mode prefers HDR10/PQ with SDR/HDR toggle; scRGB only when justified: N/A

Reviewed changes

Copilot reviewed 82 out of 161 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/games/endfield/ui/uid_0x6B8E9049.ps_5_0.hlsl Removed old UID/ping masking PS (v1.4.4 shader set update).
src/games/endfield/ui/ui9_0x54B21797.ps_5_0.hlsl Removed old UI PS variant (v1.4.4 shader set update).
src/games/endfield/ui/ui8_0xF6A41919.ps_5_0.hlsl Removed old UI PS variant (v1.4.4 shader set update).
src/games/endfield/ui/ui7_0xEC4B4DDC.ps_5_0.hlsl Removed old UI PS variant (v1.4.4 shader set update).
src/games/endfield/ui/ui6_0x9325952C.ps_5_0.hlsl Removed old UI PS variant (v1.4.4 shader set update).
src/games/endfield/ui/ui5_0x73F08C2F.ps_5_0.hlsl Removed old UI PS variant (v1.4.4 shader set update).
src/games/endfield/ui/ui4_0xB75B5932.ps_5_0.hlsl Removed old UI PS variant (v1.4.4 shader set update).
src/games/endfield/ui/ui3_0xF0C4C307.ps_5_0.hlsl Removed old UI PS variant (v1.4.4 shader set update).
src/games/endfield/ui/ui2_0x3DBCEA15.ps_5_0.hlsl Removed old UI PS variant (v1.4.4 shader set update).
src/games/endfield/ui/ui11_0x85497B0F.ps_5_0.hlsl Removed old UI PS variant (v1.4.4 shader set update).
src/games/endfield/ui/ui10_0x65EB732F.ps_5_0.hlsl Removed old UI PS variant (v1.4.4 shader set update).
src/games/endfield/ui/ui_0xF1B0E28A.ps_5_0.hlsl Updates UI PS for v1.4.4 cb layout and UI visibility handling.
src/games/endfield/ui/latencybar_0xF4EF16E9.vs_5_0.hlsl New VS to support latency bar detection/hide logic (ultrawide-aware).
src/games/endfield/uberpost/uberpost_0xFFFBB3BD.ps_5_0.hlsl Updates uberpost grading/tonemap path and cb indexing for v1.4.4.
src/games/endfield/uberpost/uberpost_0xDBC83F91.ps_5_0.hlsl Same as above (variant).
src/games/endfield/uberpost/uberpost_0xD8401285.ps_5_0.hlsl Adds CA strength control + new grading path + cb remap.
src/games/endfield/uberpost/uberpost_0xD5BC74AC.ps_5_0.hlsl Removes obsolete uberpost variant superseded by new CRC targets.
src/games/endfield/uberpost/uberpost_0xD589DFEB.ps_5_0.hlsl Updates cb remap + new LUTSAMPLE grading path.
src/games/endfield/uberpost/uberpost_0xC32F6D7B.ps_5_0.hlsl New uberpost shader variant for v1.4.4 using LUTSAMPLE grading.
src/games/endfield/uberpost/uberpost_0xBC012E29.ps_5_0.hlsl New uberpost CA-focused variant using LUTSAMPLE grading.
src/games/endfield/uberpost/uberpost_0xACCCB347.ps_5_0.hlsl Updates cb remap + CA strength control + LUTSAMPLE grading.
src/games/endfield/uberpost/uberpost_0xA8213A68.ps_5_0.hlsl Removes obsolete uberpost variant (v1.4.4 update).
src/games/endfield/uberpost/uberpost_0x8F2C3A6B.ps_5_0.hlsl Updates cb remap + replaces legacy LUT config code with LUTSAMPLE macros.
src/games/endfield/uberpost/uberpost_0x89929873.ps_5_0.hlsl Updates cb remap + CA strength control + grading path.
src/games/endfield/uberpost/uberpost_0x81073AFC.ps_5_0.hlsl Updates cb remap + CA strength control + grading path.
src/games/endfield/uberpost/uberpost_0x7B0B4041.ps_5_0.hlsl Updates cb remap + grading path and vignette ordering.
src/games/endfield/uberpost/uberpost_0x63AB936D.ps_5_0.hlsl Updates cb remap + grading path and vignette ordering.
src/games/endfield/uberpost/uberpost_0x52AC7E00.ps_5_0.hlsl Updates cb remap + grading path and vignette ordering.
src/games/endfield/uberpost/uberpost_0x52A77DB9.ps_5_0.hlsl New uberpost shader variant with sRGB encode/decode staging around grading.
src/games/endfield/uberpost/uberpost_0x332E0835.ps_5_0.hlsl Updates cb remap + grading path and vignette ordering.
src/games/endfield/uberpost/uberpost_0x32A5505C.ps_5_0.hlsl New uberpost variant sampling LUT with scaled domain (* (1/6)).
src/games/endfield/uberpost/uberpost_0x29EA566F.ps_5_0.hlsl Updates cb remap + grading path and vignette ordering.
src/games/endfield/uberpost/uberpost_0x2970B6A6.ps_5_0.hlsl Updates cb remap + grading path and vignette ordering.
src/games/endfield/uberpost/uberpost_0x231F3B6B.ps_5_0.hlsl Updates cb remap + grading path and vignette ordering.
src/games/endfield/uberpost/uberpost_0x22696E6B.ps_5_0.hlsl Updates cb remap + grading path (tightened code).
src/games/endfield/uberpost/uberpost_0x0BB60C37.ps_5_0.hlsl Updates cb remap + grading path and vignette ordering.
src/games/endfield/uberpost/uberpost_0x086097D2.ps_5_0.hlsl Removes obsolete uberpost variant superseded by new CRC targets.
src/games/endfield/ssr/ssr-upsample_0x4ED659BE.cs_5_0.hlsl New SSR upsample compute pass with optional improved blending mode.
src/games/endfield/ssr/ssr-temporal_0x3594373F.cs_5_0.hlsl New wrapper enabling SSR_FULL_TRACE_VARIANT for temporal SSR compute.
src/games/endfield/shared.h Extends injection struct and macros (latency, CA strength, SSR/GTAO toggles, swapchain nits macros).
src/games/endfield/shadows/screenspace-shadows_0x0C02AB31.cs_5_0.hlsl Tweaks contact shadow behavior and removes edge fade logic.
src/games/endfield/shadows/0xB295C5C4.ps_5_0.hlsl Removes obsolete shadow blur PS (v1.4.4 update).
src/games/endfield/shadows/0x2F236158.ps_5_0.hlsl Removes obsolete shadow blur PS (v1.4.4 update).
src/games/endfield/others/video_0x5477040A.ps_5_0.hlsl Updates cb layout indexing for video pass alpha handling.
src/games/endfield/others/sun-lens-dirt_0xA71BB1FA.ps_5_0.hlsl Updates cb indexing and scales output contribution.
src/games/endfield/others/lutbuilder_0x88BD6DCA.ps_5_0.hlsl Updates LUT builder to use ACES-like scalar + MB hue/purity corrections depending on tone map type.
src/games/endfield/others/blit_0x7CF14F74.ps_5_0.hlsl Adds optional Tech Test color calibration pass.
src/games/endfield/deferred-lighting/Notes for future.txt Adds internal notes/debug documentation (should likely not ship in mod tree).
src/games/endfield/bloom/bloom-prefilter_0xB3082097.cs_5_0.hlsl Updates cb layout indexing; bloom strength scaling uses new cb index.
src/games/endfield/ao/gtao-temporal_0xDD16F0F8.cs_5_0.hlsl New GTAO temporal compute with optional improved reprojection + disable AO toggle.
src/games/endfield/ao/gtao-spatial-avg_0xA683B186.cs_5_0.hlsl New GTAO spatial averaging compute with disable AO toggle.
Suppressed comments (3)

src/games/endfield/ui/ui_0xF1B0E28A.ps_5_0.hlsl:26

  • This assigns a boolean comparison result directly into a float (r0.x = 0.000000 != cb1[12].x;). Other Endfield shaders use the 3Dmigoto cmp pattern for comparisons; leaving this as-is risks shader compilation differences (and changes the exact compare semantics).
    src/games/endfield/shadows/screenspace-shadows_0x0C02AB31.cs_5_0.hlsl:382
  • The vanilla screen-edge fade for contact shadows is fully removed here (not gated by a setting). This is a visible behavioral change and can make the default look diverge from vanilla, especially on ultrawide where edge artifacts can be more noticeable. Consider restoring the fade by default and gating any removal behind a user setting if needed.
    src/games/endfield/bloom/bloom-prefilter_0xB3082097.cs_5_0.hlsl:27
  • These cb0 index comments are now incorrect after shrinking cb0 to 28 entries and remapping cb0[82]cb0[0] and cb0[109]cb0[27]. Keeping stale indices makes future shader maintenance error-prone.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +1 to +5
// Why AO dont apply to grass / enviroment under spotlights / direct lights

The issue was that r1.xyz (the accumulated direct light from spotlights, point lights, etc. computed in the light loop) was never multiplied by the AO value. The original shader only applies AO to r3.xyz (the indirect/specular/SSR contribution), not to the direct light accumulator.

In the original shader flow:
Comment on lines +55 to +57
float mip0 = floor(r0.z);
float fraction = saturate(r0.z - mip0);
float4 color_blurred = t2.SampleLevel(s1_s, r0.xy, 0).xyzx;
Comment on lines 150 to +152
#define PING_TEXT_OPACITY shader_injection.ping_text_opacity
#define LATENCY_TEXT_OPACITY shader_injection.latency_text_opacity
#define LATENCY_BAR_DRAW_OPACITY shader_injection.latency_bar_draw_opacity
@clshortfuse

Copy link
Copy Markdown
Owner

Can't merge stuff with packed binaries (cso).

@clshortfuse clshortfuse added the invalid This doesn't seem right label Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

invalid This doesn't seem right

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants