Nico de Poel
e0cfed7f99
Prevent Unity from treating FFX shader include headers as native plugin code.
2 years ago
Nico de Poel
8b4a7fd78f
Correctly destroy resources when not in play mode
2 years ago
Nico de Poel
72f2aa9da2
HDRP-ified input reactive and T&C masks, which is necessary to make them work inside of HDRP's current upscaling framework
2 years ago
Nico de Poel
0de545b77e
Resource management section is gone, remove it from the TOC
2 years ago
Nico de Poel
69edeb8962
RCAS shader needs an HDRP switch as well, now that the final output image can be a texture array too.
2 years ago
Nico de Poel
3de6d74762
Official docs are on GPUOpen site now, not Github.
2 years ago
Nico de Poel
941c04fe63
One more updated screenshot and added a small bit about the Assets object.
2 years ago
Nico de Poel
e3d36585ef
Fixed aspect ratio in image effect helper too
2 years ago
Nico de Poel
b432c73943
Updated screenshots for FSR3
2 years ago
Nico de Poel
b8a92ef298
Added missing images for README
2 years ago
Nico de Poel
cd8bc8ddba
Removed empty parantheses from macro definition, as it breaks the Unity 2020.1 shader compiler.
2 years ago
Nico de Poel
f3b68256aa
Removed the section about shader loading callbacks, plus a few minor adjustments.
2 years ago
Nico de Poel
8e879726d7
Split the FSR3 shaders aggregate class from the scriptable object part. This allows the shader references to be serialized as a single asset still, but also for them to be embedded inline inside of a different scriptable object (for PPV2)
2 years ago
Nico de Poel
734770b75e
Callbacks don't need to be passed to the FSR3 Context anymore.
2 years ago
Nico de Poel
2d05d08f86
Added the ability to clone the shaders, in case multiple FSR3 instances with different configurations are needed.
2 years ago
Nico de Poel
fdcc85355c
Try our best to ensure a shaders asset is assigned to the image effect component.
2 years ago
Nico de Poel
d3d608c95e
Moved shaders from Resources to a regular Shaders folder, discouraging the use of always-included Resources for non-trivial assets.
2 years ago
Nico de Poel
bd98fdf00d
Turned shaders aggregate into a scriptable object, with a default asset instance that automatically resets to look up the correct shader references.
2 years ago
Nico de Poel
7b8bb02e93
Updated README to be more consistent in the use of the word Upscaler vs. Upscaling
2 years ago
Nico de Poel
84e5e72ab7
Refactored loading of FSR3 compute shaders, using an aggregate object containing pre-loaded compute shaders instead of the old callbacks.
This gives more control to the application about how shaders are loaded/unloaded, and it fits in much more nicely with PPV2's resources.
Shaders are currently just serialized as part of the scene component, which isn't the optimal solution yet.
2 years ago
Nico de Poel
13910c8687
Moved ResourceView out of the Fsr3Upscaler class and into the FidelityFX namespace, making usages of ResourceView a lot cleaner.
ResourceView is also generic enough that it could/should be reused for any other FidelityFX effects, so this move makes sense.
2 years ago
Nico de Poel
9fddd7e414
Updated links to refer to the documentation on the GPUOpen site.
2 years ago
Nico de Poel
dc0c60ebba
Updated README to say FSR3 Upscaling/Upscaler instead of FSR2, and with new links to the AMD FidelityFX Github page on the FSR3 release branch.
2 years ago
Nico de Poel
ebb9d84171
Rename FSR2 to FSR3 Upscaler, part 3: missing bits.
2 years ago
Nico de Poel
9854cd1279
Rename FSR2 to FSR3 Upscaler, part 2: class and file names.
2 years ago
Nico de Poel
226884b8f5
Removed old FSR2 shader code
2 years ago
Nico de Poel
62a924ae83
Rename FSR2 to FSR3 Upscaler, part 1: strings and comments.
2 years ago
Nico de Poel
d79b84d0ed
Fixed warning in luminance pyramid pass when FP16 is enabled
2 years ago
Nico de Poel
c2f397892f
Forward ported TCR autogen pass to fit in with the rest of the FSR3 shader code
2 years ago
Nico de Poel
c83c3e5805
Cleaned up compute shader initialization, as the Nvidia-specific FP16 exception for the accumulate stage doesn't seem to be required anymore.
2 years ago
Nico de Poel
f7559480ec
Reinstated experimental DXC pragmas, Metal texture atomics hack, and HDRP overrides for texture array declarations and sampling.
2 years ago
Nico de Poel
6e20557253
Ported clearing code for reconstructed depth buffer, which is new in FSR3. This replaces clearing in the Lock pass, allowing the buffer to be reused after upscaling is done.
2 years ago
Nico de Poel
69a640c7cd
Backported shader modifications, part 2: overridable texture declaration and sampling macros.
2 years ago
Nico de Poel
fd37e541b1
Backported shader modifications, part 1: PSSL support, removed GLSL extensions and added dummy field.
2 years ago
Nico de Poel
fa1704e65f
First working proof of concept of FSR3 upscaling in Unity
2 years ago
Nico de Poel
d48c7a200d
Added FSR3 HLSL shader code with initial batch of Unity .compute wrappers
2 years ago
Nico de Poel
68ea8d2f14
Fixed aspect ratio for dual-viewport setups
2 years ago
Nico de Poel
bda7eddc6f
Revert "Removed unnecessary aspect ratio lines that broke screen aspect when using non-standard viewports."
This reverts commit 501f3e4f90 .
2 years ago
Nico de Poel
501f3e4f90
Removed unnecessary aspect ratio lines that broke screen aspect when using non-standard viewports.
2 years ago
Nico de Poel
c010b6aa28
Renamed Pipelines to Passes
2 years ago
Nico de Poel
22701fdd17
Renamed RenderTargetView to ResourceView, which is a bit shorter to type and covers the essence well.
2 years ago
Nico de Poel
d9f9ef10ff
Modified RenderTargetView yet again: made a distinction between an invalid (Unassigned) texture reference and a valid-but-empty (None) texture reference. Inverted IsEmpty as well to be a more generic IsValid property now.
2 years ago
Nico de Poel
d8a4bc3f61
Unity 2020.1 compatibility testing results
2 years ago
Nico de Poel
47cba76dee
Made all RenderTargetView fields non-nullable, and introduced a special Empty value for optional fields.
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.
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.
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 removes the need for the slightly awkward input/output resource debug checks.
- Changed prebaked RCAS configurations into an array, as there is no need for a dynamically sized list here.
2 years ago
Nico de Poel
7c41364109
Set constant buffer data as part of the command buffers, instead of immediately.
3 years ago
Nico de Poel
9668b132e7
Clear initial exposure value with zero. Seems to work fine for all tested platforms, and eliminates the black screen flashes on Metal without requiring any platform-specific hacks.
3 years ago
Nico de Poel
c65cab824e
Clear auto-exposure texture using zeroes on Metal. Should fix black screen flashes on accumulation reset, when auto-exposure is enabled.
3 years ago
Nico de Poel
e577240354
Reset atomic counter on any kind of reset, not just on first execution. Fixes black screen on Metal when doing a history reset.
3 years ago
Nico de Poel
a006489e3d
Removed old attempts at integrating FSR2 into the PPV2 pipeline. These never went anywhere and have been left undeveloped for a long time now.
3 years ago