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