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"
13 OpName %result "result"
15 OpDecorate %sk_FragColor RelaxedPrecision
16 OpDecorate %sk_FragColor Location 0
17 OpDecorate %sk_FragColor Index 0
18 OpDecorate %sk_Clockwise BuiltIn FrontFacing
19 OpMemberDecorate %_UniformBuffer 0 Offset 0
20 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
21 OpMemberDecorate %_UniformBuffer 1 Offset 16
22 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
23 OpDecorate %_UniformBuffer Block
24 OpDecorate %10 Binding 0
25 OpDecorate %10 DescriptorSet 0
26 OpDecorate %52 RelaxedPrecision
27 OpDecorate %54 RelaxedPrecision
28 OpDecorate %55 RelaxedPrecision
29 %float = OpTypeFloat 32
30 %v4float = OpTypeVector %float 4
31 %_ptr_Output_v4float = OpTypePointer Output %v4float
32 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
34 %_ptr_Input_bool = OpTypePointer Input %bool
35 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
36 %_UniformBuffer = OpTypeStruct %v4float %v4float
37 %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
38 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
40 %15 = OpTypeFunction %void
41 %float_0 = OpConstant %float 0
42 %v2float = OpTypeVector %float 2
43 %19 = OpConstantComposite %v2float %float_0 %float_0
44 %_ptr_Function_v2float = OpTypePointer Function %v2float
45 %23 = OpTypeFunction %v4float %_ptr_Function_v2float
46 %_ptr_Function_float = OpTypePointer Function %float
48 %_ptr_Function_int = OpTypePointer Function %int
49 %int_0 = OpConstant %int 0
50 %int_1 = OpConstant %int 1
51 %float_2 = OpConstant %float 2
52 %_ptr_Function_v4float = OpTypePointer Function %v4float
53 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
54 %_entrypoint_v = OpFunction %void None %15
56 %20 = OpVariable %_ptr_Function_v2float Function
58 %22 = OpFunctionCall %v4float %main %20
59 OpStore %sk_FragColor %22
62 %main = OpFunction %v4float None %23
63 %24 = OpFunctionParameter %_ptr_Function_v2float
65 %result = OpVariable %_ptr_Function_float Function
66 %x = OpVariable %_ptr_Function_int Function
67 %45 = OpVariable %_ptr_Function_v4float Function
68 OpStore %result %float_0
72 OpLoopMerge %36 %35 None
76 %39 = OpSLessThanEqual %bool %37 %int_1
77 OpBranchConditional %39 %34 %36
79 OpStore %result %float_2
83 %42 = OpIAdd %int %41 %int_1
87 %43 = OpLoad %float %result
88 %44 = OpFOrdEqual %bool %43 %float_2
89 OpSelectionMerge %49 None
90 OpBranchConditional %44 %47 %48
92 %50 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
93 %52 = OpLoad %v4float %50
97 %53 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
98 %54 = OpLoad %v4float %53
102 %55 = OpLoad %v4float %45