On Sat Oct 21 00:39:08 2023 +0000, Zebediah Figura wrote:
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.
If I understand correctly, you mean that is okay that every run_shader_tests_*() function gets them as parameters, and use them internally to initialize the fields in the runner, so run_shader_tests() itself should not receive them as parameters.
I think nothing preempt us from doing that, except that run_shader_tests() wouldn't be able to determine the selected_shader_model on its own on a run with `ops = NULL` and `check_syntax = true`.
But yep, maybe for consistency even compile-only runs should have their ops defined, even if they are mostly empty functions or NULL function pointers. I will do that.