1; SPIR-V
2; Version: 1.0
3; Generator: rspirv
4; Bound: 93
5OpCapability Shader
6%1 = OpExtInstImport "GLSL.std.450"
7OpMemoryModel Logical GLSL450
8OpEntryPoint Vertex %36 "vs_main" %29 %32 %34
9OpEntryPoint Fragment %85 "fs_main" %78 %81 %84
10OpExecutionMode %85 OriginUpperLeft
11OpMemberDecorate %12 0 Offset 0
12OpMemberDecorate %12 1 Offset 16
13OpDecorate %14 Block
14OpMemberDecorate %14 0 Offset 0
15OpMemberDecorate %14 0 ColMajor
16OpMemberDecorate %14 0 MatrixStride 16
17OpMemberDecorate %14 1 Offset 64
18OpMemberDecorate %14 1 ColMajor
19OpMemberDecorate %14 1 MatrixStride 16
20OpDecorate %19 DescriptorSet 0
21OpDecorate %19 Binding 0
22OpDecorate %21 DescriptorSet 0
23OpDecorate %21 Binding 1
24OpDecorate %23 DescriptorSet 0
25OpDecorate %23 Binding 2
26OpDecorate %29 BuiltIn VertexIndex
27OpDecorate %32 BuiltIn Position
28OpDecorate %34 Location 0
29OpDecorate %78 BuiltIn FragCoord
30OpDecorate %81 Location 0
31OpDecorate %84 Location 0
32%2 = OpTypeVoid
33%4 = OpTypeInt 32 1
34%3 = OpConstant  %4  2
35%5 = OpConstant  %4  1
36%7 = OpTypeFloat 32
37%6 = OpConstant  %7  4.0
38%8 = OpConstant  %7  1.0
39%9 = OpConstant  %7  0.0
40%10 = OpTypeVector %7 4
41%11 = OpTypeVector %7 3
42%12 = OpTypeStruct %10 %11
43%13 = OpTypeMatrix %10 4
44%14 = OpTypeStruct %13 %13
45%15 = OpTypeInt 32 0
46%16 = OpTypeMatrix %11 3
47%17 = OpTypeImage %7 Cube 0 0 0 1 Unknown
48%18 = OpTypeSampler
49%20 = OpTypePointer Uniform %14
50%19 = OpVariable  %20  Uniform
51%22 = OpTypePointer UniformConstant %17
52%21 = OpVariable  %22  UniformConstant
53%24 = OpTypePointer UniformConstant %18
54%23 = OpVariable  %24  UniformConstant
55%26 = OpTypePointer Function %4
56%30 = OpTypePointer Input %15
57%29 = OpVariable  %30  Input
58%33 = OpTypePointer Output %10
59%32 = OpVariable  %33  Output
60%35 = OpTypePointer Output %11
61%34 = OpVariable  %35  Output
62%37 = OpTypeFunction %2
63%52 = OpTypePointer Uniform %13
64%53 = OpTypePointer Uniform %10
65%54 = OpConstant  %15  0
66%55 = OpConstant  %15  1
67%62 = OpConstant  %15  2
68%79 = OpTypePointer Input %10
69%78 = OpVariable  %79  Input
70%82 = OpTypePointer Input %11
71%81 = OpVariable  %82  Input
72%84 = OpVariable  %33  Output
73%90 = OpTypeSampledImage %17
74%36 = OpFunction  %2  None %37
75%28 = OpLabel
76%25 = OpVariable  %26  Function
77%27 = OpVariable  %26  Function
78%31 = OpLoad  %15  %29
79OpBranch %38
80%38 = OpLabel
81%39 = OpBitcast  %4  %31
82%40 = OpSDiv  %4  %39 %3
83OpStore %25 %40
84%41 = OpBitcast  %4  %31
85%42 = OpBitwiseAnd  %4  %41 %5
86OpStore %27 %42
87%43 = OpLoad  %4  %25
88%44 = OpConvertSToF  %7  %43
89%45 = OpFMul  %7  %44 %6
90%46 = OpFSub  %7  %45 %8
91%47 = OpLoad  %4  %27
92%48 = OpConvertSToF  %7  %47
93%49 = OpFMul  %7  %48 %6
94%50 = OpFSub  %7  %49 %8
95%51 = OpCompositeConstruct  %10  %46 %50 %9 %8
96%56 = OpAccessChain  %53  %19 %55 %54
97%57 = OpLoad  %10  %56
98%58 = OpVectorShuffle  %11  %57 %57 0 1 2
99%59 = OpAccessChain  %53  %19 %55 %55
100%60 = OpLoad  %10  %59
101%61 = OpVectorShuffle  %11  %60 %60 0 1 2
102%63 = OpAccessChain  %53  %19 %55 %62
103%64 = OpLoad  %10  %63
104%65 = OpVectorShuffle  %11  %64 %64 0 1 2
105%66 = OpCompositeConstruct  %16  %58 %61 %65
106%67 = OpTranspose  %16  %66
107%68 = OpAccessChain  %52  %19 %54
108%69 = OpLoad  %13  %68
109%70 = OpMatrixTimesVector  %10  %69 %51
110%71 = OpVectorShuffle  %11  %70 %70 0 1 2
111%72 = OpMatrixTimesVector  %11  %67 %71
112%73 = OpCompositeConstruct  %12  %51 %72
113%74 = OpCompositeExtract  %10  %73 0
114OpStore %32 %74
115%75 = OpCompositeExtract  %11  %73 1
116OpStore %34 %75
117OpReturn
118OpFunctionEnd
119%85 = OpFunction  %2  None %37
120%76 = OpLabel
121%80 = OpLoad  %10  %78
122%83 = OpLoad  %11  %81
123%77 = OpCompositeConstruct  %12  %80 %83
124%86 = OpLoad  %17  %21
125%87 = OpLoad  %18  %23
126OpBranch %88
127%88 = OpLabel
128%89 = OpCompositeExtract  %11  %77 1
129%91 = OpSampledImage  %90  %86 %87
130%92 = OpImageSampleImplicitLod  %10  %91 %89
131OpStore %84 %92
132OpReturn
133OpFunctionEnd