Nico de Poel
16f529bce8
Made shading change mip level into a reusable const value, and fixed mip sizes for exposure RTs.
Actually tested the output of the luminance pyramid shader now and it seems to be working.
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.
Also looked at the Lanczos LUT resource and ran into some roadblocks there.
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.
Added keywords for customization options to the compute shaders using multi_compile_local.
3 years ago
Nico de Poel
08e034584c
Reorganized context and dispatch code:
- Resource binding and shader dispatch is now done in separate Pipeline classes per stage, mirroring the design of the original FSR2 code.
- Moved some classes and structs around to make them available outside of the Fsr2Context class.
3 years ago
Nico de Poel
70dc9e29d4
Use a CommandBuffer to queue up commands and dispatch them all in one go
3 years ago
Nico de Poel
ce66799787
Implemented pretty much all of the constant buffer setup during dispatch.
3 years ago
Nico de Poel
3dba9d1fa4
Implemented a few more things that are new in FSR 2.2
3 years ago
Nico de Poel
a576f94e95
A bit of reorganization in how shaders and buffers are created and destroyed.
Also using Unity's system info to decide on inverted depth or not.
3 years ago
Nico de Poel
a1086edfe3
Updated C# bindings so far for the changes in FSR 2.2
3 years ago
Nico de Poel
4fafe1c868
Bunch of initialization stuff; all compute shaders are now being loaded and some initial CB values are being generated
3 years ago
Nico de Poel
4d6a47a03c
Reworked creation and dispatch to use description classes to pass parameters, designed similar to how the original FSR2 library does things, but adapted slightly to fit the Unity context.
3 years ago
Nico de Poel
fc233b935f
Moved all compute shader-related code to the Fsr2Context class, renamed FSR2Thing to Fsr2Controller and made the callbacks a static field in the Fsr2 class.
It's becoming more clear now who is responsible for what, and where things should be implemented.
3 years ago
Nico de Poel
1aa6e1f90d
Reorganization: created new class for main FSR2 entry points, enums and helper functions. Created a stub Fsr2Context class. Moved jitter helper functions into main FSR2 class. Translated a couple more helper functions.
3 years ago