Nvidia DLSS causing issues with Post Process materials reliant on screen size/Absolute World Position

Simple way to repro:

  1. Make a Post Process Material as below and assign it to an unbound Post Process volume (photo 1)
  2. Install Nvidia DLSS plugin and enable it
  3. In-editor it should appear correctly, splitting the world between SceneColor and pure white along the x-axis at 0,0,0 world origin (photo 2).
  4. Play via PIE and walk around the world with DLSS enabled to see the bug (photo 3+4). The “world origin” is ignored and the Absolute World Position seems to change and rotate around an axis as the camera is moved or the player walks around the world.
  5. Use the cvar r.NGX.DLSS.Enable 0 to turn DLSS off while in PIE and watch the PPM return to its correct static visual.

This SHOULD split the world on the X axis between white and normal scene color, however in PIE with DLSS enabled the split waves around as you move around the level like it’s attached to the camera.

The PPM’s effect also appears highly pixelated, leading me to believe the DLSS screen resolution change and sampling is happening at a weird time before or after the PPM is applied.

If you set the Post Process Material Blendable Location settings to Before Tonemapping (it will look ugly) but it will also behave accurately.

DLSS also affects ViewSize/ScreenPosition nodes in PostProcess Materials for example being used to sample and blur/copy or distort the screen in a Post Process Material.

SphereMasks which utilize Absolute World Position in PPM are also broken when using DLSS.
The following 2 photos show a SphereMask at 0,0,0 Absolute World Position in a PPM displaying normally In-Editor (DLSS on or off) or with DLSS off in PIE, and the second photo shows it in PIE with DLSS on being projected oddly from the camera location.

Hello. I’ve encountered the same problem.
Did you managed to find a solution or workaround to that?

Nevermind, I’ve found the awnser.
Whoever has this problem in the future: you have to change the postprocess material to render before tonemapping

Yeah that is what I ended up doing. It made the material’s colours (vector3 nodes) much brighter than After Tonemapping, so you’ll probably have to tweak your material a bit.
And, I initially figured that was the answer, but it was causing some other issues, like I thought it made the SceneColor a weird brightness too but it was in fact my custom blur node that didn’t work well under Before Tonemapping, so I had to tweak that node too once I realized that’s what was happening.