Instead, we provide access to both the clip node and scroll node for a given primitive in the shader. The shader then calculated the appropriate local clip rect. There's a few hacks in here - for example, the way that I pack the clip/scroll IDs into a single u32 for the shaders. In the future, we'll be switching the vertex formats to work on u16 size data fields, so this will become a lot simpler then.