(no title)
frogblast | 2 years ago
These are two excellent posts that go deep on this:
The Shader Permutation Problem - Part 1: How Did We Get Here?
The Shader Permutation Problem - Part 2: How Do We Fix It?
In particular, the second post has the line:
We probably should not expect any magic workarounds for static register allocation: if a callable shader requires many registers, we can likely expect for the occupancy of the entire batch to suffer. It’s possible that GPUs could diverge from this model in the future, but that could come with all kinds of potential pitfalls (it’s not like they’re going to start spilling to a stack when executing thousands of pixel shader waves).
... And some kind of 'magic workaround for static register allocation' is pretty much what has been done.https://therealmjp.github.io/posts/shader-permutations-part1...
https://therealmjp.github.io/posts/shader-permutations-part2...
No comments yet.