- NVN's depth mode is runtime state: Mario, Metroid Dread, Super Mario 3D World and Breath of the Wild keep near = -w (GL); Link's Awakening, 13 Sentinels and Engage set near = 0. The translator rewrote z for GL in every vertex shader, so near = 0 games had all depths in 0.5..1 and depth-to-distance effects were wrong: Link's Awakening's depth of field blurred the whole screen outdoors. - The translator no longer rewrites z; dmsh_build.py (vs_depth) writes two entry points into every vertex library, main0 with the GL rewrite (the same arithmetic as before) and main0_z without; the host picks one from the mode the game sets (mtl_set_depth_zero, shader_load). No per-game setting; a red line if the mode changes after vertex shaders loaded. Metal function constants were measured at about 2.4 ms of specialization per vertex shader, so two entry points instead. - New translator dll (Ryujinx dlls unchanged), lock and chain versions for every profile; Mac libraries and c1_full.tsv rebuilt for Link's Awakening, Engage, 13 Sentinels and Mario Wonder (Breath of the Wild, Super Mario 3D World and Metroid Dread follow). - Checked on the Mac: Link's Awakening outdoors (from a save in Mabe Village) has a sharp middle band again; Mario Wonder's title renders the same as before (differences only in animation). - README gallery: Engage, 13 Sentinels and Link's Awakening recaptured with this build.
158 KiB
960x540px
158 KiB
960x540px