Nico de Poel
|
501b1b0638
|
Added workaround for HDRP using texture arrays for its camera buffers on some platforms
|
3 years ago |
Nico de Poel
|
653b427c37
|
Commented out all experimental DXC-related pragmas, as these could sometimes cause shader compilation issues even when not enabled.
|
3 years ago |
Nico de Poel
|
ef20869c48
|
Added support for experimental auto-TCR generation pass
|
3 years ago |
Nico de Poel
|
a2d670d0f8
|
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.
|
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
|
b190b2993c
|
Suppress a few common but harmless warnings in FFX's HLSL code.
This way we don't have to modify the FSR2 shaders to get rid of these warnings.
|
3 years ago |
Nico de Poel
|
06a2658080
|
More renaming
|
3 years ago |
Nico de Poel
|
e78920a89c
|
Disable DXC shader compiler by default because enabling it for DX12 will inevitably break DX11 support.
|
3 years ago |
Nico de Poel
|
f429de28fb
|
Enabled DXC shader compiler on supported platforms, and use it to enable native 16-bit and wave operations where possible.
Moved common defines, pragmas and hacks into a new shared header file.
|
3 years ago |
Nico de Poel
|
54849cee0f
|
Use RenderTargetIdentifier magic to bind UAV outputs to SRV inputs, making obsolete the monkey patching of shaders.
Also reorganized the SRV/UAV names to match the ordering from the FSR2 source.
|
3 years ago |
Nico de Poel
|
0e4f344166
|
Fixed a stupid typo that broke type definitions on desktop platforms
|
3 years ago |
Nico de Poel
|
d3a7dbf45c
|
Redid the type definitions for PS4/5, true 16-bit types should now be supported
|
3 years ago |
Nico de Poel
|
b15e828e2c
|
Don't use global_memory on PS4/5 I guess since it breaks everything
|
3 years ago |
Nico de Poel
|
76f82751ae
|
Removed #extension directives which are meant only for GLSL and which caused compiler warnings in Unity
|
3 years ago |
Nico de Poel
|
9733de7067
|
Added some quick hacks to allow the shaders to compile for Metal.
These "interlocked" functions are not interlocked anymore now, but it's good enough for an initial test on MacOS.
|
3 years ago |
Nico de Poel
|
882075862f
|
Moved PSSL type definitions up, so that they apply both when FFX_HALF is defined and when not. This allows the shaders to compile for PS4/5 in both modes.
Should look into proper half-precision support; fp16 is only supported on PS4 Pro, on base PS4 everything compiles down to fp32 anyway.
|
3 years ago |
Nico de Poel
|
fbb3080696
|
Redefine HLSL globallycoherent as PSSL global_memory. The shader compiler seems to like it, and as far as I can tell it should serve the same purpose.
|
3 years ago |
Nico de Poel
|
e624b61ea5
|
Removed all of the TCR auto-generation stuff, as I have no intention of actually supporting this anytime soon
|
3 years ago |
Nico de Poel
|
13eb24289e
|
Initial implementation of accumulation pass. It's doing... something but it's definitely not correct yet.
Changed scene luminance into a persistent RT, since that makes it easier to control mipmaps and bind specific mip levels.
|
3 years ago |
Nico de Poel
|
56da810b50
|
Implemented lock pass
|
3 years ago |
Nico de Poel
|
4801535236
|
Removed shader that was made obsolete as part of FSR 2.2
|
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
|
ee13551bb7
|
Removed GLSL shader files as we don't actually use those, and to reduce clutter.
|
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
|
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
|
b89de25b10
|
Tweaks to make the FSR2 shaders compile on PS4/5 platforms.
FFX_HALF doesn't seem to be a thing in FSR 2.2 anymore anyway, so might as well keep that disabled.
|
3 years ago |
Nico de Poel
|
a64795dd4f
|
Added Unity compute shader for the new experimental Transparency/Composition/Reactive auto-generation feature from FSR 2.2
|
3 years ago |
Nico de Poel
|
a6abcbb788
|
Fixed a couple of issues in the FSR 2.2 shader sources
|
3 years ago |
Nico de Poel
|
38a2164a52
|
Updated shader sources to FSR 2.2
|
3 years ago |
Nico de Poel
|
447ae35772
|
- Added SPD constants buffer used by luminance pass
- Started code reorganization: added a callbacks class for things that need to be customizable by the gamedev
|
3 years ago |
Nico de Poel
|
9b768e2c2f
|
- Added Unity wrappers for all FSR2 compute shaders
- Experimented with alternate compilation options for RCAS shader
|
3 years ago |
Nico de Poel
|
8b5395acd8
|
Reorganized shader files: FSR2 shaders are now copied directly into the project without alterations, Unity wrappers are located in an FSR2 folder.
|
3 years ago |