I don't consider the geometry/ primitive block to be fixed function - it is programmable after all. Epic saying they are using CUs for Nanite is clear, but I find it hard to believe they would leave the geometry engine idle in an RDNA2 GPU.
They are doing exactly that. They only fall back to primitive shaders when it would be faster, probably when a triangle has coverage of multiple pixels, which should be rare in this system. For 1 poly per pixel they say they have two software rasterizers that run in compute that basically massively outperform the gpu hardware.
I think PS5 has 4 (?) shader arrays, each with a primitive unit and a raster unit. The typical raster pipeline scales well to clock speed because this is a very narrow path. The UE5 solution ignores this hardware and does software rasterization which means it scales to CUs, so it should scale to overall TFLOPS.
Last edited: