It's a slightly obscure failure that happens when we pass less uniforms to the shader than it asks for. The validation failure is because vkd3d puts an internal uniform after the count in the root signature, but the count comes from the shader runner. We don't currently have a good way to get the required count from the shader via reflection.
We should indeed probably stop using push constants, but I'll leave that to a separate patch.