Repository navigation
Conversation
This was referenced Nov 10, 2026
This was referenced Nov 10, 2026
…SS frame generation (NGX), FSR 4 fallback (builds with NotRexed#1833 and NotRexed#1834) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FIocker
force-pushed
the
super-build/upscaling-framegen
branch
from
November 11, 2026 10:45
daff897 to
c024627
Compare
FIocker
added a commit
to FIocker/Hookshot
that referenced
this pull request
Nov 11, 2026
…R), before the HUD or before the upscaler (builds with NotRexed#1831 and NotRexed#1834) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FIocker
added a commit
to FIocker/Hookshot
that referenced
this pull request
Nov 11, 2026
…s; lock diagnostics (builds with NotRexed#1831 and NotRexed#1833) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Rebased: the series is rebuilt on main at d7a7306, the conflicts are resolved, and the descriptions are rewritten. The full replies to your reviews are on #1830, #1833 and #1834. For this PR:
#1831, #1833 and #1834 build only together, as the descriptions now say. |
Contributor
Author
|
Thanks, @hckrman101, and for crediting the ideas on #2118. As suggested, the single, pair and no-weight actor-motion layouts are now their own PR on main: #2787. The neural rendering in #1833 is rebuilt on #2118's NGX session. |
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.
This adds NVIDIA DLSS frame generation through NGX and gives more of OoT's moving models their own motion, so DLSS ghosts less behind them. It also offers AMD's FidelityFX FSR 4 where main's FSR 4 engine isn't built.
#1833, #1834 and this PR build only together, and should be reviewed and merged as one unit. The menu rows, the
vk_mainandvk_replayhooks and the build lists are in #1834; the neural rendering this chain feeds is in #1833.FIocker:super-build/allis the three together, rebuilt on main at d7a7306, and it's what was built and tested. #1830 is separate and builds alone.super-build/shaders(#1830)super-build/upscaling-framegen(#1831)super-build/neural(#1833)super-build/core(#1834)What it does
Temporal upscaler chain (
vk_temporal.cpp, on main's DLSS/FSR 4 chain):kSingle), two-influence sets (kPair), and rigid models bound to one bone without weights (kNoWeight), such as Navi's body, props and held items.dlss_actor.vertanddlss_actor.hread the new formats.temporal_upscale_recent()says whether a temporal upscaler drew in the last frames.NrFrame) instead of a flat depth and no motion. A temporal model then keeps the jitter the engine needs and doesn't ghost on camera motion.Frame generation:
vk_dlssg.cpp,vk_ngx.cpp), sharing DLSS's one NGX session (dlss_ngx_session).framegen_methods.h, with tests): Auto, NVIDIA DLSS and Built-in, of what runs here.RX_VK_FSR_FG=1, after FrameGen and FSR causes blur and ghosting while moving #1635 and its duplicates: the HUD moved with the scene). This PR keeps that, and doesn't offer FidelityFX FSR 4's frame generation either, since it misbehaved the same way in play. The method enum keeps both values, so a saved choice reads as Auto and a future fix can bring them back.vk_slfg.cpp, env-only). It misbehaved in play, and its hooks in Reflex and the present were what main's tests tripped on.FSR 4 through AMD's FidelityFX runtime (
vk_ffx.cpp, MIT headers inthird_party/ffx-api): this is the Upscaler row's FSR 4 only in builds without main's FSR 4 engine (noHOOKSHOT_FSR). Wherevk_fsr4.cppis built and available, that engine takes the row.Window sharpening over a temporal upscaler is a fifth of the Sharpness row (
RX_VK_TEMPORAL_SHARPEN). At full strength over DLSS's motion-time softness, dense grass turned into an oily smear whenever the camera moved. Main has since fixed the black HDR picture under the scaling pass the same way this PR did (theSAMPLEDusage), so that part is gone from here.Camera motion pass (
vk_camera_motion.cpp) for the open NR backend, anddocs/upscaling.md.Main's recorder (#1473):
vk_camera_motion,vk_dlssgandvk_ffxincludevk_work.hlast, so theirvkCmd*go through it. NGX's and FidelityFX's own recording gets aB_DIRECTboundary first, asvk_dlss.cpphas.test_recorder_sync.pypasses.Testing
tests/run_all.pyon the three together, locally (clang targeting MSVC, the CPM Vulkan headers, glslang 11.12): 328 passed. The only failures are the same 18 that main at d7a7306 has on this machine, all down to this PC's toolchain.frame generation method: NVIDIA DLSS.HOOKSHOT_FSRhere) and AMD GPUs.🤖 Generated with Claude Code