Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds an experimental HDR10 addon for the 32-bit Steam version of Just Cause 2 using its native Direct3D 10.1 renderer. The game's scene composite and motion-blur pass previously lost highlight range at UNORM writes. FP16 resource clones and replacements before those writes preserve that range through scene processing, HUD composition, and the final PQ output.
This is a draft for technical review. The measured gameplay path works with the standalone addon, but the outstanding coverage below needs validation before this should be considered ready to merge.
Implementation
sqrtoutput is stored before the game's scene copy so subsequent filtering retains its original decoded domain.SwapChainPassproxy for SDR or HDR10/PQ output. Encoding follows the last successful DXGI color-space transition. A game-local D3D10 state block restores game bindings and releases captured references each present for resize compatibility.src/games/justcause2; metadata selectsexperimental,d3d10, andx86. No generated binaries, dumps, system DLLs, shared infrastructure, or workflow changes are included.Validation
cmake --build --preset clang-x86-debug --target justcause2passed during development.cmake --build --preset clang-x86-release --target justcause2passed against upstreamcd32113a98608e63027d40910cfe296a14dfe228, including all 25 replacements and both proxy shaders. Existing shared-header deprecation warnings remain.66f4a40; the current Release build has not been gameplay-tested.Manual verification: build the
justcause2target, deployrenodx-justcause2.addon32besideJustCause2.exewith the 32-bit ReShade addon loader, and keep DevKit disabled for standalone checks. With Windows HDR enabled, select HDR10 in RenoDX Just Cause 2, compare SDR and Vanilla, test white/peak controls, and exercise MSAA, resize, restart, and gameplay. The game README documents the tested loader workaround and its limitations.Outstanding validation
0x5046D433after the composite. Motion-blur-off or other settings that might bypass that pass have not been proven; all presentation paths must reach the intended output domain.SysWOW64/d3d10.dllbeside the executable to avoid an early exit with ReShade's delayed hook. No Microsoft DLL is included. More installations should confirm loader compatibility.This contribution was developed with AI assistance, using local shader captures, compilation, and in-game validation. The measurements above support the tested path and do not claim pixel-identical SDR or complete game coverage.
RenoDX review checklist (self-review)
ToneMapPass/UpgradeToneMapsignal contractSwapChainPassover a proven intermediate