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 %23 RelaxedPrecision
25OpDecorate %24 RelaxedPrecision
26OpDecorate %25 RelaxedPrecision
27%float = OpTypeFloat 32
28%v4float = OpTypeVector %float 4
29%_ptr_Output_v4float = OpTypePointer Output %v4float
30%sk_FragColor = OpVariable %_ptr_Output_v4float Output
31%bool = OpTypeBool
32%_ptr_Input_bool = OpTypePointer Input %bool
33%sk_Clockwise = OpVariable %_ptr_Input_bool Input
34%_UniformBuffer = OpTypeStruct %v4float %v4float
35%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
36%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
37%void = OpTypeVoid
38%14 = OpTypeFunction %void
39%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
40%int = OpTypeInt 32 1
41%int_1 = OpConstant %int 1
42%int_0 = OpConstant %int 0
43%main = OpFunction %void None %14
44%15 = OpLabel
45%16 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
46%20 = OpLoad %v4float %16
47%21 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
48%23 = OpLoad %v4float %21
49%24 = OpCompositeExtract %float %23 3
50%25 = OpVectorTimesScalar %v4float %20 %24
51OpStore %sk_FragColor %25
52OpReturn
53OpFunctionEnd
54