mirror of
https://github.com/sal063/AC6_recomp
synced 2026-07-11 23:30:18 -04:00
313fd236ee
Upscale mosaic. At draw-resolution scale > 1, AC6's deferred EDRAM restore passes do integer pixel-address math on the PsParamGen position. Its leftover sub-guest-pixel fraction scrambles into an 8x8 mosaic. Floor the param-gen position (param_gen_integer_guest_position) and re-add the host sub-pixel at the fetch (param_gen_host_subpixel_restore). Inert at 1x. De-swizzle scramble. Some AC6 restore/resample passes manually de-swizzle the Xenos EDRAM sub-tile layout of their source, which is only correct on tiled data. The emulator detiles everything to linear, so the de-swizzle always scrambles, streaking the cloud/effects pipeline. For allowlisted shader hashes (ac6_neutralize_deswizzle_hashes) the sample coordinate is replaced with the identity host-texel UV (a 1:1 copy).