Merge pull request #2976 from jeremy-lunarg/hayes-fix-2975
[platform/upstream/glslang.git] / Test / hlsl.matType.bool.frag
1
2 void TestBoolMatTypes()
3 {
4     bool1x1 b1x1;
5     bool2x1 b2x1;
6     bool3x1 b3x1;
7     bool4x1 b4x1;
8     
9     bool1x2 b1x2;
10     bool2x2 b2x2;
11     bool3x2 b3x2;
12     bool4x2 b4x2;
13     
14     bool1x3 b1x3;
15     bool2x3 b2x3;
16     bool3x3 b3x3;
17     bool4x3 b4x3;
18     
19     bool1x4 b1x4;
20     bool2x4 b2x4;
21     bool3x4 b3x4;
22     bool4x4 b4x4;
23     
24     // TODO: Currently SPIR-V disallows Nx1 or 1xN mats.
25     bool1x1 r00 = transpose(b1x1);
26     bool1x2 r01 = transpose(b2x1);
27     bool1x3 r02 = transpose(b3x1);
28     bool1x4 r03 = transpose(b4x1);
29     
30     bool2x1 r10 = transpose(b1x2);
31     bool2x2 r11 = transpose(b2x2);
32     bool2x3 r12 = transpose(b3x2);
33     bool2x4 r13 = transpose(b4x2);
34     
35     bool3x1 r20 = transpose(b1x3);
36     bool3x2 r21 = transpose(b2x3);
37     bool3x3 r22 = transpose(b3x3);
38     bool3x4 r23 = transpose(b4x3);
39     
40     bool4x1 r30 = transpose(b1x4);
41     bool4x2 r31 = transpose(b2x4);
42     bool4x3 r32 = transpose(b3x4);
43     bool4x4 r33 = transpose(b4x4);
44 }
45
46 struct PS_OUTPUT { float4 color : SV_Target0; };
47
48 PS_OUTPUT main()
49 {
50     PS_OUTPUT ps_output;
51     ps_output.color = float4(0,0,0,0);
52     return ps_output;
53 };