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