1cb93a386Sopenharmony_ciOpCapability Shader
2cb93a386Sopenharmony_ci%1 = OpExtInstImport "GLSL.std.450"
3cb93a386Sopenharmony_ciOpMemoryModel Logical GLSL450
4cb93a386Sopenharmony_ciOpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5cb93a386Sopenharmony_ciOpExecutionMode %_entrypoint_v OriginUpperLeft
6cb93a386Sopenharmony_ciOpName %sk_FragColor "sk_FragColor"
7cb93a386Sopenharmony_ciOpName %sk_Clockwise "sk_Clockwise"
8cb93a386Sopenharmony_ciOpName %_UniformBuffer "_UniformBuffer"
9cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 0 "testInputs"
10cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 1 "colorBlack"
11cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 2 "colorGreen"
12cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 3 "colorRed"
13cb93a386Sopenharmony_ciOpName %_entrypoint_v "_entrypoint_v"
14cb93a386Sopenharmony_ciOpName %main "main"
15cb93a386Sopenharmony_ciOpName %_0_v "_0_v"
16cb93a386Sopenharmony_ciOpName %_1_i "_1_i"
17cb93a386Sopenharmony_ciOpName %_2_x "_2_x"
18cb93a386Sopenharmony_ciOpName %_3_y "_3_y"
19cb93a386Sopenharmony_ciOpName %_4_z "_4_z"
20cb93a386Sopenharmony_ciOpName %_5_w "_5_w"
21cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision
22cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0
23cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0
24cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing
25cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 Offset 0
26cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
27cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 Offset 16
28cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
29cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 Offset 32
30cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
31cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 3 Offset 48
32cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 3 RelaxedPrecision
33cb93a386Sopenharmony_ciOpDecorate %_UniformBuffer Block
34cb93a386Sopenharmony_ciOpDecorate %10 Binding 0
35cb93a386Sopenharmony_ciOpDecorate %10 DescriptorSet 0
36cb93a386Sopenharmony_ciOpDecorate %_0_v RelaxedPrecision
37cb93a386Sopenharmony_ciOpDecorate %32 RelaxedPrecision
38cb93a386Sopenharmony_ciOpDecorate %38 RelaxedPrecision
39cb93a386Sopenharmony_ciOpDecorate %39 RelaxedPrecision
40cb93a386Sopenharmony_ciOpDecorate %41 RelaxedPrecision
41cb93a386Sopenharmony_ciOpDecorate %43 RelaxedPrecision
42cb93a386Sopenharmony_ciOpDecorate %45 RelaxedPrecision
43cb93a386Sopenharmony_ciOpDecorate %_2_x RelaxedPrecision
44cb93a386Sopenharmony_ciOpDecorate %50 RelaxedPrecision
45cb93a386Sopenharmony_ciOpDecorate %_3_y RelaxedPrecision
46cb93a386Sopenharmony_ciOpDecorate %55 RelaxedPrecision
47cb93a386Sopenharmony_ciOpDecorate %_4_z RelaxedPrecision
48cb93a386Sopenharmony_ciOpDecorate %60 RelaxedPrecision
49cb93a386Sopenharmony_ciOpDecorate %_5_w RelaxedPrecision
50cb93a386Sopenharmony_ciOpDecorate %65 RelaxedPrecision
51cb93a386Sopenharmony_ciOpDecorate %69 RelaxedPrecision
52cb93a386Sopenharmony_ciOpDecorate %70 RelaxedPrecision
53cb93a386Sopenharmony_ciOpDecorate %71 RelaxedPrecision
54cb93a386Sopenharmony_ciOpDecorate %72 RelaxedPrecision
55cb93a386Sopenharmony_ciOpDecorate %73 RelaxedPrecision
56cb93a386Sopenharmony_ciOpDecorate %75 RelaxedPrecision
57cb93a386Sopenharmony_ciOpDecorate %85 RelaxedPrecision
58cb93a386Sopenharmony_ciOpDecorate %88 RelaxedPrecision
59cb93a386Sopenharmony_ciOpDecorate %89 RelaxedPrecision
60cb93a386Sopenharmony_ci%float = OpTypeFloat 32
61cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4
62cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float
63cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output
64cb93a386Sopenharmony_ci%bool = OpTypeBool
65cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool
66cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input
67cb93a386Sopenharmony_ci%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float %v4float
68cb93a386Sopenharmony_ci%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
69cb93a386Sopenharmony_ci%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
70cb93a386Sopenharmony_ci%void = OpTypeVoid
71cb93a386Sopenharmony_ci%15 = OpTypeFunction %void
72cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2
73cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0
74cb93a386Sopenharmony_ci%19 = OpConstantComposite %v2float %float_0 %float_0
75cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float
76cb93a386Sopenharmony_ci%23 = OpTypeFunction %v4float %_ptr_Function_v2float
77cb93a386Sopenharmony_ci%_ptr_Function_v4float = OpTypePointer Function %v4float
78cb93a386Sopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
79cb93a386Sopenharmony_ci%int = OpTypeInt 32 1
80cb93a386Sopenharmony_ci%int_0 = OpConstant %int 0
81cb93a386Sopenharmony_ci%v4int = OpTypeVector %int 4
82cb93a386Sopenharmony_ci%_ptr_Function_v4int = OpTypePointer Function %v4int
83cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1
84cb93a386Sopenharmony_ci%_ptr_Function_float = OpTypePointer Function %float
85cb93a386Sopenharmony_ci%float_n1_25 = OpConstant %float -1.25
86cb93a386Sopenharmony_ci%75 = OpConstantComposite %v4float %float_n1_25 %float_n1_25 %float_n1_25 %float_0
87cb93a386Sopenharmony_ci%v4bool = OpTypeVector %bool 4
88cb93a386Sopenharmony_ci%int_2 = OpConstant %int 2
89cb93a386Sopenharmony_ci%int_3 = OpConstant %int 3
90cb93a386Sopenharmony_ci%_entrypoint_v = OpFunction %void None %15
91cb93a386Sopenharmony_ci%16 = OpLabel
92cb93a386Sopenharmony_ci%20 = OpVariable %_ptr_Function_v2float Function
93cb93a386Sopenharmony_ciOpStore %20 %19
94cb93a386Sopenharmony_ci%22 = OpFunctionCall %v4float %main %20
95cb93a386Sopenharmony_ciOpStore %sk_FragColor %22
96cb93a386Sopenharmony_ciOpReturn
97cb93a386Sopenharmony_ciOpFunctionEnd
98cb93a386Sopenharmony_ci%main = OpFunction %v4float None %23
99cb93a386Sopenharmony_ci%24 = OpFunctionParameter %_ptr_Function_v2float
100cb93a386Sopenharmony_ci%25 = OpLabel
101cb93a386Sopenharmony_ci%_0_v = OpVariable %_ptr_Function_v4float Function
102cb93a386Sopenharmony_ci%_1_i = OpVariable %_ptr_Function_v4int Function
103cb93a386Sopenharmony_ci%_2_x = OpVariable %_ptr_Function_float Function
104cb93a386Sopenharmony_ci%_3_y = OpVariable %_ptr_Function_float Function
105cb93a386Sopenharmony_ci%_4_z = OpVariable %_ptr_Function_float Function
106cb93a386Sopenharmony_ci%_5_w = OpVariable %_ptr_Function_float Function
107cb93a386Sopenharmony_ci%79 = OpVariable %_ptr_Function_v4float Function
108cb93a386Sopenharmony_ci%28 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
109cb93a386Sopenharmony_ci%32 = OpLoad %v4float %28
110cb93a386Sopenharmony_ciOpStore %_0_v %32
111cb93a386Sopenharmony_ci%36 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
112cb93a386Sopenharmony_ci%38 = OpLoad %v4float %36
113cb93a386Sopenharmony_ci%39 = OpCompositeExtract %float %38 0
114cb93a386Sopenharmony_ci%40 = OpConvertFToS %int %39
115cb93a386Sopenharmony_ci%41 = OpCompositeExtract %float %38 1
116cb93a386Sopenharmony_ci%42 = OpConvertFToS %int %41
117cb93a386Sopenharmony_ci%43 = OpCompositeExtract %float %38 2
118cb93a386Sopenharmony_ci%44 = OpConvertFToS %int %43
119cb93a386Sopenharmony_ci%45 = OpCompositeExtract %float %38 3
120cb93a386Sopenharmony_ci%46 = OpConvertFToS %int %45
121cb93a386Sopenharmony_ci%47 = OpCompositeConstruct %v4int %40 %42 %44 %46
122cb93a386Sopenharmony_ciOpStore %_1_i %47
123cb93a386Sopenharmony_ci%50 = OpLoad %v4float %_0_v
124cb93a386Sopenharmony_ci%51 = OpLoad %v4int %_1_i
125cb93a386Sopenharmony_ci%52 = OpCompositeExtract %int %51 0
126cb93a386Sopenharmony_ci%53 = OpVectorExtractDynamic %float %50 %52
127cb93a386Sopenharmony_ciOpStore %_2_x %53
128cb93a386Sopenharmony_ci%55 = OpLoad %v4float %_0_v
129cb93a386Sopenharmony_ci%56 = OpLoad %v4int %_1_i
130cb93a386Sopenharmony_ci%57 = OpCompositeExtract %int %56 1
131cb93a386Sopenharmony_ci%58 = OpVectorExtractDynamic %float %55 %57
132cb93a386Sopenharmony_ciOpStore %_3_y %58
133cb93a386Sopenharmony_ci%60 = OpLoad %v4float %_0_v
134cb93a386Sopenharmony_ci%61 = OpLoad %v4int %_1_i
135cb93a386Sopenharmony_ci%62 = OpCompositeExtract %int %61 2
136cb93a386Sopenharmony_ci%63 = OpVectorExtractDynamic %float %60 %62
137cb93a386Sopenharmony_ciOpStore %_4_z %63
138cb93a386Sopenharmony_ci%65 = OpLoad %v4float %_0_v
139cb93a386Sopenharmony_ci%66 = OpLoad %v4int %_1_i
140cb93a386Sopenharmony_ci%67 = OpCompositeExtract %int %66 3
141cb93a386Sopenharmony_ci%68 = OpVectorExtractDynamic %float %65 %67
142cb93a386Sopenharmony_ciOpStore %_5_w %68
143cb93a386Sopenharmony_ci%69 = OpLoad %float %_2_x
144cb93a386Sopenharmony_ci%70 = OpLoad %float %_3_y
145cb93a386Sopenharmony_ci%71 = OpLoad %float %_4_z
146cb93a386Sopenharmony_ci%72 = OpLoad %float %_5_w
147cb93a386Sopenharmony_ci%73 = OpCompositeConstruct %v4float %69 %70 %71 %72
148cb93a386Sopenharmony_ci%76 = OpFOrdEqual %v4bool %73 %75
149cb93a386Sopenharmony_ci%78 = OpAll %bool %76
150cb93a386Sopenharmony_ciOpSelectionMerge %82 None
151cb93a386Sopenharmony_ciOpBranchConditional %78 %80 %81
152cb93a386Sopenharmony_ci%80 = OpLabel
153cb93a386Sopenharmony_ci%83 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
154cb93a386Sopenharmony_ci%85 = OpLoad %v4float %83
155cb93a386Sopenharmony_ciOpStore %79 %85
156cb93a386Sopenharmony_ciOpBranch %82
157cb93a386Sopenharmony_ci%81 = OpLabel
158cb93a386Sopenharmony_ci%86 = OpAccessChain %_ptr_Uniform_v4float %10 %int_3
159cb93a386Sopenharmony_ci%88 = OpLoad %v4float %86
160cb93a386Sopenharmony_ciOpStore %79 %88
161cb93a386Sopenharmony_ciOpBranch %82
162cb93a386Sopenharmony_ci%82 = OpLabel
163cb93a386Sopenharmony_ci%89 = OpLoad %v4float %79
164cb93a386Sopenharmony_ciOpReturnValue %89
165cb93a386Sopenharmony_ciOpFunctionEnd
166