1617a3babSopenharmony_cistruct MyBuffer1 2617a3babSopenharmony_ci{ 3617a3babSopenharmony_ci column_major float4x4 mat1; 4617a3babSopenharmony_ci row_major float4x4 mat2; 5617a3babSopenharmony_ci float4 vec1; 6617a3babSopenharmony_ci float foo; 7617a3babSopenharmony_ci}; 8617a3babSopenharmony_ci 9617a3babSopenharmony_cistruct MyBuffer2 10617a3babSopenharmony_ci{ 11617a3babSopenharmony_ci row_major float4x4 mat1; 12617a3babSopenharmony_ci float4 vec1; 13617a3babSopenharmony_ci}; 14617a3babSopenharmony_ci 15617a3babSopenharmony_cicbuffer Example 16617a3babSopenharmony_ci{ 17617a3babSopenharmony_ci MyBuffer1 g_MyBuffer1; 18617a3babSopenharmony_ci MyBuffer2 g_MyBuffer2; 19617a3babSopenharmony_ci column_major float4x4 mat1a; 20617a3babSopenharmony_ci}; 21617a3babSopenharmony_ci 22617a3babSopenharmony_cifloat4 main() : SV_Target0 23617a3babSopenharmony_ci{ 24617a3babSopenharmony_ci return mul(g_MyBuffer1.mat1, g_MyBuffer1.vec1) + 25617a3babSopenharmony_ci mul(g_MyBuffer2.mat1, g_MyBuffer2.vec1); 26617a3babSopenharmony_ci} 27617a3babSopenharmony_ci 28