Broadly, this probably makes sense; there may be an open question whether this should be called vkd3d_shader_scan_descriptor_info1 or something else, and whether we should duplicate the original structure or just provide the extra information separately, but I don't currently have a strong opinion on that.
I considered not duplicating the original information, but it struck me as awkward, or at least, unidiomatic. It would require a caller to provide both structures instead of just one, and it would also mean they'd have to index two separate arrays.
As for extending with a -1, well, we do have precedent for that.
Sure; I guess I'm mostly just saying I haven't given the question much thought, and at some point I probably should.
I do wonder about the reason for submitting this right now; my impression is that the shader reflection bits aren't in danger of being imminently released, so I imagine this is mostly intended to address the second point. That's a purely internal usage though, and wouldn't require introducing public API.
Sure, and I suppose I could just make the structure private for now. I didn't see a reason to do that, though.
Mostly just private structures being easier than public ones, as well as getting the chance to see how using this internally for SPIR-V ends up working out.