This adds more validation that a dxil triple is actually useable when
compiling HLSL.
The OS field of the triple needs to be a versioned shader model.
Later, we should set a default if this is empty and check that the
version is a shader model we can actually handle.
The Environment field of the triple needs to be specified and be a
valid shader stage. I'd like to allow this to be empty and treat it
like library, but allowing that currently crashes in DXIL metadata
handling.
Hmmm in theory:
def err_drv_dxil_bad_shader_required_in_target : Error< "shader %select{model|stage}0 is required in target '%1' for DXIL generation">; def err_drv_dxil_bad_shader_unsupported : Error< "shader %select{model|stage}0 '%1' in target '%2' is invalid for DXIL generation">;