1cb93a386Sopenharmony_ciOpCapability Shader 2cb93a386Sopenharmony_ci%1 = OpExtInstImport "GLSL.std.450" 3cb93a386Sopenharmony_ciOpMemoryModel Logical GLSL450 4cb93a386Sopenharmony_ciOpEntryPoint Vertex %main "main" %3 %sk_InstanceID %sk_VertexID %vcoord_Stage0 5cb93a386Sopenharmony_ciOpName %sk_PerVertex "sk_PerVertex" 6cb93a386Sopenharmony_ciOpMemberName %sk_PerVertex 0 "sk_Position" 7cb93a386Sopenharmony_ciOpMemberName %sk_PerVertex 1 "sk_PointSize" 8cb93a386Sopenharmony_ciOpName %sk_InstanceID "sk_InstanceID" 9cb93a386Sopenharmony_ciOpName %sk_VertexID "sk_VertexID" 10cb93a386Sopenharmony_ciOpName %vcoord_Stage0 "vcoord_Stage0" 11cb93a386Sopenharmony_ciOpName %main "main" 12cb93a386Sopenharmony_ciOpName %x "x" 13cb93a386Sopenharmony_ciOpName %y "y" 14cb93a386Sopenharmony_ciOpName %ileft "ileft" 15cb93a386Sopenharmony_ciOpName %iright "iright" 16cb93a386Sopenharmony_ciOpName %itop "itop" 17cb93a386Sopenharmony_ciOpName %ibot "ibot" 18cb93a386Sopenharmony_ciOpName %outset "outset" 19cb93a386Sopenharmony_ciOpName %l "l" 20cb93a386Sopenharmony_ciOpName %r "r" 21cb93a386Sopenharmony_ciOpName %t "t" 22cb93a386Sopenharmony_ciOpName %b "b" 23cb93a386Sopenharmony_ciOpName %vertexpos "vertexpos" 24cb93a386Sopenharmony_ciOpMemberDecorate %sk_PerVertex 0 BuiltIn Position 25cb93a386Sopenharmony_ciOpMemberDecorate %sk_PerVertex 1 BuiltIn PointSize 26cb93a386Sopenharmony_ciOpDecorate %sk_PerVertex Block 27cb93a386Sopenharmony_ciOpDecorate %sk_InstanceID BuiltIn InstanceIndex 28cb93a386Sopenharmony_ciOpDecorate %sk_VertexID BuiltIn VertexIndex 29cb93a386Sopenharmony_ciOpDecorate %vcoord_Stage0 Location 1 30cb93a386Sopenharmony_ciOpDecorate %vcoord_Stage0 NoPerspective 31cb93a386Sopenharmony_ci%float = OpTypeFloat 32 32cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4 33cb93a386Sopenharmony_ci%sk_PerVertex = OpTypeStruct %v4float %float 34cb93a386Sopenharmony_ci%_ptr_Output_sk_PerVertex = OpTypePointer Output %sk_PerVertex 35cb93a386Sopenharmony_ci%3 = OpVariable %_ptr_Output_sk_PerVertex Output 36cb93a386Sopenharmony_ci%int = OpTypeInt 32 1 37cb93a386Sopenharmony_ci%_ptr_Input_int = OpTypePointer Input %int 38cb93a386Sopenharmony_ci%sk_InstanceID = OpVariable %_ptr_Input_int Input 39cb93a386Sopenharmony_ci%sk_VertexID = OpVariable %_ptr_Input_int Input 40cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2 41cb93a386Sopenharmony_ci%_ptr_Output_v2float = OpTypePointer Output %v2float 42cb93a386Sopenharmony_ci%vcoord_Stage0 = OpVariable %_ptr_Output_v2float Output 43cb93a386Sopenharmony_ci%void = OpTypeVoid 44cb93a386Sopenharmony_ci%16 = OpTypeFunction %void 45cb93a386Sopenharmony_ci%_ptr_Function_int = OpTypePointer Function %int 46cb93a386Sopenharmony_ci%int_200 = OpConstant %int 200 47cb93a386Sopenharmony_ci%int_929 = OpConstant %int 929 48cb93a386Sopenharmony_ci%int_17 = OpConstant %int 17 49cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1 50cb93a386Sopenharmony_ci%int_1637 = OpConstant %int 1637 51cb93a386Sopenharmony_ci%int_313 = OpConstant %int 313 52cb93a386Sopenharmony_ci%int_1901 = OpConstant %int 1901 53cb93a386Sopenharmony_ci%_ptr_Function_float = OpTypePointer Function %float 54cb93a386Sopenharmony_ci%float_0_03125 = OpConstant %float 0.03125 55cb93a386Sopenharmony_ci%int_0 = OpConstant %int 0 56cb93a386Sopenharmony_ci%int_2 = OpConstant %int 2 57cb93a386Sopenharmony_ci%bool = OpTypeBool 58cb93a386Sopenharmony_ci%float_0_0625 = OpConstant %float 0.0625 59cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float 60cb93a386Sopenharmony_ci%int_n1 = OpConstant %int -1 61cb93a386Sopenharmony_ci%_ptr_Output_float = OpTypePointer Output %float 62cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0 63cb93a386Sopenharmony_ci%float_1 = OpConstant %float 1 64cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float 65cb93a386Sopenharmony_ci%main = OpFunction %void None %16 66cb93a386Sopenharmony_ci%17 = OpLabel 67cb93a386Sopenharmony_ci%x = OpVariable %_ptr_Function_int Function 68cb93a386Sopenharmony_ci%y = OpVariable %_ptr_Function_int Function 69cb93a386Sopenharmony_ci%ileft = OpVariable %_ptr_Function_int Function 70cb93a386Sopenharmony_ci%iright = OpVariable %_ptr_Function_int Function 71cb93a386Sopenharmony_ci%itop = OpVariable %_ptr_Function_int Function 72cb93a386Sopenharmony_ci%ibot = OpVariable %_ptr_Function_int Function 73cb93a386Sopenharmony_ci%outset = OpVariable %_ptr_Function_float Function 74cb93a386Sopenharmony_ci%69 = OpVariable %_ptr_Function_float Function 75cb93a386Sopenharmony_ci%l = OpVariable %_ptr_Function_float Function 76cb93a386Sopenharmony_ci%r = OpVariable %_ptr_Function_float Function 77cb93a386Sopenharmony_ci%t = OpVariable %_ptr_Function_float Function 78cb93a386Sopenharmony_ci%b = OpVariable %_ptr_Function_float Function 79cb93a386Sopenharmony_ci%vertexpos = OpVariable %_ptr_Function_v2float Function 80cb93a386Sopenharmony_ci%109 = OpVariable %_ptr_Function_float Function 81cb93a386Sopenharmony_ci%123 = OpVariable %_ptr_Function_float Function 82cb93a386Sopenharmony_ci%20 = OpLoad %int %sk_InstanceID 83cb93a386Sopenharmony_ci%22 = OpSMod %int %20 %int_200 84cb93a386Sopenharmony_ciOpStore %x %22 85cb93a386Sopenharmony_ci%24 = OpLoad %int %sk_InstanceID 86cb93a386Sopenharmony_ci%25 = OpSDiv %int %24 %int_200 87cb93a386Sopenharmony_ciOpStore %y %25 88cb93a386Sopenharmony_ci%27 = OpLoad %int %sk_InstanceID 89cb93a386Sopenharmony_ci%29 = OpIMul %int %27 %int_929 90cb93a386Sopenharmony_ci%31 = OpSMod %int %29 %int_17 91cb93a386Sopenharmony_ciOpStore %ileft %31 92cb93a386Sopenharmony_ci%33 = OpLoad %int %ileft 93cb93a386Sopenharmony_ci%35 = OpIAdd %int %33 %int_1 94cb93a386Sopenharmony_ci%36 = OpLoad %int %sk_InstanceID 95cb93a386Sopenharmony_ci%38 = OpIMul %int %36 %int_1637 96cb93a386Sopenharmony_ci%39 = OpLoad %int %ileft 97cb93a386Sopenharmony_ci%40 = OpISub %int %int_17 %39 98cb93a386Sopenharmony_ci%41 = OpSMod %int %38 %40 99cb93a386Sopenharmony_ci%42 = OpIAdd %int %35 %41 100cb93a386Sopenharmony_ciOpStore %iright %42 101cb93a386Sopenharmony_ci%44 = OpLoad %int %sk_InstanceID 102cb93a386Sopenharmony_ci%46 = OpIMul %int %44 %int_313 103cb93a386Sopenharmony_ci%47 = OpSMod %int %46 %int_17 104cb93a386Sopenharmony_ciOpStore %itop %47 105cb93a386Sopenharmony_ci%49 = OpLoad %int %itop 106cb93a386Sopenharmony_ci%50 = OpIAdd %int %49 %int_1 107cb93a386Sopenharmony_ci%51 = OpLoad %int %sk_InstanceID 108cb93a386Sopenharmony_ci%53 = OpIMul %int %51 %int_1901 109cb93a386Sopenharmony_ci%54 = OpLoad %int %itop 110cb93a386Sopenharmony_ci%55 = OpISub %int %int_17 %54 111cb93a386Sopenharmony_ci%56 = OpSMod %int %53 %55 112cb93a386Sopenharmony_ci%57 = OpIAdd %int %50 %56 113cb93a386Sopenharmony_ciOpStore %ibot %57 114cb93a386Sopenharmony_ciOpStore %outset %float_0_03125 115cb93a386Sopenharmony_ci%62 = OpLoad %int %x 116cb93a386Sopenharmony_ci%63 = OpLoad %int %y 117cb93a386Sopenharmony_ci%64 = OpIAdd %int %62 %63 118cb93a386Sopenharmony_ci%66 = OpSMod %int %64 %int_2 119cb93a386Sopenharmony_ci%67 = OpIEqual %bool %int_0 %66 120cb93a386Sopenharmony_ciOpSelectionMerge %72 None 121cb93a386Sopenharmony_ciOpBranchConditional %67 %70 %71 122cb93a386Sopenharmony_ci%70 = OpLabel 123cb93a386Sopenharmony_ci%74 = OpLoad %float %outset 124cb93a386Sopenharmony_ci%73 = OpFNegate %float %74 125cb93a386Sopenharmony_ciOpStore %69 %73 126cb93a386Sopenharmony_ciOpBranch %72 127cb93a386Sopenharmony_ci%71 = OpLabel 128cb93a386Sopenharmony_ci%75 = OpLoad %float %outset 129cb93a386Sopenharmony_ciOpStore %69 %75 130cb93a386Sopenharmony_ciOpBranch %72 131cb93a386Sopenharmony_ci%72 = OpLabel 132cb93a386Sopenharmony_ci%76 = OpLoad %float %69 133cb93a386Sopenharmony_ciOpStore %outset %76 134cb93a386Sopenharmony_ci%78 = OpLoad %int %ileft 135cb93a386Sopenharmony_ci%79 = OpConvertSToF %float %78 136cb93a386Sopenharmony_ci%81 = OpFMul %float %79 %float_0_0625 137cb93a386Sopenharmony_ci%82 = OpLoad %float %outset 138cb93a386Sopenharmony_ci%83 = OpFSub %float %81 %82 139cb93a386Sopenharmony_ciOpStore %l %83 140cb93a386Sopenharmony_ci%85 = OpLoad %int %iright 141cb93a386Sopenharmony_ci%86 = OpConvertSToF %float %85 142cb93a386Sopenharmony_ci%87 = OpFMul %float %86 %float_0_0625 143cb93a386Sopenharmony_ci%88 = OpLoad %float %outset 144cb93a386Sopenharmony_ci%89 = OpFAdd %float %87 %88 145cb93a386Sopenharmony_ciOpStore %r %89 146cb93a386Sopenharmony_ci%91 = OpLoad %int %itop 147cb93a386Sopenharmony_ci%92 = OpConvertSToF %float %91 148cb93a386Sopenharmony_ci%93 = OpFMul %float %92 %float_0_0625 149cb93a386Sopenharmony_ci%94 = OpLoad %float %outset 150cb93a386Sopenharmony_ci%95 = OpFSub %float %93 %94 151cb93a386Sopenharmony_ciOpStore %t %95 152cb93a386Sopenharmony_ci%97 = OpLoad %int %ibot 153cb93a386Sopenharmony_ci%98 = OpConvertSToF %float %97 154cb93a386Sopenharmony_ci%99 = OpFMul %float %98 %float_0_0625 155cb93a386Sopenharmony_ci%100 = OpLoad %float %outset 156cb93a386Sopenharmony_ci%101 = OpFAdd %float %99 %100 157cb93a386Sopenharmony_ciOpStore %b %101 158cb93a386Sopenharmony_ci%104 = OpLoad %int %x 159cb93a386Sopenharmony_ci%105 = OpConvertSToF %float %104 160cb93a386Sopenharmony_ci%106 = OpLoad %int %sk_VertexID 161cb93a386Sopenharmony_ci%107 = OpSMod %int %106 %int_2 162cb93a386Sopenharmony_ci%108 = OpIEqual %bool %int_0 %107 163cb93a386Sopenharmony_ciOpSelectionMerge %112 None 164cb93a386Sopenharmony_ciOpBranchConditional %108 %110 %111 165cb93a386Sopenharmony_ci%110 = OpLabel 166cb93a386Sopenharmony_ci%113 = OpLoad %float %l 167cb93a386Sopenharmony_ciOpStore %109 %113 168cb93a386Sopenharmony_ciOpBranch %112 169cb93a386Sopenharmony_ci%111 = OpLabel 170cb93a386Sopenharmony_ci%114 = OpLoad %float %r 171cb93a386Sopenharmony_ciOpStore %109 %114 172cb93a386Sopenharmony_ciOpBranch %112 173cb93a386Sopenharmony_ci%112 = OpLabel 174cb93a386Sopenharmony_ci%115 = OpLoad %float %109 175cb93a386Sopenharmony_ci%116 = OpFAdd %float %105 %115 176cb93a386Sopenharmony_ci%117 = OpAccessChain %_ptr_Function_float %vertexpos %int_0 177cb93a386Sopenharmony_ciOpStore %117 %116 178cb93a386Sopenharmony_ci%118 = OpLoad %int %y 179cb93a386Sopenharmony_ci%119 = OpConvertSToF %float %118 180cb93a386Sopenharmony_ci%120 = OpLoad %int %sk_VertexID 181cb93a386Sopenharmony_ci%121 = OpSDiv %int %120 %int_2 182cb93a386Sopenharmony_ci%122 = OpIEqual %bool %int_0 %121 183cb93a386Sopenharmony_ciOpSelectionMerge %126 None 184cb93a386Sopenharmony_ciOpBranchConditional %122 %124 %125 185cb93a386Sopenharmony_ci%124 = OpLabel 186cb93a386Sopenharmony_ci%127 = OpLoad %float %t 187cb93a386Sopenharmony_ciOpStore %123 %127 188cb93a386Sopenharmony_ciOpBranch %126 189cb93a386Sopenharmony_ci%125 = OpLabel 190cb93a386Sopenharmony_ci%128 = OpLoad %float %b 191cb93a386Sopenharmony_ciOpStore %123 %128 192cb93a386Sopenharmony_ciOpBranch %126 193cb93a386Sopenharmony_ci%126 = OpLabel 194cb93a386Sopenharmony_ci%129 = OpLoad %float %123 195cb93a386Sopenharmony_ci%130 = OpFAdd %float %119 %129 196cb93a386Sopenharmony_ci%131 = OpAccessChain %_ptr_Function_float %vertexpos %int_1 197cb93a386Sopenharmony_ciOpStore %131 %130 198cb93a386Sopenharmony_ci%132 = OpLoad %int %sk_VertexID 199cb93a386Sopenharmony_ci%133 = OpSMod %int %132 %int_2 200cb93a386Sopenharmony_ci%134 = OpIEqual %bool %int_0 %133 201cb93a386Sopenharmony_ci%135 = OpSelect %int %134 %int_n1 %int_1 202cb93a386Sopenharmony_ci%137 = OpConvertSToF %float %135 203cb93a386Sopenharmony_ci%138 = OpAccessChain %_ptr_Output_float %vcoord_Stage0 %int_0 204cb93a386Sopenharmony_ciOpStore %138 %137 205cb93a386Sopenharmony_ci%140 = OpLoad %int %sk_VertexID 206cb93a386Sopenharmony_ci%141 = OpSDiv %int %140 %int_2 207cb93a386Sopenharmony_ci%142 = OpIEqual %bool %int_0 %141 208cb93a386Sopenharmony_ci%143 = OpSelect %int %142 %int_n1 %int_1 209cb93a386Sopenharmony_ci%144 = OpConvertSToF %float %143 210cb93a386Sopenharmony_ci%145 = OpAccessChain %_ptr_Output_float %vcoord_Stage0 %int_1 211cb93a386Sopenharmony_ciOpStore %145 %144 212cb93a386Sopenharmony_ci%146 = OpLoad %v2float %vertexpos 213cb93a386Sopenharmony_ci%147 = OpCompositeExtract %float %146 0 214cb93a386Sopenharmony_ci%148 = OpLoad %v2float %vertexpos 215cb93a386Sopenharmony_ci%149 = OpCompositeExtract %float %148 1 216cb93a386Sopenharmony_ci%152 = OpCompositeConstruct %v4float %147 %149 %float_0 %float_1 217cb93a386Sopenharmony_ci%153 = OpAccessChain %_ptr_Output_v4float %3 %int_0 218cb93a386Sopenharmony_ciOpStore %153 %152 219cb93a386Sopenharmony_ciOpReturn 220cb93a386Sopenharmony_ciOpFunctionEnd 221