Hi,
when the HLSL shader compiler decides to pack multiple in/out variables into one vec4, only the first decl is emitted correctly. Resulting in wrong in/out temp variable types, assignments and swizzle/index operations.
An example for a packet in/out would be:
struct VS_Out {
float2 var1 : TEXCOORD0;
float4 var2 : TEXCOORD1;
float var3 : TEXCOORD2;
};
The HLSL compiler will pack var3 and var1 into one float3 in/out register and this breaks HLSLcc.