I don't know about that one. There are probably still a few places left that depend on this property, but we should get rid of them and just use "idx_count".
Would it be ok for you to accept this today, and for the next MR I'll get rid of all those places and remove the check?
Sure. It's perhaps a bit unfortunate that we allocate an error code for it though.
+ /* There is not DCL_TEMPS in SM1-3. */ + if (reg->idx_count >= 1 && reg->idx[0].offset >= ctx->parser->shader_desc.temp_count) + validator_error(ctx, VKD3D_SHADER_ERROR_VSIR_INVALID_INDEX, "TEMP register index %u exceeds the declared count %u.", + reg->idx[0].offset, ctx->parser->shader_desc.temp_count); + break;
The comment is perhaps a bit superfluous now, but if we're going to keep it, I think that should say "no DCL_TEMPS".
+ /* TODO Check that each phase in a hull shader has a at + * most one occurrence. */
"has at most"