The only leftover field is SM1-specific, and I don't too much about how it's used, so I'm leaving it aside for now. It seems, however, that it could be moved directly to the parser (it seems to be only used for parsing and scanning).
-- v4: vkd3d-shader: Remove the bytecode fields from vkd3d_shader_desc. vkd3d-shader/dxbc: Remove flag is_dxil. vkd3d-shader: Move shader signatures to vsir_program. vkd3d-shader/dxbc: Decouple vkd3d_shader_desc from DXBC parsing. vkd3d-shader/tpf: Remove a useless parameter to shader_sm4_init().