As totk-pc-recomp (MIT), with MacNativeGames' patch sites (MIT): resolution= in ultratears.cfg sets the size the game composes its frame in (1280x720 .. 7680x4320, or display), scale= its 3D scene in % of that (unset: the game's 5/6); the game renders at those sizes and its own FSR 1 (EASU) scales the scene to the output. - Code patches: the scene size the renderer reads (main+0x585e50 / 0x585e60, divided by the output width / 1920 that 1.4.3 applies), the swapchain size nnMain asks for (main+0xbdb584) and the display configuration's canvas (before main+0x3dcb28). - The render-target heap: the HeapDef table is served from memory with DynamicTextureAllocatorMem and Graphics grown by the shipped size times the pixel ratios above 1080p / 900p (zstd, linked), and the application pool grows by the same; without it the game keeps its own sizes. - src/vk/fsr.c: FSR 1 EASU + RCAS (third_party/fsr1, AMD's and totk-pc-recomp's shaders) when the window is larger than the game's output, compute shader objects; upscale=bilinear and sharpness=0..100 in ultratears.cfg. - The launcher: Resolution (1280x720, 1920x1080, 2560x1440, 3840x2160, as the screen) and Scene scale (50..200 %). Checked on the Depths save: 1280x720 at 100 % (Steam Deck), 2560x1440, 3840x2160, 1080p at 150 %: the targets at the sizes asked, a right picture (screenshots), no crash; FSR with the Vulkan validation layer clean. Co-Authored-By: Claude Opus 5.5 <[email protected]>
2.3 KiB
Third-party code in this repository
Every piece keeps its license; the license file sits next to the code. All are compatible with the port's GPL-3.0-or-later.
| Folder | What | From | License |
|---|---|---|---|
maxwell_shader/ |
The Ryujinx 1.3.2 shader translator, unchanged apart from the patches below (Ryujinx Team and contributors) (Ryujinx.Graphics.Shader, Ryujinx.Common, Spv.Generator) |
MacNativeGames vendor/ryujinx @b75be8c (Ryujinx 1.3.2, unmodified there), with the patches of shader_translator/patches/ applied here (0001-0004 MacNativeGames', 0005-0006 ours) |
MIT (maxwell_shader/LICENSE.txt) |
fsr1/ |
AMD FidelityFX Super Resolution 1: ffx/ffx_a.h, ffx/ffx_fsr1.h (AMD, unchanged) and totk-pc-recomp's compute shaders around them (fsr_easu.comp, fsr_rcas.comp) with their SPIR-V (*_spv.h, generated by its tools/build_shaders.py); the present's upscale (src/vk/fsr.c) |
totk-pc-recomp runtime/shaders, runtime/*_spv.h @c3b9a4e |
MIT (fsr1/ffx/LICENSE.txt, fsr1/LICENSE-totk-pc-recomp.txt) |
shader_translator/ |
MacNativeGames' totk_xlate: the service around that translator that turns the game's NVN shaders into SPIR-V; built as ultrs-shaders.exe by tools/build_xlate.py |
MacNativeGames games/totk/tools/totk_xlate @b75be8c, without its macOS build script |
MIT (shader_translator/LICENSE) |
Elsewhere in the tree: src/gfx/tex/bc7enc/ (bc7enc and rgbcx, Rich Geldreich, MIT) and the files ported from
MacNativeGames (MIT), LASRecomp (MIT) and B2recomp (GPL-3.0), each named in its header comment;
tools/shaders/inventory.py (MacNativeGames, MIT). The launcher's fonts in assets/launcher/fonts/ (compiled into
the launcher by tools/build_launcher.py): Inter (The Inter Project Authors) and Montserrat Alternates (The Montserrat
Project Authors), both SIL Open Font License 1.1, their license texts next to them (OFL-*.txt).
Downloaded when the launcher is built (tools/build_launcher.py: into deps/launcher/, not in git; each file pinned to
its upstream commit with its size and SHA-256 in tools/deps.json, "launcher"), unchanged: Dear ImGui 1.91.9b (Omar
Cornut and contributors; the core and the SDL3 / SDL_Renderer3 backends; MIT), NanoSVG (Mikko Mononen; zlib) and
stb_image.h 2.30 (Sean Barrett; MIT or public domain). Their licenses go into the builder package's licenses/.