This is the first part of !608, which I decided to separate to ease review.
It consists of improvements to SM1 testing, mainly: - Correctly passing int and bool uniforms as IEEE 754 floats to SM1 profiles. - The introduction of the "only" qualifier to avoid abusing `[require]` blocks in case tests retrieve different results for different shader models. - Allowing some of the tests we already have for SM4/SM6 to run in SM1 after those improvements.
-- v2: tests: Remove [require] directives for tests that use int and bool uniforms. tests/shader-runner: Introduce "if" qualifier. tests: Don't ignore SM1 on a non-const-indexing.shader_test test. tests/vkd3d-shader: Set uninitialized uniforms to zero.