• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5OpExecutionMode %_entrypoint_v OriginUpperLeft
6OpName %sk_FragColor "sk_FragColor"
7OpName %sk_Clockwise "sk_Clockwise"
8OpName %_UniformBuffer "_UniformBuffer"
9OpMemberName %_UniformBuffer 0 "testMatrix2x2"
10OpMemberName %_UniformBuffer 1 "colorGreen"
11OpMemberName %_UniformBuffer 2 "colorRed"
12OpName %_entrypoint_v "_entrypoint_v"
13OpName %main "main"
14OpName %infiniteValue "infiniteValue"
15OpName %finiteValue "finiteValue"
16OpDecorate %sk_FragColor RelaxedPrecision
17OpDecorate %sk_FragColor Location 0
18OpDecorate %sk_FragColor Index 0
19OpDecorate %sk_Clockwise BuiltIn FrontFacing
20OpMemberDecorate %_UniformBuffer 0 Offset 0
21OpMemberDecorate %_UniformBuffer 0 ColMajor
22OpMemberDecorate %_UniformBuffer 0 MatrixStride 16
23OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
24OpMemberDecorate %_UniformBuffer 1 Offset 32
25OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
26OpMemberDecorate %_UniformBuffer 2 Offset 48
27OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
28OpDecorate %_UniformBuffer Block
29OpDecorate %10 Binding 0
30OpDecorate %10 DescriptorSet 0
31OpDecorate %infiniteValue RelaxedPrecision
32OpDecorate %33 RelaxedPrecision
33OpDecorate %34 RelaxedPrecision
34OpDecorate %35 RelaxedPrecision
35OpDecorate %36 RelaxedPrecision
36OpDecorate %37 RelaxedPrecision
37OpDecorate %38 RelaxedPrecision
38OpDecorate %42 RelaxedPrecision
39OpDecorate %43 RelaxedPrecision
40OpDecorate %45 RelaxedPrecision
41OpDecorate %46 RelaxedPrecision
42OpDecorate %finiteValue RelaxedPrecision
43OpDecorate %49 RelaxedPrecision
44OpDecorate %50 RelaxedPrecision
45OpDecorate %51 RelaxedPrecision
46OpDecorate %52 RelaxedPrecision
47OpDecorate %53 RelaxedPrecision
48OpDecorate %54 RelaxedPrecision
49OpDecorate %56 RelaxedPrecision
50OpDecorate %57 RelaxedPrecision
51OpDecorate %58 RelaxedPrecision
52OpDecorate %59 RelaxedPrecision
53OpDecorate %62 RelaxedPrecision
54OpDecorate %63 RelaxedPrecision
55OpDecorate %68 RelaxedPrecision
56OpDecorate %69 RelaxedPrecision
57OpDecorate %76 RelaxedPrecision
58OpDecorate %77 RelaxedPrecision
59OpDecorate %85 RelaxedPrecision
60OpDecorate %92 RelaxedPrecision
61OpDecorate %93 RelaxedPrecision
62OpDecorate %100 RelaxedPrecision
63OpDecorate %101 RelaxedPrecision
64OpDecorate %108 RelaxedPrecision
65OpDecorate %109 RelaxedPrecision
66OpDecorate %116 RelaxedPrecision
67OpDecorate %123 RelaxedPrecision
68OpDecorate %126 RelaxedPrecision
69OpDecorate %127 RelaxedPrecision
70%float = OpTypeFloat 32
71%v4float = OpTypeVector %float 4
72%_ptr_Output_v4float = OpTypePointer Output %v4float
73%sk_FragColor = OpVariable %_ptr_Output_v4float Output
74%bool = OpTypeBool
75%_ptr_Input_bool = OpTypePointer Input %bool
76%sk_Clockwise = OpVariable %_ptr_Input_bool Input
77%v2float = OpTypeVector %float 2
78%mat2v2float = OpTypeMatrix %v2float 2
79%_UniformBuffer = OpTypeStruct %mat2v2float %v4float %v4float
80%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
81%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
82%void = OpTypeVoid
83%17 = OpTypeFunction %void
84%float_0 = OpConstant %float 0
85%20 = OpConstantComposite %v2float %float_0 %float_0
86%_ptr_Function_v2float = OpTypePointer Function %v2float
87%24 = OpTypeFunction %v4float %_ptr_Function_v2float
88%_ptr_Function_v4float = OpTypePointer Function %v4float
89%_ptr_Uniform_mat2v2float = OpTypePointer Uniform %mat2v2float
90%int = OpTypeInt 32 1
91%int_0 = OpConstant %int 0
92%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
93%int_1 = OpConstant %int 1
94%float_1 = OpConstant %float 1
95%false = OpConstantFalse %bool
96%v2bool = OpTypeVector %bool 2
97%v3float = OpTypeVector %float 3
98%v3bool = OpTypeVector %bool 3
99%v4bool = OpTypeVector %bool 4
100%int_2 = OpConstant %int 2
101%_entrypoint_v = OpFunction %void None %17
102%18 = OpLabel
103%21 = OpVariable %_ptr_Function_v2float Function
104OpStore %21 %20
105%23 = OpFunctionCall %v4float %main %21
106OpStore %sk_FragColor %23
107OpReturn
108OpFunctionEnd
109%main = OpFunction %v4float None %24
110%25 = OpFunctionParameter %_ptr_Function_v2float
111%26 = OpLabel
112%infiniteValue = OpVariable %_ptr_Function_v4float Function
113%finiteValue = OpVariable %_ptr_Function_v4float Function
114%118 = OpVariable %_ptr_Function_v4float Function
115%29 = OpAccessChain %_ptr_Uniform_mat2v2float %10 %int_0
116%33 = OpLoad %mat2v2float %29
117%34 = OpCompositeExtract %float %33 0 0
118%35 = OpCompositeExtract %float %33 0 1
119%36 = OpCompositeExtract %float %33 1 0
120%37 = OpCompositeExtract %float %33 1 1
121%38 = OpCompositeConstruct %v4float %34 %35 %36 %37
122%39 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
123%42 = OpLoad %v4float %39
124%43 = OpCompositeExtract %float %42 0
125%45 = OpFDiv %float %float_1 %43
126%46 = OpVectorTimesScalar %v4float %38 %45
127OpStore %infiniteValue %46
128%48 = OpAccessChain %_ptr_Uniform_mat2v2float %10 %int_0
129%49 = OpLoad %mat2v2float %48
130%50 = OpCompositeExtract %float %49 0 0
131%51 = OpCompositeExtract %float %49 0 1
132%52 = OpCompositeExtract %float %49 1 0
133%53 = OpCompositeExtract %float %49 1 1
134%54 = OpCompositeConstruct %v4float %50 %51 %52 %53
135%55 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
136%56 = OpLoad %v4float %55
137%57 = OpCompositeExtract %float %56 1
138%58 = OpFDiv %float %float_1 %57
139%59 = OpVectorTimesScalar %v4float %54 %58
140OpStore %finiteValue %59
141%62 = OpLoad %v4float %infiniteValue
142%63 = OpCompositeExtract %float %62 0
143%61 = OpIsInf %bool %63
144OpSelectionMerge %65 None
145OpBranchConditional %61 %64 %65
146%64 = OpLabel
147%68 = OpLoad %v4float %infiniteValue
148%69 = OpVectorShuffle %v2float %68 %68 0 1
149%67 = OpIsInf %v2bool %69
150%66 = OpAll %bool %67
151OpBranch %65
152%65 = OpLabel
153%71 = OpPhi %bool %false %26 %66 %64
154OpSelectionMerge %73 None
155OpBranchConditional %71 %72 %73
156%72 = OpLabel
157%76 = OpLoad %v4float %infiniteValue
158%77 = OpVectorShuffle %v3float %76 %76 0 1 2
159%75 = OpIsInf %v3bool %77
160%74 = OpAll %bool %75
161OpBranch %73
162%73 = OpLabel
163%80 = OpPhi %bool %false %65 %74 %72
164OpSelectionMerge %82 None
165OpBranchConditional %80 %81 %82
166%81 = OpLabel
167%85 = OpLoad %v4float %infiniteValue
168%84 = OpIsInf %v4bool %85
169%83 = OpAll %bool %84
170OpBranch %82
171%82 = OpLabel
172%87 = OpPhi %bool %false %73 %83 %81
173OpSelectionMerge %89 None
174OpBranchConditional %87 %88 %89
175%88 = OpLabel
176%92 = OpLoad %v4float %finiteValue
177%93 = OpCompositeExtract %float %92 0
178%91 = OpIsInf %bool %93
179%90 = OpLogicalNot %bool %91
180OpBranch %89
181%89 = OpLabel
182%94 = OpPhi %bool %false %82 %90 %88
183OpSelectionMerge %96 None
184OpBranchConditional %94 %95 %96
185%95 = OpLabel
186%100 = OpLoad %v4float %finiteValue
187%101 = OpVectorShuffle %v2float %100 %100 0 1
188%99 = OpIsInf %v2bool %101
189%98 = OpAny %bool %99
190%97 = OpLogicalNot %bool %98
191OpBranch %96
192%96 = OpLabel
193%102 = OpPhi %bool %false %89 %97 %95
194OpSelectionMerge %104 None
195OpBranchConditional %102 %103 %104
196%103 = OpLabel
197%108 = OpLoad %v4float %finiteValue
198%109 = OpVectorShuffle %v3float %108 %108 0 1 2
199%107 = OpIsInf %v3bool %109
200%106 = OpAny %bool %107
201%105 = OpLogicalNot %bool %106
202OpBranch %104
203%104 = OpLabel
204%110 = OpPhi %bool %false %96 %105 %103
205OpSelectionMerge %112 None
206OpBranchConditional %110 %111 %112
207%111 = OpLabel
208%116 = OpLoad %v4float %finiteValue
209%115 = OpIsInf %v4bool %116
210%114 = OpAny %bool %115
211%113 = OpLogicalNot %bool %114
212OpBranch %112
213%112 = OpLabel
214%117 = OpPhi %bool %false %104 %113 %111
215OpSelectionMerge %121 None
216OpBranchConditional %117 %119 %120
217%119 = OpLabel
218%122 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
219%123 = OpLoad %v4float %122
220OpStore %118 %123
221OpBranch %121
222%120 = OpLabel
223%124 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
224%126 = OpLoad %v4float %124
225OpStore %118 %126
226OpBranch %121
227%121 = OpLabel
228%127 = OpLoad %v4float %118
229OpReturnValue %127
230OpFunctionEnd
231