• 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 "colorGreen"
10OpMemberName %_UniformBuffer 1 "colorRed"
11OpName %_entrypoint_v "_entrypoint_v"
12OpName %unpremul_h4h4 "unpremul_h4h4"
13OpName %live_fn_h4h4h4 "live_fn_h4h4h4"
14OpName %main "main"
15OpName %a "a"
16OpName %b "b"
17OpDecorate %sk_Clockwise BuiltIn FrontFacing
18OpDecorate %sk_FragColor RelaxedPrecision
19OpDecorate %sk_FragColor Location 0
20OpDecorate %sk_FragColor Index 0
21OpMemberDecorate %_UniformBuffer 0 Offset 0
22OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
23OpMemberDecorate %_UniformBuffer 1 Offset 16
24OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
25OpDecorate %_UniformBuffer Block
26OpDecorate %12 Binding 0
27OpDecorate %12 DescriptorSet 0
28OpDecorate %29 RelaxedPrecision
29OpDecorate %30 RelaxedPrecision
30OpDecorate %33 RelaxedPrecision
31OpDecorate %34 RelaxedPrecision
32OpDecorate %37 RelaxedPrecision
33OpDecorate %38 RelaxedPrecision
34OpDecorate %39 RelaxedPrecision
35OpDecorate %40 RelaxedPrecision
36OpDecorate %41 RelaxedPrecision
37OpDecorate %42 RelaxedPrecision
38OpDecorate %43 RelaxedPrecision
39OpDecorate %44 RelaxedPrecision
40OpDecorate %49 RelaxedPrecision
41OpDecorate %50 RelaxedPrecision
42OpDecorate %51 RelaxedPrecision
43OpDecorate %a RelaxedPrecision
44OpDecorate %b RelaxedPrecision
45OpDecorate %85 RelaxedPrecision
46OpDecorate %88 RelaxedPrecision
47OpDecorate %89 RelaxedPrecision
48%bool = OpTypeBool
49%_ptr_Input_bool = OpTypePointer Input %bool
50%sk_Clockwise = OpVariable %_ptr_Input_bool Input
51%float = OpTypeFloat 32
52%v4float = OpTypeVector %float 4
53%_ptr_Output_v4float = OpTypePointer Output %v4float
54%sk_FragColor = OpVariable %_ptr_Output_v4float Output
55%_UniformBuffer = OpTypeStruct %v4float %v4float
56%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
57%12 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
58%void = OpTypeVoid
59%17 = OpTypeFunction %void
60%float_0 = OpConstant %float 0
61%v2float = OpTypeVector %float 2
62%21 = OpConstantComposite %v2float %float_0 %float_0
63%_ptr_Function_v2float = OpTypePointer Function %v2float
64%_ptr_Function_v4float = OpTypePointer Function %v4float
65%26 = OpTypeFunction %v4float %_ptr_Function_v4float
66%v3float = OpTypeVector %float 3
67%float_9_99999975en05 = OpConstant %float 9.99999975e-05
68%float_1 = OpConstant %float 1
69%45 = OpTypeFunction %v4float %_ptr_Function_v4float %_ptr_Function_v4float
70%52 = OpTypeFunction %v4float %_ptr_Function_v2float
71%float_3 = OpConstant %float 3
72%58 = OpConstantComposite %v4float %float_3 %float_3 %float_3 %float_3
73%float_n5 = OpConstant %float -5
74%61 = OpConstantComposite %v4float %float_n5 %float_n5 %float_n5 %float_n5
75%64 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
76%false = OpConstantFalse %bool
77%68 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
78%v4bool = OpTypeVector %bool 4
79%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
80%int = OpTypeInt 32 1
81%int_0 = OpConstant %int 0
82%int_1 = OpConstant %int 1
83%_entrypoint_v = OpFunction %void None %17
84%18 = OpLabel
85%22 = OpVariable %_ptr_Function_v2float Function
86OpStore %22 %21
87%24 = OpFunctionCall %v4float %main %22
88OpStore %sk_FragColor %24
89OpReturn
90OpFunctionEnd
91%unpremul_h4h4 = OpFunction %v4float None %26
92%27 = OpFunctionParameter %_ptr_Function_v4float
93%28 = OpLabel
94%29 = OpLoad %v4float %27
95%30 = OpVectorShuffle %v3float %29 %29 0 1 2
96%33 = OpLoad %v4float %27
97%34 = OpCompositeExtract %float %33 3
98%32 = OpExtInst %float %1 FMax %34 %float_9_99999975en05
99%37 = OpFDiv %float %float_1 %32
100%38 = OpVectorTimesScalar %v3float %30 %37
101%39 = OpCompositeExtract %float %38 0
102%40 = OpCompositeExtract %float %38 1
103%41 = OpCompositeExtract %float %38 2
104%42 = OpLoad %v4float %27
105%43 = OpCompositeExtract %float %42 3
106%44 = OpCompositeConstruct %v4float %39 %40 %41 %43
107OpReturnValue %44
108OpFunctionEnd
109%live_fn_h4h4h4 = OpFunction %v4float None %45
110%46 = OpFunctionParameter %_ptr_Function_v4float
111%47 = OpFunctionParameter %_ptr_Function_v4float
112%48 = OpLabel
113%49 = OpLoad %v4float %46
114%50 = OpLoad %v4float %47
115%51 = OpFAdd %v4float %49 %50
116OpReturnValue %51
117OpFunctionEnd
118%main = OpFunction %v4float None %52
119%53 = OpFunctionParameter %_ptr_Function_v2float
120%54 = OpLabel
121%a = OpVariable %_ptr_Function_v4float Function
122%b = OpVariable %_ptr_Function_v4float Function
123%59 = OpVariable %_ptr_Function_v4float Function
124%62 = OpVariable %_ptr_Function_v4float Function
125%65 = OpVariable %_ptr_Function_v4float Function
126%77 = OpVariable %_ptr_Function_v4float Function
127OpStore %59 %58
128OpStore %62 %61
129%63 = OpFunctionCall %v4float %live_fn_h4h4h4 %59 %62
130OpStore %a %63
131OpStore %65 %64
132%66 = OpFunctionCall %v4float %unpremul_h4h4 %65
133OpStore %b %66
134%69 = OpFUnordNotEqual %v4bool %63 %68
135%71 = OpAny %bool %69
136OpSelectionMerge %73 None
137OpBranchConditional %71 %72 %73
138%72 = OpLabel
139%74 = OpFUnordNotEqual %v4bool %66 %68
140%75 = OpAny %bool %74
141OpBranch %73
142%73 = OpLabel
143%76 = OpPhi %bool %false %54 %75 %72
144OpSelectionMerge %80 None
145OpBranchConditional %76 %78 %79
146%78 = OpLabel
147%81 = OpAccessChain %_ptr_Uniform_v4float %12 %int_0
148%85 = OpLoad %v4float %81
149OpStore %77 %85
150OpBranch %80
151%79 = OpLabel
152%86 = OpAccessChain %_ptr_Uniform_v4float %12 %int_1
153%88 = OpLoad %v4float %86
154OpStore %77 %88
155OpBranch %80
156%80 = OpLabel
157%89 = OpLoad %v4float %77
158OpReturnValue %89
159OpFunctionEnd
160