1static float4 Float; 2static float vFloat; 3static int4 Int; 4static int vInt; 5static float4 Float2; 6static int4 Int2; 7 8struct SPIRV_Cross_Input 9{ 10 nointerpolation float vFloat : TEXCOORD0; 11 nointerpolation int vInt : TEXCOORD1; 12}; 13 14struct SPIRV_Cross_Output 15{ 16 float4 Float : SV_Target0; 17 int4 Int : SV_Target1; 18 float4 Float2 : SV_Target2; 19 int4 Int2 : SV_Target3; 20}; 21 22void frag_main() 23{ 24 Float = vFloat.xxxx * 2.0f; 25 Int = vInt.xxxx * int4(2, 2, 2, 2); 26 Float2 = 10.0f.xxxx; 27 Int2 = int4(10, 10, 10, 10); 28} 29 30SPIRV_Cross_Output main(SPIRV_Cross_Input stage_input) 31{ 32 vFloat = stage_input.vFloat; 33 vInt = stage_input.vInt; 34 frag_main(); 35 SPIRV_Cross_Output stage_output; 36 stage_output.Float = Float; 37 stage_output.Int = Int; 38 stage_output.Float2 = Float2; 39 stage_output.Int2 = Int2; 40 return stage_output; 41} 42