Vulkan: Fix SPIR-V gen for literally indexed swizzles Translation did not take into account the fact that a swizzled vector can be indexed by a literal (like `vec.zzxy[2]`, which should translate to `vec.x`). Since this issue affects MSL generation too, such expressions are folded before they reach the output generators. Bug: b/351102615 Change-Id: I048aca165cdf22ef8cd7ccd9a8e503ccf636a55f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5680354 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>