This removes the need for a lot of HasValue checks, especially since all fields will eventually get a value anyway, making those checks rather redundant. This also makes it clearer that all SRVs will get bound with a valid input texture, even if the input is optional.
This eliminates the need for resource binding code outside of the core FSR2 classes, and makes the public API more strict and consistent. It also removes the need for the slightly awkward input/output resource debug checks.
- 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.