Commit Graph

  • 71879e71aa - Updated FSR3 Upscaler to version 3.1.3, including improvements to color clamp to help with ghosting streaks and addition of velocity factor parameter. - 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. master ppv2-3.4.0d-fsr3.1 Nico de Poel 2024-12-15 00:01:07 +0100
  • 2ccb05437a Removed the FP16 option from the frontends, as it's causing inexplicable issues on certain hardware/driver combinations. Nico de Poel 2024-08-06 10:01:18 +0200
  • ca3acef3eb Merge branch 'master' into fsr3.1 fsr3.1 Nico de Poel 2024-07-29 23:07:28 +0200
  • bfa86b7bfd Fixed an issue that would cause the wrong depth buffer to be passed to FSR when using forward rendering on newer Unity versions. Nico de Poel 2024-07-29 22:57:46 +0200
  • dcddefeb09 Merge branch 'master' into fsr3.1 Nico de Poel 2024-07-21 17:45:06 +0200
  • 5e98dacf77 Upgraded to FSR 3.1 Upscaler - 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 ppv2-3.4.0c-fsr3.1 Nico de Poel 2024-07-21 17:38:16 +0200
  • eeb3dc08a5 Renamed comparison image to make sure browser caching doesn't keep the new image from appearing Nico de Poel 2024-07-21 15:37:18 +0200
  • 32b0c565ae Needed to add two spaces to get the correct line endings Nico de Poel 2024-07-21 13:57:19 +0200
  • 9e6e6880e5 Reformulated a couple of sentences Nico de Poel 2024-07-21 13:18:51 +0200
  • 4b3c25c8b7 Updated comparison image for readme Nico de Poel 2024-07-21 13:10:34 +0200
  • 8f2e30b2bb Updated PPV2 sample scene to use the FSR3 anti-aliasing method from the actual PPV2 package, instead of the not-recommended image effect wrapper method. Nico de Poel 2024-07-21 11:34:43 +0200
  • 628a89f5ed Replaced project reference to PPV2 package with the embedded custom one. Nico de Poel 2024-07-21 11:30:53 +0200
  • c044456993 Moved PPV2 and HDRP package sources into Packages directory. It just makes more sense to have all package-related stuff in there, rather than following the example of the Unity Graphics repo. Nico de Poel 2024-07-21 11:30:14 +0200
  • 118f3bdcc9 Updated licenses Nico de Poel 2024-07-20 23:13:00 +0200
  • 9e7d42edd2 Updated README for FSR 3.1 Nico de Poel 2024-07-20 23:03:52 +0200
  • 588b6093fe Removed unused debug blit shader and renamed some remnants of FSR 3.0 Upscaler back to FSR 2 Nico de Poel 2024-07-20 20:27:17 +0200
  • 20a5dc2e5b Moved FSR2 and FSR3 classes into their own sub-namespaces. This fixes an ambiguity when compiling for Unity 2020.x and is also more future-proof with an eye on porting over more FidelityFX technologies. Nico de Poel 2024-07-20 18:35:10 +0200
  • 17f958c668 Moved HDRP "package" to root directory, as it's not really a package and this way it remains consistent with the PPV2 package. Plus it makes it more visible for someone browsing the project. Nico de Poel 2024-07-20 15:13:04 +0200
  • 950050aae2 Renamed EnableDebugView to DrawDebugView for a bit of naming consistency Nico de Poel 2024-07-20 15:11:13 +0200
  • 6f72108c03 Updated PPV2 implementation with FSR 3.1 and replaced FSR code and shaders from of the PPV2 package with references to the standard FSR package. Nico de Poel 2024-07-20 13:16:46 +0200
  • 836612527a Updated HDRP 17 implementation with FSR 3.1 and moved FSR code and shaders out of the HDRP package into the standard FSR package. Nico de Poel 2024-07-20 13:11:28 +0200
  • de482efcbf Added FSR 3.1 implementation and moved it plus FSR 2.2 into a separate package. Nico de Poel 2024-07-20 01:11:51 +0200
  • 7911e82087 Added custom FSR3 upscaler for HDRP 17, overriding Unity's FSR2 native plugin package. hdrp Nico de Poel 2024-06-08 15:32:29 +0200
  • 29e2ec9035 - Fixed opaque-only copy buffer not keeping dynamic resolution scaling in mind. - Ported over fixes from baseline BiRP implementation. ppv2-3.4.0b Nico de Poel 2024-06-26 11:48:45 +0200
  • d214976e1f - Applied correct macros to input and output texture definitions for HDRP support - Correctly destroy resources when not in play mode - Prevent Unity from treating shader include headers as native plugin code Nico de Poel 2024-06-07 12:36:11 +0200
  • 1cfca9d066 Upgraded to FSR 3.0 Upscaler and PPV2 v3.4.0 ppv2-3.4.0a Nico de Poel 2023-12-18 21:36:34 +0100
  • 982c41cc20 Refactoring work: - 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. ppv2-3.3.1d Nico de Poel 2023-10-06 16:09:52 +0200
  • 564bd71f5a Added a workaround for the missing SetBufferData method in Unity 2020.x, which was still named SetComputeBufferData there. Nico de Poel 2023-09-29 16:58:29 +0200
  • 1ee4cd9653 Create opaque-only color buffer copy after opaque-only post-processing is done, and use the correct color format for the copy. This creates a more accurate opaque-only reference for the auto-reactive pass, and improves compatibility with custom opaque-only effects. Nico de Poel 2023-08-14 13:03:10 +0200
  • 66957fb73b Set constant buffer data as part of the command buffers, instead of immediately. Nico de Poel 2023-08-14 13:00:10 +0200
  • 4fba5fcc60 Ported over compute shader fixes from the Unity Graphics repository: Nico de Poel 2023-08-14 12:58:18 +0200
  • 3c2eb17a0e Use jittered camera projection for transparent rendering, as it does affect image reconstruction on certain effects. ppv2-3.3.1c Nico de Poel 2023-07-12 10:38:59 +0200
  • ceabd44684 Ported over AO fix for MacOS. Nico de Poel 2023-07-11 10:06:05 +0200
  • f72e88af16 Clarified the lack of texture atomics support in Metal. Nico de Poel 2023-07-08 19:49:55 +0200
  • 8b09078a0d Clear initial auto-exposure value to zero instead of negative one. Fixes black screen flashes on Metal when performing an accumulation reset. Nico de Poel 2023-07-08 19:49:06 +0200
  • 2adbc10157 Reset atomic counter on any kind of reset, not just on first execution. Fixes black screen on Metal when performing a history reset. Nico de Poel 2023-07-06 10:47:39 +0200
  • 8ca48e06ef Refactored mipmap bias callbacks such that the render pipeline integration does not need to maintain any bias offset state. Added NaN/Infinity/Zero checks to the standard mipmap bias callback implementations. Nico de Poel 2023-07-05 13:00:12 +0200
  • d55e71e1f2 Added a section about dynamic resolution. Nico de Poel 2023-07-02 19:34:50 +0200
  • 3b35fab059 Added support for dynamic resolution scaling using ScalableBufferManager into PPV2 integration. Ported over the small improvements from the primary FSR2 integration to PPV2. ppv2-3.3.1b Nico de Poel 2023-06-29 15:07:43 +0200
  • 24ae1957d6 Small tweaks: - Disable plugin importer settings on all FSR2 header include files. - Made undoing of mipmap bias a distinct separate callback, so that it can be overridden by client apps. - Skip textures that don't have mipmaps and thus don't have any use for a mipmap bias. Nico de Poel 2023-06-28 18:14:12 +0200
  • 6e427baad0 Added support for dynamic resolution scaling using ScalableBufferManager. Nico de Poel 2023-06-15 23:23:03 +0200
  • 08915f9612 Updated readme with a section about the custom post-processing V2 package. ppv2-3.3.1a Nico de Poel 2023-06-14 11:50:47 +0200
  • bf6a95dfe5 Added modified Post-Processing Stack V2 package with fully integrated FSR 2.2 upscaling, presented as one of the anti-aliasing options. Nico de Poel 2023-06-07 13:40:14 +0200
  • c2f6fa04c5 Moved management of aliasable resources to the Fsr2Resources class and gave the methods more logical names. Nico de Poel 2023-06-12 15:44:25 +0200
  • aa69f09d17 Restored compatibility with Unity versions older than 2021.2, which didn't have the LocalKeyword struct yet. Nico de Poel 2023-06-11 17:41:22 +0200
  • 9046c34e69 Create temporary resources at actual render size, reducing VRAM usage when dynamic resolution is in effect. Nico de Poel 2023-06-11 13:47:21 +0200
  • 91c820e951 Updated shaders to FSR 2.2.1 Nico de Poel 2023-06-10 17:10:29 +0200
  • 955ce3f190 - Consolidated accumulate and accumulate+sharpen pipelines into a single pipeline, with the sharpening option being changed into a local keyword that can be enabled or disabled on-the-fly. This removes the need for an additional copy of the accumulate shader, saving a considerable amount of memory. - 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. Nico de Poel 2023-06-06 16:05:27 +0200
  • d2e6eedf37 Reworked the image effect integration, breaking up things and removing unnecessary parts to improve clarity and readability. This makes it more effective as an example of how to integrate FSR2 into a render pipeline. Nico de Poel 2023-06-03 18:58:04 +0200
  • 3cd852ba8f Fixed the ESRAM-related visual issue on Xbox One when auto-reactive or auto-TCR is enabled, by explicitly controlling the lifecycle of the opaque-only color input render texture. Previously the code relied on undefined behavior, whereby an already released temporary render texture just happened to remain in memory at the same location. On Xbox One with its unique ESRAM cache this would fail. Nico de Poel 2023-06-02 13:47:26 +0200
  • f616fc7d76 Updated readme with a table of contents, additional supported platform and more implementation details. Nico de Poel 2023-05-24 18:23:57 +0200
  • e69ea6dd10 Added a workaround for HDRP using texture arrays for its camera buffers on some platforms. Also cleaned up some unused keywords to reduce shader compile times. Nico de Poel 2023-05-24 18:09:27 +0200
  • 5c0bd697e1 Clear the atomic counter used by the luminance pyramid pass. This fixes auto-exposure being broken and causing a black screen on some platforms (Xbox, OpenGL). Nico de Poel 2023-05-24 18:08:31 +0200
  • 234bd4e163 Added support for the experimental automatic Transparency, Compostion & Reactive masks generation pass. Nico de Poel 2023-05-23 13:20:53 +0200
  • 856f735228 Commented out all experimental DXC-related pragmas, as these could sometimes cause shader compilation issues even when not enabled. Nico de Poel 2023-05-23 13:06:30 +0200
  • 73346a5054 Added a dummy field to the main FSR2 constant buffer, to make it exactly 128 bytes long. This fixes a data alignment issue on iOS Metal. Nico de Poel 2023-05-23 12:53:33 +0200
  • 262cff1e1b Added a section explaining the need for an exposure input value. Nico de Poel 2023-04-18 15:27:47 -0300
  • 19894d5c45 FSR 2.2 for Unity open source release Nico de Poel 2023-04-09 19:33:35 +0200