In order to reduce Shader register pressure during shading phase, we need to transfer the shadow sampling of opaque surfaces to a fullscreen pass.
We would store 1 or 2 bits per lights (limiting number of shadowed lights per pixels to 32 or 16) and use noise to dither the shadow shape.
The noise would disappear with accumulation.
This idea was explored in this presentation link.
The issue is that this technique will not work for alpha-blended surfaces that will still need the standard shadow code.
Contact shadow and cascade shadows cost could be reduced. This could be the opportunity to remove support for contact shadows for alpha blend surfaces.
This also will permit to have raytraced shadows in the future.
Estimate : 2 weeks