Replay DLSS-NR matched residual and GPU paper white onto dlss-neural-rendering - #14
Open
hhkbble wants to merge 4 commits into
Open
Replay DLSS-NR matched residual and GPU paper white onto dlss-neural-rendering#14hhkbble wants to merge 4 commits into
hhkbble wants to merge 4 commits into
Conversation
… onto dlss-neural-rendering. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
hhkbble
marked this pull request as ready for review
September 3, 2026 15:28
Dagherbou
added a commit
that referenced
this pull request
Sep 3, 2026
White-point source 1 (the game's own exposure) previously copied the game's 1x1 exposure texture on the GPU, read it back to the CPU (3-4 frame lag), and computed the white point on the CPU. Now, on D3D12, the composition shader samples that exposure directly at t4 and computes the white point in-shader each frame (WhitePoint(): gExposurePreMul / exposure, gExposurePreMul = preExposure * trim), removing the readback latency. The CPU meter/readback path stays as the fallback the shader uses when the live sample is missing or absurd, so gWhitePoint still carries a valid value. - Bound at t4 (DispatchPass's InPrevEdit SRV slot -- previously unread; no root-sig change). Only WhitePoint() reads it, gated on gUseGameExposure. - Vulkan is compiled out (#ifndef VK_MODE): no eighth descriptor, the live branch absent, gUseGameExposure never set -> Vk white point unchanged. - Two trailing cbuffer/struct scalars (gUseGameExposure, gExposurePreMul), appended in lockstep (23 == 23, verified). Both shaders recompiled. Adversarially reviewed CLEAN: layout parity walked field-by-field, Vulkan proven byte-identical, default-identical when off, formula algebraically equal to the CPU path, passthrough untouched, no new resource-state assumption. Harvests the idea from hhkbble PR #14, reimplemented on our exposure/anchor path. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Summary
dlss-neural-rendering.WhitePointSource == 1uses a same-frame t4PaperWhite()Load. Review leftovers: warm courier stays on source-1 enable; dead calib/ResolveWhitePointremoved.Test plan
white_point_decision_fixture,exposure_fixture) PASS viacl /W4trim * GameWhite, no t4 Load; switching to source 1 does not wipe the courierUseGameExposureremains 0