Nico de Poel
1222d236f5
Fixed dynamic resolution scaling:
- Two instances of the same bug in ARM's code, where RenderSize was used instead of MaxRenderSize to calculate UVs
- One instance of me previously fixing a bug in Isonzo that isn't a bug in the latest PPV2 code, oops
10 months ago
Nico de Poel
8db82e664c
Reworked upscaling integration to allow for multiple upscaler algorithms that can be switched on the fly.
1 year ago
Nico de Poel
004cbc9468
Fixed opaque-only copy buffer not keeping dynamic resolution scaling in mind.
2 years ago
Nico de Poel
6fc389f137
Fixed a few comments that still referred to FSR2
2 years ago
Nico de Poel
c71e487b15
Updated SuperResolution shaders and code to FSR3
2 years ago
Nico de Poel
f399aaee4f
Upgraded to PPV2 version 3.4.0 with WebGPU support and several bug fixes
2 years ago
Nico de Poel
56d0050a72
Create opaque-only color buffer copy after opaque-only post-processing is done, and use the correct color format for the copy.
This creates a more accurate opaque-only reference for the auto-reactive pass, and improves compatibility with custom opaque-only effects.
3 years ago
Nico de Poel
3a98642307
Restore original camera target texture if it hasn't been reset after FSR2 is disabled
3 years ago
Nico de Poel
17eb3f7700
Cleaned up the dynamic resolution feature by allowing dynamic scale to be disabled on screen-space RTs and globally disabling dynamic res only once, after upscaling.
3 years ago
Nico de Poel
2bbb4f3a1f
Fixed incorrect scaled render size during FSR dispatch because of course, global variables and side-effects are bad m'kay.
At least dynamic scaling works now, so we can go from here.
3 years ago
Nico de Poel
3ae0a91944
Disable dynamic resolution on render targets created during and after FSR2 upscaling.
3 years ago
Nico de Poel
1e2e8b6a12
Release FSR2 resources when it's not in use. This frees up VRAM but also ensures that the mipmap bias is undone when switching to another AA option.
3 years ago
Nico de Poel
2e67acb859
Eliminated unnecessary blit to an intermediate temp RT by allowing PPV2 screen space RTs to be created with random write access. This way FSR2 can output directly to the PPV2 effects chain.
3 years ago
Nico de Poel
c37b796404
Take control of the camera target texture and blit directly to it. This allows FSR2 upscaling to work on cameras that output to a target texture.
3 years ago
Nico de Poel
2323ae88d5
Refactored opaque-only color texture to be provided as a property, instead of as a function argument. This keeps the Render() method in line with all of the other effects.
3 years ago
Nico de Poel
1a063e971f
Use the correct method to release temporary render textures. Fixes memory leaks from RT's not getting released properly.
3 years ago
Nico de Poel
9b140d20a3
Updated PPV2 code to version 3.3.0
3 years ago
Nico de Poel
489b8571d2
Reset camera viewport in OnRenderImage when we're not blitting directly to the camera target. This fixes some potential issues with other systems that are affected by when/where the camera viewport is modified.
3 years ago
Nico de Poel
397710f50f
Added support for auto-transparency & composition
3 years ago
Nico de Poel
ff34164ef3
Added support for auto-reactive mask generation, using a temp RT for storing the opaque-only image.
3 years ago
Nico de Poel
ea05e5da58
Perform OnRenderImage blit using an explicit temporary RT for the upscaled output. This can be blitted directly instead of needing an awkward command buffer, and it'll be less likely to cause issues than blitting from and to the same display buffer.
3 years ago
Nico de Poel
884adee6ed
Abuse display buffer to store upscaled image and blit it to the camera output destination in OnRenderImage. Bit of a hack but it works to support not outputting directly to the camera target.
3 years ago
Nico de Poel
e9eb1f4e31
Implemented upscaling using FSR2. Currently only works when outputting directly to camera target.
3 years ago
Nico de Poel
695c09e8ff
Added a custom effect injection point right before upscaling & TAA, to be rendered at the lower internal rendering resolution.
3 years ago
Nico de Poel
99cbc183f8
Initial integration of FSR2 into the post-processing pipeline, as just an alternative to the standard TAA option. No upscaling yet.
Some issues with jittering still remain, but the basic functionality is there.
3 years ago
Nico de Poel
94d604ab6c
Initial commit with clean version of PPV2 v3.2.2
3 years ago