Giovanni Mascellani (@giomasce) commented about tests/shader_runner.c:
memset(runner, 0, sizeof(*runner)); runner->ops = ops;
- runner->minimum_shader_model = minimum_shader_model;
- runner->maximum_shader_model = maximum_shader_model;
- runner->current_shader_model = model;
- /* Default shader models. */
- skip_tests = true;
- if (runner->current_shader_model == SHADER_MODEL_2_0)
skip_tests = false;
- if (runner->current_shader_model == SHADER_MODEL_4_0)
skip_tests = false;
- if (runner->current_shader_model == SHADER_MODEL_6_0)
skip_tests = false;
This means that you have to declare the standard shaders models as soon as you have a `[require]` directive, even it was just for other settings. Rather, I'd say that we want to first parse the whole `[require]` block and, if no shader model is requested, use the default; otherwise, use the requested ones.