ERR seems appropriate. There's perhaps also an argument to be made for dumping the messages buffer to ERR on failure in vsir_validate() instead of duplicating the message here; I don't feel strongly about it though.
So far I converted to `ERR()`. The problem with dumping the error buffer is that if the parser is created with logging disabled (which, for example, always happens when vkd3d wants to convert a binary shader to SPIR-V) the buffer will always be empty. Since that behavior makes sense I wouldn't want to change it, but at the same time it can be useful for developers to see validation errors.
We might need to create a secondary output buffer with an independent log level for debug output. I think the problem is solvable, but no need to worry about it for now.
Right, though in principle DCL_TEMPS should at least never have a count greater than "shader_desc.temp_count" either.
I'll soon parse HS phases, so I will able to validate this properly. So, `temp_count` is intended to be the maximum of all the DCL_TEMPS, right?
Effectively, yes. More formally it's the number of unique temporaries used by the shader.