A GPU virtual memory system for computing extremely high resolution shadows while maintaining a fixed memory budget and supporting data caching. This was published as a chapter in GPU Zen 3 (me + 3 other co-authors) and an older version is also available on my website.

Cascade selection depends on distance to camera. Each square is a virtual page from a certain cascade that has been mapped to a piece of physical GPU memory.

Virtual address space shifts as directional light rotates which causes cache invalidation

A look at the allocator as physical memory is allocated and freed depending on scene demands