1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Fragment %main "main" %sk_FragColor %sk_Clockwise
5OpExecutionMode %main OriginUpperLeft
6OpName %sk_FragColor "sk_FragColor"
7OpName %sk_Clockwise "sk_Clockwise"
8OpName %_UniformBuffer "_UniformBuffer"
9OpMemberName %_UniformBuffer 0 "src"
10OpMemberName %_UniformBuffer 1 "dst"
11OpName %main "main"
12OpDecorate %sk_FragColor RelaxedPrecision
13OpDecorate %sk_FragColor Location 0
14OpDecorate %sk_FragColor Index 0
15OpDecorate %sk_Clockwise BuiltIn FrontFacing
16OpMemberDecorate %_UniformBuffer 0 Offset 0
17OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
18OpMemberDecorate %_UniformBuffer 1 Offset 16
19OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
20OpDecorate %_UniformBuffer Block
21OpDecorate %10 Binding 0
22OpDecorate %10 DescriptorSet 0
23OpDecorate %20 RelaxedPrecision
24OpDecorate %21 RelaxedPrecision
25OpDecorate %25 RelaxedPrecision
26OpDecorate %26 RelaxedPrecision
27OpDecorate %27 RelaxedPrecision
28OpDecorate %30 RelaxedPrecision
29OpDecorate %31 RelaxedPrecision
30OpDecorate %32 RelaxedPrecision
31OpDecorate %34 RelaxedPrecision
32OpDecorate %35 RelaxedPrecision
33OpDecorate %36 RelaxedPrecision
34OpDecorate %37 RelaxedPrecision
35OpDecorate %38 RelaxedPrecision
36OpDecorate %39 RelaxedPrecision
37OpDecorate %40 RelaxedPrecision
38OpDecorate %42 RelaxedPrecision
39OpDecorate %43 RelaxedPrecision
40OpDecorate %46 RelaxedPrecision
41OpDecorate %47 RelaxedPrecision
42OpDecorate %48 RelaxedPrecision
43OpDecorate %50 RelaxedPrecision
44OpDecorate %51 RelaxedPrecision
45OpDecorate %52 RelaxedPrecision
46OpDecorate %53 RelaxedPrecision
47OpDecorate %54 RelaxedPrecision
48%float = OpTypeFloat 32
49%v4float = OpTypeVector %float 4
50%_ptr_Output_v4float = OpTypePointer Output %v4float
51%sk_FragColor = OpVariable %_ptr_Output_v4float Output
52%bool = OpTypeBool
53%_ptr_Input_bool = OpTypePointer Input %bool
54%sk_Clockwise = OpVariable %_ptr_Input_bool Input
55%_UniformBuffer = OpTypeStruct %v4float %v4float
56%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
57%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
58%void = OpTypeVoid
59%14 = OpTypeFunction %void
60%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
61%int = OpTypeInt 32 1
62%int_1 = OpConstant %int 1
63%v3float = OpTypeVector %float 3
64%int_0 = OpConstant %int 0
65%float_2 = OpConstant %float 2
66%float_1 = OpConstant %float 1
67%main = OpFunction %void None %14
68%15 = OpLabel
69%16 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
70%20 = OpLoad %v4float %16
71%21 = OpVectorShuffle %v3float %20 %20 0 1 2
72%23 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
73%25 = OpLoad %v4float %23
74%26 = OpVectorShuffle %v3float %25 %25 0 1 2
75%27 = OpFAdd %v3float %21 %26
76%29 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
77%30 = OpLoad %v4float %29
78%31 = OpVectorShuffle %v3float %30 %30 0 1 2
79%32 = OpVectorTimesScalar %v3float %31 %float_2
80%33 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
81%34 = OpLoad %v4float %33
82%35 = OpVectorShuffle %v3float %34 %34 0 1 2
83%36 = OpFMul %v3float %32 %35
84%37 = OpFSub %v3float %27 %36
85%38 = OpCompositeExtract %float %37 0
86%39 = OpCompositeExtract %float %37 1
87%40 = OpCompositeExtract %float %37 2
88%41 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
89%42 = OpLoad %v4float %41
90%43 = OpCompositeExtract %float %42 3
91%45 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
92%46 = OpLoad %v4float %45
93%47 = OpCompositeExtract %float %46 3
94%48 = OpFSub %float %float_1 %47
95%49 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
96%50 = OpLoad %v4float %49
97%51 = OpCompositeExtract %float %50 3
98%52 = OpFMul %float %48 %51
99%53 = OpFAdd %float %43 %52
100%54 = OpCompositeConstruct %v4float %38 %39 %40 %53
101OpStore %sk_FragColor %54
102OpReturn
103OpFunctionEnd
104