Like the previous MRs, this has the objective of: * Preparing the way for SM1-specific tests. * Running SM1 compilation tests, even if we don't have a runner available to execute them (yet). * Allowing different runners to run through the shader_test file several times, targeting different shader model ranges.
The current plan is: * We won't separate compilation tests from execution tests as in !418. * Instead of naming individual shader models in the shader_test files as in !434, we will keep working with the shader model ranges provided in the [require] directives. * We will test SM1 compilation going through the shader_test file twice with the vulkan runner, one for SM1 models and other for SM4 models, and for now we will just give a "todo" for execution tests until they are implemented (@zfigura patches).
This first part only includes facilities to properly mark SM1-specific tests (as required by !458) and some refactoring to better work with the idea of intersecting shader model ranges.