Hi! There are a few vulkan bugs in SSSR library that I fixed in my fork. Because SSSR is not in the main branch, I can't really create a PR. So, you can find fixes here in my fork: IceLuna@a441134. Feel free to just copy my changes to your fork
I thought it could be useful to someone.
Also, there are NaNs on Vulkan that are being propagated by the denoiser. It gets fixed if you set IBLFactor to 0 and resize the window (force resource reinitialization). It seems like it's the sample app bug, not SSSR itself. So, I didn't bother trying to fix it.
Upd:
Seems like FP16 is overflowing and gets into inf state which at some point during calculations turns into NaN.
You can varifiy it by doing radiance = clamp(radiance, FfxFloat16x3(0), FfxFloat16x3(50, 50, 50)); inside FFX_DNSR_Reflections_StoreInGroupSharedMemory before saving it into shared memory, and then increasing the clamp max value from 50 to 200 (which will result in NaNs). Here's my fix: IceLuna@faa6de0

Hi! There are a few vulkan bugs in SSSR library that I fixed in my fork. Because SSSR is not in the main branch, I can't really create a PR. So, you can find fixes here in my fork: IceLuna@a441134. Feel free to just copy my changes to your fork
I thought it could be useful to someone.
Also, there are NaNs on Vulkan that are being propagated by the denoiser. It gets fixed if you set
IBLFactorto0and resize the window (force resource reinitialization).It seems like it's the sample app bug, not SSSR itself. So, I didn't bother trying to fix it.Upd:

Seems like FP16 is overflowing and gets into
infstate which at some point during calculations turns intoNaN.You can varifiy it by doing
radiance = clamp(radiance, FfxFloat16x3(0), FfxFloat16x3(50, 50, 50));insideFFX_DNSR_Reflections_StoreInGroupSharedMemorybefore saving it into shared memory, and then increasing the clamp max value from50to200(which will result in NaNs). Here's my fix: IceLuna@faa6de0