Also disable writing to locks UAV at the end of Accumulate pass, as it doesn't actually do anything and it might cause issues with reading & writing to the same texture.
- Define macros for various VS/FS binding intrinsics
- Use pragmas to set output formats for render targets that aren't normal RGBA
- Added alpha channel to color output targets, so that they're 4-channel instead of 3
- Pass FSR2 constant buffer to reactive mask shader (may not matter)
- Removed "fix" to initialize params to 0, as that happens midway through the Accumulation process, resetting a lot of variables. Instead rewrote InitParams to take an inout parameter and clear the params first thing in the Accumulate function.
- Bind first multi-render target as depth target, fixes RenderDoc errors about color/depth buffer size mismatch.
- Ensure keywords that need a value are redefined using the correct value.
- Removed obsolete auto-TCR constants struct.
- Removed empty parantheses on GroupMemoryBarrier macro, which confuse the 2020.1 shader compiler
- Added padding field to cbFSR2 to make it exactly 128 bytes in size, which gives correct buffer alignment on iOS Metal
- Changed auto-exposure reset threshold value to 1e4f, as part of a fix for black screen flashes in OpenGL Core on Nvidia GPUs
- Clamp luma to >= 0 in auto-exposure to fix artifacting in OpenGL Core on Nvidia GPUs
- Removed #extension directives meant for GLSL, which cause shader compiler warnings in Unity
- Removed vk::binding directives, as they are only meant for Vulkan and don't mean anything to Unity
- Initialize inout struct as zero to stop Unity compiler complaints
- Renamed vertex main function to VertMain to prevent duplicate main function declaration
- Removed duplicate VertexOut struct declaration
- Removed unused header includes in vertex shader code, preventing duplicate declarations
- Fixed up a few relative header include paths