void ShaderFunction(float inf) : COLOR0 { float3x4 m; // tests that convert to non-matrix swizzles m._34 = 1.0; // AST should have a normal component select m._m23 = 2.0; // same code m[2][3] = 2.0; // same code m._11_12_13_14 = float4(3.0); // AST should have normal column selection (first row) m._m10_m11_m12_m13 = float4(3.0); // AST should have normal column selection (second row) m[1] = float4(3.0); // same code // tests that stay as matrix swizzles float3 f3; m._11_22_23 = f3; m._21_12_31 = float3(5.0); m._11_12_21 = 2 * f3; // r-value f3 = m._21_12_31; } float3x3 createMat3x3(float3 a, float3 b, float3 c) { float3x3 m; m._11_21_31 = a; m._12_22_32 = b; m._13_23_33 = c; return m; }