1*c8dee2aaSAndroid Build Coastguard Workeruniform float4x4 testMatrix4x4; // = {1, 2, 3, 4, 5, 6, 7, 8, ...} 2*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorGreen, colorRed; 3*c8dee2aaSAndroid Build Coastguard Worker 4*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) { 5*c8dee2aaSAndroid Build Coastguard Worker const float4 constValA = half4(1, 2, 3, 4); 6*c8dee2aaSAndroid Build Coastguard Worker const float4 constValB = half4(5, 6, 7, 8); 7*c8dee2aaSAndroid Build Coastguard Worker float4 inputA = float4(testMatrix4x4[0]); 8*c8dee2aaSAndroid Build Coastguard Worker float4 inputB = float4(testMatrix4x4[1]); 9*c8dee2aaSAndroid Build Coastguard Worker float4 expected = float4(5, 17, 38, 70); 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard Worker return (dot(inputA.x, inputB.x) == expected.x && 12*c8dee2aaSAndroid Build Coastguard Worker dot(inputA.xy, inputB.xy) == expected.y && 13*c8dee2aaSAndroid Build Coastguard Worker dot(inputA.xyz, inputB.xyz) == expected.z && 14*c8dee2aaSAndroid Build Coastguard Worker dot(inputA.xyzw, inputB.xyzw) == expected.w && 15*c8dee2aaSAndroid Build Coastguard Worker dot(constValA.x, constValB.x) == expected.x && 16*c8dee2aaSAndroid Build Coastguard Worker dot(constValA.xy, constValB.xy) == expected.y && 17*c8dee2aaSAndroid Build Coastguard Worker dot(constValA.xyz, constValB.xyz) == expected.z && 18*c8dee2aaSAndroid Build Coastguard Worker dot(constValA.xyzw, constValB.xyzw) == expected.w) ? colorGreen : colorRed; 19*c8dee2aaSAndroid Build Coastguard Worker} 20