Hmm, I changed `reflection->lpVtbl->GetDesc` to `ID3D12ShaderReflection_GetDesc` here and it seems to build fine with GCC, MinGW and for the cross tests.
Because we're using our own headers, I think.
Which scenario do you expect to fail? I guess we don't support building with MSVC, do we?
No idea about MSVC, but Microsoft's headers are missing the C macros. Wine's d3d11shader.h is written accordingly and is also missing those macros, although d3d12shader.h is generated from an IDL and has them.
I copy-pasted most of these tests from Wine, and changed the 11 to 12, so the lpVtbl usage is retained from that. I guess as long as vkd3d is using its own headers I could replace that, though.