HLSL: allow non-vec3 tessellation coordinate declarations

HLSL requires vec2 tessellation coordinate declarations in some cases
(e.g, isoline topology), where SPIR-V requires the TessCoord qualified
builtin to be a vec3 in all cases.  This alters the IO form of the
variable to be a vec3, which will be copied to the shader's declared
type if needed.  This is not a validation; the shader type must be correct.
This commit is contained in:
steve-lunarg 2017-04-05 11:03:02 -06:00
parent 97cb85c7d6
commit ccb076ac9b
5 changed files with 457 additions and 15 deletions

View file

@ -250,7 +250,7 @@ protected:
void addInterstageIoToLinkage();
void addPatchConstantInvocation();
void fixBuiltInArrayType(TType&);
void fixBuiltInIoType(TType&);
void flatten(const TSourceLoc& loc, const TVariable& variable);
int flatten(const TSourceLoc& loc, const TVariable& variable, const TType&, TFlattenData&, TString name);