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