Basically what I replied to gio. Reinterpreting the `minimum_shader_model` and `maximum_shader_model` arguments as "The range of shader models for which we are interested on running tests on this call." instead of "The range of shader models this runner supports.", so we can control how many tests we want to run for a given runner (like one for the sm2 to sm3 range and one for the sm4 to the sm5.1 range, or one for every shader model).
Reinterpreting those arguments makes sense and I definitely agree we should fix that, but I don't understand why 3/4 is doing what it is doing. I would expect the patch to just stop passing those as parameters to run_shader_tests() at all, and instead just initialize those fields in run_shader_tests() itself. Or do that, but also keep the current arguments and instead initialize selected_shader_model from them.