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 "colorGreen"
10cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 1 "colorRed"
11cb93a386Sopenharmony_ciOpName %_entrypoint_v "_entrypoint_v"
12cb93a386Sopenharmony_ciOpName %main "main"
13cb93a386Sopenharmony_ciOpName %test1 "test1"
14cb93a386Sopenharmony_ciOpName %test2 "test2"
15cb93a386Sopenharmony_ciOpName %test3 "test3"
16cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision
17cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0
18cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0
19cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing
20cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 Offset 0
21cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
22cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 Offset 16
23cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
24cb93a386Sopenharmony_ciOpDecorate %_UniformBuffer Block
25cb93a386Sopenharmony_ciOpDecorate %10 Binding 0
26cb93a386Sopenharmony_ciOpDecorate %10 DescriptorSet 0
27cb93a386Sopenharmony_ciOpDecorate %_arr_float_int_4 ArrayStride 16
28cb93a386Sopenharmony_ciOpDecorate %_arr_v2float_int_2 ArrayStride 16
29cb93a386Sopenharmony_ciOpDecorate %_arr_mat4v4float_int_1 ArrayStride 64
30cb93a386Sopenharmony_ciOpDecorate %77 RelaxedPrecision
31cb93a386Sopenharmony_ciOpDecorate %79 RelaxedPrecision
32cb93a386Sopenharmony_ciOpDecorate %80 RelaxedPrecision
33cb93a386Sopenharmony_ci%float = OpTypeFloat 32
34cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4
35cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float
36cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output
37cb93a386Sopenharmony_ci%bool = OpTypeBool
38cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool
39cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input
40cb93a386Sopenharmony_ci%_UniformBuffer = OpTypeStruct %v4float %v4float
41cb93a386Sopenharmony_ci%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
42cb93a386Sopenharmony_ci%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
43cb93a386Sopenharmony_ci%void = OpTypeVoid
44cb93a386Sopenharmony_ci%15 = OpTypeFunction %void
45cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2
46cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0
47cb93a386Sopenharmony_ci%19 = OpConstantComposite %v2float %float_0 %float_0
48cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float
49cb93a386Sopenharmony_ci%23 = OpTypeFunction %v4float %_ptr_Function_v2float
50cb93a386Sopenharmony_ci%int = OpTypeInt 32 1
51cb93a386Sopenharmony_ci%int_4 = OpConstant %int 4
52cb93a386Sopenharmony_ci%_arr_float_int_4 = OpTypeArray %float %int_4
53cb93a386Sopenharmony_ci%_ptr_Function__arr_float_int_4 = OpTypePointer Function %_arr_float_int_4
54cb93a386Sopenharmony_ci%float_1 = OpConstant %float 1
55cb93a386Sopenharmony_ci%float_2 = OpConstant %float 2
56cb93a386Sopenharmony_ci%float_3 = OpConstant %float 3
57cb93a386Sopenharmony_ci%float_4 = OpConstant %float 4
58cb93a386Sopenharmony_ci%int_2 = OpConstant %int 2
59cb93a386Sopenharmony_ci%_arr_v2float_int_2 = OpTypeArray %v2float %int_2
60cb93a386Sopenharmony_ci%_ptr_Function__arr_v2float_int_2 = OpTypePointer Function %_arr_v2float_int_2
61cb93a386Sopenharmony_ci%40 = OpConstantComposite %v2float %float_1 %float_2
62cb93a386Sopenharmony_ci%41 = OpConstantComposite %v2float %float_3 %float_4
63cb93a386Sopenharmony_ci%mat4v4float = OpTypeMatrix %v4float 4
64cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1
65cb93a386Sopenharmony_ci%_arr_mat4v4float_int_1 = OpTypeArray %mat4v4float %int_1
66cb93a386Sopenharmony_ci%_ptr_Function__arr_mat4v4float_int_1 = OpTypePointer Function %_arr_mat4v4float_int_1
67cb93a386Sopenharmony_ci%float_16 = OpConstant %float 16
68cb93a386Sopenharmony_ci%int_3 = OpConstant %int 3
69cb93a386Sopenharmony_ci%_ptr_Function_float = OpTypePointer Function %float
70cb93a386Sopenharmony_ci%int_0 = OpConstant %int 0
71cb93a386Sopenharmony_ci%_ptr_Function_v4float = OpTypePointer Function %v4float
72cb93a386Sopenharmony_ci%float_24 = OpConstant %float 24
73cb93a386Sopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
74cb93a386Sopenharmony_ci%_entrypoint_v = OpFunction %void None %15
75cb93a386Sopenharmony_ci%16 = OpLabel
76cb93a386Sopenharmony_ci%20 = OpVariable %_ptr_Function_v2float Function
77cb93a386Sopenharmony_ciOpStore %20 %19
78cb93a386Sopenharmony_ci%22 = OpFunctionCall %v4float %main %20
79cb93a386Sopenharmony_ciOpStore %sk_FragColor %22
80cb93a386Sopenharmony_ciOpReturn
81cb93a386Sopenharmony_ciOpFunctionEnd
82cb93a386Sopenharmony_ci%main = OpFunction %v4float None %23
83cb93a386Sopenharmony_ci%24 = OpFunctionParameter %_ptr_Function_v2float
84cb93a386Sopenharmony_ci%25 = OpLabel
85cb93a386Sopenharmony_ci%test1 = OpVariable %_ptr_Function__arr_float_int_4 Function
86cb93a386Sopenharmony_ci%test2 = OpVariable %_ptr_Function__arr_v2float_int_2 Function
87cb93a386Sopenharmony_ci%test3 = OpVariable %_ptr_Function__arr_mat4v4float_int_1 Function
88cb93a386Sopenharmony_ci%71 = OpVariable %_ptr_Function_v4float Function
89cb93a386Sopenharmony_ci%35 = OpCompositeConstruct %_arr_float_int_4 %float_1 %float_2 %float_3 %float_4
90cb93a386Sopenharmony_ciOpStore %test1 %35
91cb93a386Sopenharmony_ci%42 = OpCompositeConstruct %_arr_v2float_int_2 %40 %41
92cb93a386Sopenharmony_ciOpStore %test2 %42
93cb93a386Sopenharmony_ci%50 = OpCompositeConstruct %v4float %float_16 %float_0 %float_0 %float_0
94cb93a386Sopenharmony_ci%51 = OpCompositeConstruct %v4float %float_0 %float_16 %float_0 %float_0
95cb93a386Sopenharmony_ci%52 = OpCompositeConstruct %v4float %float_0 %float_0 %float_16 %float_0
96cb93a386Sopenharmony_ci%53 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_16
97cb93a386Sopenharmony_ci%49 = OpCompositeConstruct %mat4v4float %50 %51 %52 %53
98cb93a386Sopenharmony_ci%54 = OpCompositeConstruct %_arr_mat4v4float_int_1 %49
99cb93a386Sopenharmony_ciOpStore %test3 %54
100cb93a386Sopenharmony_ci%56 = OpAccessChain %_ptr_Function_float %test1 %int_3
101cb93a386Sopenharmony_ci%58 = OpLoad %float %56
102cb93a386Sopenharmony_ci%59 = OpAccessChain %_ptr_Function_v2float %test2 %int_1
103cb93a386Sopenharmony_ci%60 = OpLoad %v2float %59
104cb93a386Sopenharmony_ci%61 = OpCompositeExtract %float %60 1
105cb93a386Sopenharmony_ci%62 = OpFAdd %float %58 %61
106cb93a386Sopenharmony_ci%64 = OpAccessChain %_ptr_Function_v4float %test3 %int_0 %int_3
107cb93a386Sopenharmony_ci%66 = OpLoad %v4float %64
108cb93a386Sopenharmony_ci%67 = OpCompositeExtract %float %66 3
109cb93a386Sopenharmony_ci%68 = OpFAdd %float %62 %67
110cb93a386Sopenharmony_ci%70 = OpFOrdEqual %bool %68 %float_24
111cb93a386Sopenharmony_ciOpSelectionMerge %74 None
112cb93a386Sopenharmony_ciOpBranchConditional %70 %72 %73
113cb93a386Sopenharmony_ci%72 = OpLabel
114cb93a386Sopenharmony_ci%75 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
115cb93a386Sopenharmony_ci%77 = OpLoad %v4float %75
116cb93a386Sopenharmony_ciOpStore %71 %77
117cb93a386Sopenharmony_ciOpBranch %74
118cb93a386Sopenharmony_ci%73 = OpLabel
119cb93a386Sopenharmony_ci%78 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
120cb93a386Sopenharmony_ci%79 = OpLoad %v4float %78
121cb93a386Sopenharmony_ciOpStore %71 %79
122cb93a386Sopenharmony_ciOpBranch %74
123cb93a386Sopenharmony_ci%74 = OpLabel
124cb93a386Sopenharmony_ci%80 = OpLoad %v4float %71
125cb93a386Sopenharmony_ciOpReturnValue %80
126cb93a386Sopenharmony_ciOpFunctionEnd
127