
The cogl shader cache uses snippet pointers as cache keys, meaning even if we generate two identical snippets; if they have different pointer addresses, they'll generate separate cache entries. Handle this by caching our snippets on the context. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3433>