spirv/nir: handle location decorations on block interface members, plus cleaning
While doing a review of the current ARB_gl_spirv series, I found that this one also applies to Vulkan, and fixes some Vulkan tests, so I preferred to send it in advance, and keep any ARB_gl_spirv series to review to only apply to OpenGL.
FWIW, this was sent a long time ago [1], but since then the patch needed several updates. We are also dropping the third patch of that series, as right now it is not working/fixing as intended (investigate it just added to my TODO, but will not have too much priority).
As part of this, I also took the Vulkan tests from a custom vkrunner branch, and imported to piglit. You can find them here [2], but I will send in short to the piglit mailing list to be reviewed.
[1] https://patchwork.freedesktop.org/series/40797/
[2] https://github.com/Igalia/piglit/tree/review/handle-block-member-location