2 %1 = OpExtInstImport "GLSL.std.450"
3 OpMemoryModel Logical GLSL450
4 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5 OpExecutionMode %_entrypoint_v OriginUpperLeft
6 OpName %sk_FragColor "sk_FragColor"
7 OpName %sk_Clockwise "sk_Clockwise"
8 OpName %_UniformBuffer "_UniformBuffer"
9 OpMemberName %_UniformBuffer 0 "colorGreen"
10 OpMemberName %_UniformBuffer 1 "colorRed"
11 OpName %_entrypoint_v "_entrypoint_v"
17 OpDecorate %sk_FragColor RelaxedPrecision
18 OpDecorate %sk_FragColor Location 0
19 OpDecorate %sk_FragColor Index 0
20 OpDecorate %sk_Clockwise BuiltIn FrontFacing
21 OpMemberDecorate %_UniformBuffer 0 Offset 0
22 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
23 OpMemberDecorate %_UniformBuffer 1 Offset 16
24 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
25 OpDecorate %_UniformBuffer Block
26 OpDecorate %10 Binding 0
27 OpDecorate %10 DescriptorSet 0
28 OpDecorate %55 RelaxedPrecision
29 OpDecorate %57 RelaxedPrecision
30 OpDecorate %58 RelaxedPrecision
31 %float = OpTypeFloat 32
32 %v4float = OpTypeVector %float 4
33 %_ptr_Output_v4float = OpTypePointer Output %v4float
34 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
36 %_ptr_Input_bool = OpTypePointer Input %bool
37 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
38 %_UniformBuffer = OpTypeStruct %v4float %v4float
39 %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
40 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
42 %15 = OpTypeFunction %void
43 %float_0 = OpConstant %float 0
44 %v2float = OpTypeVector %float 2
45 %19 = OpConstantComposite %v2float %float_0 %float_0
46 %_ptr_Function_v2float = OpTypePointer Function %v2float
47 %23 = OpTypeFunction %v4float %_ptr_Function_v2float
49 %_ptr_Function_int = OpTypePointer Function %int
50 %int_1 = OpConstant %int 1
51 %int_342391 = OpConstant %int 342391
52 %int_2000000000 = OpConstant %int 2000000000
53 %int_n2000000000 = OpConstant %int -2000000000
54 %false = OpConstantFalse %bool
55 %true = OpConstantTrue %bool
56 %_ptr_Function_v4float = OpTypePointer Function %v4float
57 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
58 %int_0 = OpConstant %int 0
59 %_entrypoint_v = OpFunction %void None %15
61 %20 = OpVariable %_ptr_Function_v2float Function
63 %22 = OpFunctionCall %v4float %main %20
64 OpStore %sk_FragColor %22
67 %main = OpFunction %v4float None %23
68 %24 = OpFunctionParameter %_ptr_Function_v2float
70 %i1 = OpVariable %_ptr_Function_int Function
71 %i2 = OpVariable %_ptr_Function_int Function
72 %i3 = OpVariable %_ptr_Function_int Function
73 %i4 = OpVariable %_ptr_Function_int Function
74 %47 = OpVariable %_ptr_Function_v4float Function
76 OpStore %i2 %int_342391
77 OpStore %i3 %int_2000000000
78 OpStore %i4 %int_n2000000000
79 OpSelectionMerge %39 None
80 OpBranchConditional %true %38 %39
84 %40 = OpPhi %bool %false %25 %true %38
85 OpSelectionMerge %42 None
86 OpBranchConditional %40 %41 %42
90 %43 = OpPhi %bool %false %39 %true %41
91 OpSelectionMerge %45 None
92 OpBranchConditional %43 %44 %45
96 %46 = OpPhi %bool %false %42 %true %44
97 OpSelectionMerge %51 None
98 OpBranchConditional %46 %49 %50
100 %52 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
101 %55 = OpLoad %v4float %52
105 %56 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
106 %57 = OpLoad %v4float %56
110 %58 = OpLoad %v4float %47