Nico de Poel
da270aef75
Ported back a few fixes from Isonzo:
- Detect if the native plugin is missing, in which case the upscaler won't be initialized.
- Use the transparency & composition mask as input for the reactive mask initially.
1 year ago
Nico de Poel
4406d9d697
Destroy context by directly calling into the library instead of using a plugin event. Seems perfectly stable in testing and fixes an issue where occasionally the wrong context index would come through in native code.
1 year ago
Nico de Poel
3931c67a7e
Fixed a memory leak on repeated destroy/create, as it turns out MFSR doesn't take ownership of the memory you allocate for it. You have to keep track of this and release it yourself.
1 year ago
Nico de Poel
0596b31ab5
Eliminated the extra output color texture copy, which turned out to be not necessary. Both the CAS sharpen pass and Blit will take care of the necessary conversion.
1 year ago
Nico de Poel
16774bc66f
Removed obsolete and unused code files from the plugin
1 year ago
Nico de Poel
efd7240f94
Rotate between PSSR contexts to further reduce risk of race conditions between destroy & create
1 year ago
Nico de Poel
f87457803c
Reworked plugin structure so that up to four MFSR context can be created and used, with Unity being able to select which context to use.
1 year ago
Nico de Poel
470c178e4f
Moved command buffer creation/destruction to context create/destroy, so that the command buffer is directly associated with the MFSR context.
1 year ago
Nico de Poel
b3da3e5cee
Added optional CAS sharpening step with halved sharpness range. Fixed the CAS shader to keep the output in HDR.
1 year ago
Nico de Poel
49a55498c4
Simplified prepare inputs shader by removing the conditionals and the entire constant buffer
1 year ago
Nico de Poel
0bbf0de336
Initialize PSSR plugin once in class constructor and don't bother cleaning up, since we can reuse the same shared resources for the duration of the application's lifetime.
1 year ago
Nico de Poel
9a80b0f1c0
Some cleanup and reorganization
1 year ago
Nico de Poel
7f48d82c81
- Provide copies of depth and MVs ourselves, which ties in nicely with the mandatory Prepare Input copying.
- Made auto-keeping of copies internally by MFSR optional
- Added optional auto-reactive mask generation pass
1 year ago
Nico de Poel
010be580b9
Simplified prepare inputs shader and added a comment about the depth RT
1 year ago
Nico de Poel
dc12bc4a45
Allow option flags to be set from Unity and set motion vector gamma to 1 by default
1 year ago
Nico de Poel
2ecc2d54b9
- Use non-jittered camera projection matrix
- Double checked jitter offset values
- Use prepared (i.e. copied) motion vector texture
1 year ago
Nico de Poel
8d973cf234
First working proof-of-concept implementation of PSSR
1 year ago
Nico de Poel
5646e0a325
Added PoC SGSR2 upscaler
1 year ago
Nico de Poel
8db82e664c
Reworked upscaling integration to allow for multiple upscaler algorithms that can be switched on the fly.
1 year ago