Source
- URL: https://x.com/NOTimothyLottes/status/1884282476195110998
- Author: NOTimothyLottes (@NOTimothyLottes)
- Posted: 2025-01-28 16:48:45
Thread
1/ @NOTimothyLottes
So we (the industry) really ever went back to the MSAA based TAA combinations and applied everything we learned in the past decade …
Branches: 2025-01-28-NOTimothyLottes-just-raw-spatial-scaling-in-a-custom-resolve
2/ @MichalDrobot
@NOTimothyLottes
Hey that’s literally what our VRS is doing with all those tricks and more. We just don’t call it an upsampler ; )
On PC we resolve MSAA to texture2DArray to retain plane separation benefits for bandwidth and coherency
3/ @NOTimothyLottes
@MichalDrobot
Larger differences are
(1.) Your VRS is PSL’ing to a regular grid? (need the actual 8x pattern for what I’m suggesting)
(2.) Sounds like you are getting benefit from FMASK due to the soft VRS, but for what I’m suggesting the NV flat+DCC layout is way better
4/ @MichalDrobot
@NOTimothyLottes
- it’s 4xMSAA but we DRS only on X axis which is matching your case I believe. Similar how it was done it Killzone Shadowfall.
8xMSAA we could explore XY scaling - depends. On PC it’s flat /w DCC. On gen8 it’s fmask packed. Gen9 is FMask with DCC plane0/1
5/ @MichalDrobot
@NOTimothyLottes
But sure I agree that 8x is the way to go for 4K. Our challenge is that we still have gen8 with 1k target and at those resolutions 8x scales really sub linear due to quad occupancy
6/ @NOTimothyLottes
@MichalDrobot
I guess the question then is if you implement variable spatial scaling in the custom resolve, is the 8xMSAA loss something that can easily be covered by increased spatial scale on the low end HW? 8x area scaling at 8xMSAA is still likely good for 3xAA on edges at spatial-only
Branches: 2025-01-28-NOTimothyLottes-my-mindset-is-more-tuned-towards-rendering
7/ @MichalDrobot
@NOTimothyLottes
If low end hw is decent with MSAA AND you can control triangle density effectively to combat quad occupancy loss (we can’t) - that’s the best there is imo.
FWIW that’s why we use stencil even for geo edges for MSAA - because we get too many interior edges that don’t do anything
8/ @NOTimothyLottes
@MichalDrobot
I see, yes once authoring pushes tri/pix density then what makes sense changes. I was thinking more of the way things had been authored in the relief mapping era.
9/ @MichalDrobot
@NOTimothyLottes
Then you need invest heavily into visbuffer for “simple draws” and pay setup price to compensate those deficiencies. involved pipeline that is not portable
I can totally see your plan working for specific art styles or more retro gaming. There is a huge Indy market for this
10/ @NOTimothyLottes
@MichalDrobot
If tri/pix density is high, even if there are some huge triangles left, without substantially good multi-scale LOD (meaning cluster count scaling), I think soft culling alone falls off the !/$ curve for scaling - hints perhaps past the crossover for non-triangle rendering
11/ @NOTimothyLottes
@MichalDrobot
At that stage I’d have transitioned to direct final view reconstruction from object space domain. Walking object space, atomicMin(MSB{z,ref}LSB) at some good enough density into the final projected space, then use a neighborhood of ‘refs’ to get back to object space neighborhoods
12/ @NOTimothyLottes
@MichalDrobot
… for the filtering. One can effectively cancel atomics per lane based on local projected screen-space density to deal with domain stretch (skinning), so it gets to be highly scalable.
13/ @NOTimothyLottes
@MichalDrobot
The TAA reconstructions all crossed that threshold of cost where it’s easy to swap in reconstruction from something other than screen-space. And with no disocclusion trouble, object space is much less of a challenge to go from.