1 OpCapability Shader 2 %1 = OpExtInstImport "GLSL.std.450" 3 OpMemoryModel Logical GLSL450 4 OpEntryPoint Fragment %main "main" %_GLF_color 5 OpExecutionMode %main OriginUpperLeft 6 OpSource ESSL 310 7 OpName %main "main" 8 OpName %sums "sums" 9 OpName %buf1 "buf1" 10 OpMemberName %buf1 0 "_GLF_uniform_int_values" 11 OpName %_ "" 12 OpName %buf0 "buf0" 13 OpMemberName %buf0 0 "_GLF_uniform_float_values" 14 OpName %__0 "" 15 OpName %a "a" 16 OpName %b "b" 17 OpName %c "c" 18 OpName %d "d" 19 OpName %indexable "indexable" 20 OpName %indexable_0 "indexable" 21 OpName %_GLF_color "_GLF_color" 22 OpDecorate %_arr_int_uint_4 ArrayStride 16 23 OpMemberDecorate %buf1 0 RelaxedPrecision 24 OpMemberDecorate %buf1 0 Offset 0 25 OpDecorate %buf1 Block 26 OpDecorate %_ DescriptorSet 0 27 OpDecorate %_ Binding 1 28 OpDecorate %16 RelaxedPrecision 29 OpDecorate %_arr_float_uint_3 ArrayStride 16 30 OpMemberDecorate %buf0 0 Offset 0 31 OpDecorate %buf0 Block 32 OpDecorate %__0 DescriptorSet 0 33 OpDecorate %__0 Binding 0 34 OpDecorate %18 RelaxedPrecision 35 OpDecorate %a RelaxedPrecision 36 OpDecorate %19 RelaxedPrecision 37 OpDecorate %20 RelaxedPrecision 38 OpDecorate %21 RelaxedPrecision 39 OpDecorate %b RelaxedPrecision 40 OpDecorate %22 RelaxedPrecision 41 OpDecorate %23 RelaxedPrecision 42 OpDecorate %24 RelaxedPrecision 43 OpDecorate %c RelaxedPrecision 44 OpDecorate %25 RelaxedPrecision 45 OpDecorate %26 RelaxedPrecision 46 OpDecorate %27 RelaxedPrecision 47 OpDecorate %d RelaxedPrecision 48 OpDecorate %28 RelaxedPrecision 49 OpDecorate %29 RelaxedPrecision 50 OpDecorate %30 RelaxedPrecision 51 OpDecorate %31 RelaxedPrecision 52 OpDecorate %32 RelaxedPrecision 53 OpDecorate %33 RelaxedPrecision 54 OpDecorate %34 RelaxedPrecision 55 OpDecorate %35 RelaxedPrecision 56 OpDecorate %36 RelaxedPrecision 57 OpDecorate %37 RelaxedPrecision 58 OpDecorate %38 RelaxedPrecision 59 OpDecorate %39 RelaxedPrecision 60 OpDecorate %40 RelaxedPrecision 61 OpDecorate %41 RelaxedPrecision 62 OpDecorate %42 RelaxedPrecision 63 OpDecorate %43 RelaxedPrecision 64 OpDecorate %44 RelaxedPrecision 65 OpDecorate %45 RelaxedPrecision 66 OpDecorate %46 RelaxedPrecision 67 OpDecorate %47 RelaxedPrecision 68 OpDecorate %48 RelaxedPrecision 69 OpDecorate %_GLF_color Location 0 70 OpDecorate %49 RelaxedPrecision 71 OpDecorate %50 RelaxedPrecision 72 OpDecorate %51 RelaxedPrecision 73 OpDecorate %52 RelaxedPrecision 74 OpDecorate %53 RelaxedPrecision 75 %void = OpTypeVoid 76 %55 = OpTypeFunction %void 77 %float = OpTypeFloat 32 78 %uint = OpTypeInt 32 0 79 %uint_2 = OpConstant %uint 2 80%_arr_float_uint_2 = OpTypeArray %float %uint_2 81%_ptr_Function__arr_float_uint_2 = OpTypePointer Function %_arr_float_uint_2 82 %int = OpTypeInt 32 1 83 %uint_4 = OpConstant %uint 4 84%_arr_int_uint_4 = OpTypeArray %int %uint_4 85 %buf1 = OpTypeStruct %_arr_int_uint_4 86%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1 87 %_ = OpVariable %_ptr_Uniform_buf1 Uniform 88 %int_0 = OpConstant %int 0 89 %int_1 = OpConstant %int 1 90%_ptr_Uniform_int = OpTypePointer Uniform %int 91 %uint_3 = OpConstant %uint 3 92%_arr_float_uint_3 = OpTypeArray %float %uint_3 93 %buf0 = OpTypeStruct %_arr_float_uint_3 94%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 95 %__0 = OpVariable %_ptr_Uniform_buf0 Uniform 96%_ptr_Uniform_float = OpTypePointer Uniform %float 97%_ptr_Function_float = OpTypePointer Function %float 98 %int_2 = OpConstant %int 2 99%_ptr_Function_int = OpTypePointer Function %int 100 %bool = OpTypeBool 101 %int_3 = OpConstant %int 3 102 %v2float = OpTypeVector %float 2 103%mat2v2float = OpTypeMatrix %v2float 2 104 %float_1 = OpConstant %float 1 105 %float_0 = OpConstant %float 0 106%_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float 107 %v4float = OpTypeVector %float 4 108%_ptr_Output_v4float = OpTypePointer Output %v4float 109 %_GLF_color = OpVariable %_ptr_Output_v4float Output 110 %main = OpFunction %void None %55 111 %82 = OpLabel 112 %sums = OpVariable %_ptr_Function__arr_float_uint_2 Function 113 %a = OpVariable %_ptr_Function_int Function 114 %b = OpVariable %_ptr_Function_int Function 115 %c = OpVariable %_ptr_Function_int Function 116 %d = OpVariable %_ptr_Function_int Function 117 %indexable = OpVariable %_ptr_Function_mat2v2float Function 118%indexable_0 = OpVariable %_ptr_Function_mat2v2float Function 119 %83 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 120 %16 = OpLoad %int %83 121 %84 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0 122 %85 = OpLoad %float %84 123 %86 = OpFNegate %float %85 124 %87 = OpAccessChain %_ptr_Function_float %sums %16 125 OpStore %87 %86 126 %88 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 127 %18 = OpLoad %int %88 128 %89 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0 129 %90 = OpLoad %float %89 130 %91 = OpFNegate %float %90 131 %92 = OpAccessChain %_ptr_Function_float %sums %18 132 OpStore %92 %91 133 %93 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 134 %19 = OpLoad %int %93 135 OpStore %a %19 136 OpBranch %94 137 %94 = OpLabel 138 OpLoopMerge %95 %96 None 139 OpBranch %97 140 %97 = OpLabel 141 %20 = OpLoad %int %a 142 %98 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0 143 %21 = OpLoad %int %98 144 %99 = OpSLessThan %bool %20 %21 145 OpBranchConditional %99 %100 %95 146 %100 = OpLabel 147 %101 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 148 %22 = OpLoad %int %101 149 OpStore %b %22 150 OpBranch %102 151 %102 = OpLabel 152 OpLoopMerge %103 %104 None 153 OpBranch %105 154 %105 = OpLabel 155 %23 = OpLoad %int %b 156 %106 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3 157 %24 = OpLoad %int %106 158 %107 = OpSLessThan %bool %23 %24 159 OpBranchConditional %107 %108 %103 160 %108 = OpLabel 161 %109 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 162 %25 = OpLoad %int %109 163 OpStore %c %25 164 OpBranch %110 165 %110 = OpLabel 166 OpLoopMerge %111 %112 None 167 OpBranch %113 168 %113 = OpLabel 169 %26 = OpLoad %int %c 170 %27 = OpLoad %int %a 171 %114 = OpSLessThanEqual %bool %26 %27 172 OpBranchConditional %114 %115 %111 173 %115 = OpLabel 174 %116 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 175 %28 = OpLoad %int %116 176 OpStore %d %28 177 OpBranch %117 178 %117 = OpLabel 179 OpLoopMerge %118 %119 None 180 OpBranch %120 181 %120 = OpLabel 182 %29 = OpLoad %int %d 183 %121 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3 184 %30 = OpLoad %int %121 185 %122 = OpSLessThan %bool %29 %30 186 OpBranchConditional %122 %123 %118 187 %123 = OpLabel 188 %31 = OpLoad %int %a 189 %124 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 190 %32 = OpLoad %int %124 191 %125 = OpConvertSToF %float %32 192 %126 = OpCompositeConstruct %v2float %125 %float_0 193 %127 = OpCompositeConstruct %v2float %float_0 %125 194 %128 = OpCompositeConstruct %mat2v2float %126 %127 195 %33 = OpLoad %int %c 196 %129 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 197 %34 = OpLoad %int %129 198 OpStore %indexable %128 199 %130 = OpAccessChain %_ptr_Function_float %indexable %33 %34 200 %131 = OpLoad %float %130 201 %132 = OpAccessChain %_ptr_Function_float %sums %31 202 OpStore %132 %131 203 %35 = OpLoad %int %a 204 %133 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 205 %36 = OpLoad %int %133 206 %134 = OpConvertSToF %float %36 207 %135 = OpCompositeConstruct %v2float %134 %float_0 208 %136 = OpCompositeConstruct %v2float %float_0 %134 209 %137 = OpCompositeConstruct %mat2v2float %135 %136 210 %37 = OpLoad %int %c 211 %138 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 212 %38 = OpLoad %int %138 213 OpStore %indexable_0 %137 214 %139 = OpAccessChain %_ptr_Function_float %indexable_0 %37 %38 215 %140 = OpLoad %float %139 216 %141 = OpAccessChain %_ptr_Function_float %sums %35 217 %142 = OpLoad %float %141 218 %143 = OpFAdd %float %142 %140 219 %144 = OpAccessChain %_ptr_Function_float %sums %35 220 OpStore %144 %143 221 OpBranch %119 222 %119 = OpLabel 223 %39 = OpLoad %int %d 224 %40 = OpIAdd %int %39 %int_1 225 OpStore %d %40 226 OpBranch %117 227 %118 = OpLabel 228 OpBranch %112 229 %112 = OpLabel 230 %41 = OpLoad %int %c 231 %42 = OpIAdd %int %41 %int_1 232 OpStore %c %42 233 OpBranch %110 234 %111 = OpLabel 235 OpBranch %104 236 %104 = OpLabel 237 %43 = OpLoad %int %b 238 %44 = OpIAdd %int %43 %int_1 239 OpStore %b %44 240 OpBranch %102 241 %103 = OpLabel 242 OpBranch %96 243 %96 = OpLabel 244 %45 = OpLoad %int %a 245 %46 = OpIAdd %int %45 %int_1 246 OpStore %a %46 247 OpBranch %94 248 %95 = OpLabel 249 %145 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 250 %47 = OpLoad %int %145 251 %146 = OpAccessChain %_ptr_Function_float %sums %47 252 %147 = OpLoad %float %146 253 %148 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_1 254 %149 = OpLoad %float %148 255 %150 = OpFOrdEqual %bool %147 %149 256 OpSelectionMerge %151 None 257 OpBranchConditional %150 %152 %151 258 %152 = OpLabel 259 %153 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 260 %48 = OpLoad %int %153 261 %154 = OpAccessChain %_ptr_Function_float %sums %48 262 %155 = OpLoad %float %154 263 %156 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_2 264 %157 = OpLoad %float %156 265 %158 = OpFOrdEqual %bool %155 %157 266 OpBranch %151 267 %151 = OpLabel 268 %159 = OpPhi %bool %150 %95 %158 %152 269 OpSelectionMerge %160 None 270 OpBranchConditional %159 %161 %162 271 %161 = OpLabel 272 %163 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 273 %49 = OpLoad %int %163 274 %164 = OpConvertSToF %float %49 275 %165 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 276 %50 = OpLoad %int %165 277 %166 = OpConvertSToF %float %50 278 %167 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 279 %51 = OpLoad %int %167 280 %168 = OpConvertSToF %float %51 281 %169 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2 282 %52 = OpLoad %int %169 283 %170 = OpConvertSToF %float %52 284 %171 = OpCompositeConstruct %v4float %164 %166 %168 %170 285 OpStore %_GLF_color %171 286 OpBranch %160 287 %162 = OpLabel 288 %172 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1 289 %53 = OpLoad %int %172 290 %173 = OpConvertSToF %float %53 291 %174 = OpCompositeConstruct %v4float %173 %173 %173 %173 292 OpStore %_GLF_color %174 293 OpBranch %160 294 %160 = OpLabel 295 OpReturn 296 OpFunctionEnd 297