15 Commits (47cba76deeae42c8d24569fb1451ea52a9f5c86e)

Author SHA1 Message Date
Nico de Poel 47cba76dee Made all RenderTargetView fields non-nullable, and introduced a special Empty value for optional fields. 2 years ago
Nico de Poel e8d12c201e - Reworked input/output resource management using a new RenderTargetView struct, which encompasses all relevant data required to bind textures from various sources. 2 years ago
Nico de Poel b3bc46fcb7 Moved management of aliasable resources to the Fsr2Resources class and gave the methods more logical names. 3 years ago
Nico de Poel 3f17ca1fe2 Revert "Create temporary resources at actual render size, further reducing VRAM usage when dynamic resolution is in effect." 3 years ago
Nico de Poel 45ce81610d Restored compatibility with Unity versions older than 2021.2, which didn't have the LocalKeyword struct yet. 3 years ago
Nico de Poel a2c1211d98 Create temporary resources at actual render size, further reducing VRAM usage when dynamic resolution is in effect. 3 years ago
Nico de Poel 63d6fd3203 Changed atomic counter from a temporary RT to a permanent one, and set it to 0 only on the first frame. Potential fix for auto-exposure on MacOS. 3 years ago
Nico de Poel 47c2560476 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. 3 years ago
Nico de Poel 501b1b0638 Added workaround for HDRP using texture arrays for its camera buffers on some platforms 3 years ago
Nico de Poel ef20869c48 Added support for experimental auto-TCR generation pass 3 years ago
Nico de Poel 9f887a5c3c Check shader after loading it, throw an exception with a message on failure. This is better than having a random nullref happen, if the shaders cannot be loaded for whatever reason. 3 years ago
Nico de Poel 47d40fb71d More accurate representation of where SystemInfo.computeSubGroupSize is available 3 years ago
Nico de Poel e0027ed77a Added MIT license header to every source file, similar to the FFX FSR2 codebase 3 years ago
Nico de Poel 1cc0de7c89 Moved Shader ID constants to a separate class file 3 years ago
Nico de Poel 1ff980bea9 Changing my mind yet again about directory names 3 years ago
Nico de Poel da651c3d6f Moved some files 3 years ago
Nico de Poel 8f1be6d3e6 Re-added transparency & composition parameter, even though we never use it and just fall back to the default reactivity mask, we officially support it as an input now. 3 years ago
Nico de Poel 54849cee0f Use RenderTargetIdentifier magic to bind UAV outputs to SRV inputs, making obsolete the monkey patching of shaders. 3 years ago
Nico de Poel 5ed7a5279b Progressed implementation of reactive mask generation pass. 3 years ago
Nico de Poel c1326fc261 Added some comments to the main FSR2 classes 3 years ago
Nico de Poel 86c16e3694 - Replaced all input/output parameters with RenderTargetIdentifiers, allowing more flexibility in how these resources are assigned 3 years ago
Nico de Poel 776700e837 Allow input textures to be set outside of FSR2 context dispatch, opening up new avenues for optimizations. 3 years ago
Nico de Poel 903c2f71f3 Updated code to make it compatible with Unity 2020.1, i.e. the oldest version that's technically usable. 3 years ago
Nico de Poel 12b5791cd2 Enabled 16-bit floating point support by changing the unused 1D Texture option into an FP16 option, which makes its usage configurable by the game dev. 3 years ago
Nico de Poel 6c15840df8 Fixed LUT data by using R32_SFloat format instead. Increases VRAM usage a bit but for these small LUTs that's okay. 3 years ago
Nico de Poel 0f584b1098 Implemented generate reactive pass, which can be used separately from the main FSR2 upscale process. 3 years ago
Nico de Poel dafae40776 Further tweaks to camera jitter parameters and now IT'S WORKING!! 🥳 3 years ago
Nico de Poel 1ca5a36f3e Cleanup and minor details 3 years ago
Nico de Poel 13eb24289e Initial implementation of accumulation pass. It's doing... something but it's definitely not correct yet. 3 years ago
Nico de Poel d044cf2789 Moved resources into their own source file, to make it easier to pass them to pipelines in bulk. Added creation of resources for the accumulate pass. 3 years ago
Nico de Poel 6b74532793 Some cleanup and a few small details 3 years ago
Nico de Poel 650e805af8 Combined color and depth into a single dispatch parameter, which makes it easier to follow what's going on at the various stages. 3 years ago
Nico de Poel c184748907 Separate out depth from the color buffer using RenderTextureSubElement, which does work now. 3 years ago
Nico de Poel 56da810b50 Implemented lock pass 3 years ago
Nico de Poel 38d5f81ccc Added missing RT releases 3 years ago
Nico de Poel 934a3d60fa Implemented depth clip pass. Solved the problem of UAV/SRV name mismatch by monkey-patching the relevant shaders. Added default reactive mask. 3 years ago
Nico de Poel 834c396321 Color, depth and motion vectors are now provided as regular texture inputs to the compute shaders, by blitting them from the game camera ahead of time. 3 years ago
Nico de Poel 8633cdcfc2 Initial implementation of Reconstruct & Dilate pass. Got a pretty decent way of dealing with double-buffered resources. 3 years ago
Nico de Poel 1b41f6b2d7 Provide pipelines with the entire context description, which makes intiialization a bit simpler. Also provide it when registering resources so that the corrext *max* render size can be used. Started on the reconstruct depth pipeline. 3 years ago
Nico de Poel 16f529bce8 Made shading change mip level into a reusable const value, and fixed mip sizes for exposure RTs. 3 years ago
Nico de Poel cd414d75f1 Register aliasable UAV resources globally, before and after scheduling shader dispatches, so that all compute shaders can make use of them but without requiring a whole lot of additional resource management code. 3 years ago
Nico de Poel 9489a19cd8 Progress on managing resources. Compute luminance pyramid shader is starting to do something. 3 years ago
Nico de Poel 16055d7dd9 Continued pipeline implementations: declaring all input/output bindings using shared resource IDs. 3 years ago
Nico de Poel 913c5879fa Started work on luminance pyramid and acculumate pipelines. 3 years ago
Nico de Poel 08e034584c Reorganized context and dispatch code: 3 years ago