This allows for the basic features necessary to compile sm1 shaders. This is the first step towards comprehensive Direct3D 1-9 support in the Vulkan backend.
Fixed-function d3d states that must be emulated with shaders in Vulkan (e.g. alpha test) are not yet implemented, nor is the fixed-function pipeline. Accordingly it is unlikely that any real applications run yet.
Tested with vkd3d's tests. Specifically, run `make crosstest` in a vkd3d tree, then:
wine tests/shader_runner.cross64.exe ../vkd3d/tests/hlsl/writemask-assignop-0.shader_test
-- v3: wined3d/spirv: Hook up sm1 interface matching. wined3d: Compile sm1 bytecode to spirv.