- Updated FSR2 to version 2.3.2, including some fixes backported from FSR3 Upscaler.
- Reworked PPV2 integration to allow switching between different upscalers via a flexible plugin system.
- Reduced number of SPD mip levels used by FSR3 luma pyramid and shading change pyramid passes for OpenGL Core, to ensure they stay within the limit of 8 UAV bindings.
- Fixed multiple FSR2 auto-exposure issues with OpenGL Core on Nvidia GPUs, that were causing artifacting and black screen flashes.
- Reorganized profiler sampling to work around issues in non-development builds on Unity 2020.x
- Optimized multi-compile keywords to reduce the number of shader variants.
- Moved FSR core classes and shaders into their own package
- Added FSR 2.2 implementation side-by-side with FSR 3.1
- Updated BiRP and PPV2 integrations for FSR 3.1
- Added experimental HDRP 17 integration
- Reworked input/output resource management using a new ResourceView struct, which encompasses all relevant data required to bind textures from various sources.
This eliminates the need for resource binding code outside of the core FSR2 classes, and makes the public API more strict and consistent, but also more flexible. In addition, it allows the input/output resource debug checks to happen every frame for that frame.
- Changed prebaked RCAS configurations into an array, as there is no need for a dynamically sized list here.
- Renamed Pipelines to Passes.
- Changed the atomic counter from a temporary RT that gets reset every frame, to a permanent resource that gets set to 0 only on the first execution frame. Fixes auto-exposure causing a black screen on MacOS.