This probably needs at least a rebase, because some of these patches are upstream now. It's not completely clear to me which issues the shader runner patches are addressing for the MR; if I understand correctly though, it's mostly a consequence of the Vulkan runner passing a minimum to run_shader_tests() which it doesn't actually support, and shader_runner.c:compiler_shader() using a profile string that doesn't correspond to the selected shader model for shader model 2 & 3. We probably shouldn't do that.