1617a3babSopenharmony_ci 2617a3babSopenharmony_ci// Test trivial case for structure splitting: the IN and OUT structs have ONLY an interstage IO. 3617a3babSopenharmony_ci// This should fall back to flattening, and not produce any empty structures. 4617a3babSopenharmony_ci 5617a3babSopenharmony_cistruct VS_INPUT 6617a3babSopenharmony_ci{ 7617a3babSopenharmony_ci float4 Pos_in : SV_Position; 8617a3babSopenharmony_ci}; 9617a3babSopenharmony_ci 10617a3babSopenharmony_cistruct VS_OUTPUT 11617a3babSopenharmony_ci{ 12617a3babSopenharmony_ci float4 Pos : SV_Position; 13617a3babSopenharmony_ci}; 14617a3babSopenharmony_ci 15617a3babSopenharmony_ciVS_OUTPUT main(VS_INPUT vsin, float4 Pos_loose : SV_Position) 16617a3babSopenharmony_ci{ 17617a3babSopenharmony_ci VS_OUTPUT vsout; 18617a3babSopenharmony_ci 19617a3babSopenharmony_ci vsout.Pos = vsin.Pos_in + Pos_loose; 20617a3babSopenharmony_ci 21617a3babSopenharmony_ci return vsout; 22617a3babSopenharmony_ci} 23