1 OpCapability Shader 2 %1 = OpExtInstImport "GLSL.std.450" 3 OpMemoryModel Logical GLSL450 4 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor 5 OpExecutionMode %_entrypoint_v OriginUpperLeft 6 OpName %sk_FragColor "sk_FragColor" 7 OpName %globalVar "globalVar" 8 OpName %S "S" 9 OpMemberName %S 0 "f" 10 OpMemberName %S 1 "af" 11 OpMemberName %S 2 "h4" 12 OpMemberName %S 3 "ah4" 13 OpName %globalStruct "globalStruct" 14 OpName %_UniformBuffer "_UniformBuffer" 15 OpMemberName %_UniformBuffer 0 "colorGreen" 16 OpName %_entrypoint_v "_entrypoint_v" 17 OpName %keepAlive_vh "keepAlive_vh" 18 OpName %keepAlive_vf "keepAlive_vf" 19 OpName %keepAlive_vi "keepAlive_vi" 20 OpName %assignToFunctionParameter_vif "assignToFunctionParameter_vif" 21 OpName %main "main" 22 OpName %i "i" 23 OpName %i4 "i4" 24 OpName %f3x3 "f3x3" 25 OpName %x "x" 26 OpName %ai "ai" 27 OpName %ai4 "ai4" 28 OpName %ah3x3 "ah3x3" 29 OpName %af4 "af4" 30 OpName %s "s" 31 OpName %l "l" 32 OpName %repeat "repeat" 33 OpDecorate %sk_FragColor RelaxedPrecision 34 OpDecorate %sk_FragColor Location 0 35 OpDecorate %sk_FragColor Index 0 36 OpDecorate %globalVar RelaxedPrecision 37 OpDecorate %_arr_float_int_5 ArrayStride 16 38 OpDecorate %_arr_v4float_int_5 ArrayStride 16 39 OpMemberDecorate %S 0 Offset 0 40 OpMemberDecorate %S 1 Offset 16 41 OpMemberDecorate %S 2 Offset 96 42 OpMemberDecorate %S 2 RelaxedPrecision 43 OpMemberDecorate %S 3 Offset 112 44 OpMemberDecorate %S 3 RelaxedPrecision 45 OpMemberDecorate %_UniformBuffer 0 Offset 0 46 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision 47 OpDecorate %_UniformBuffer Block 48 OpDecorate %20 Binding 0 49 OpDecorate %20 DescriptorSet 0 50 OpDecorate %x RelaxedPrecision 51 OpDecorate %80 RelaxedPrecision 52 OpDecorate %81 RelaxedPrecision 53 OpDecorate %_arr_int_int_1 ArrayStride 16 54 OpDecorate %_arr_v4int_int_1 ArrayStride 16 55 OpDecorate %_arr_mat3v3float_int_1 ArrayStride 48 56 OpDecorate %_arr_v4float_int_1 ArrayStride 16 57 OpDecorate %109 RelaxedPrecision 58 OpDecorate %110 RelaxedPrecision 59 OpDecorate %113 RelaxedPrecision 60 OpDecorate %114 RelaxedPrecision 61 OpDecorate %l RelaxedPrecision 62 OpDecorate %147 RelaxedPrecision 63 OpDecorate %148 RelaxedPrecision 64 OpDecorate %150 RelaxedPrecision 65 OpDecorate %172 RelaxedPrecision 66 OpDecorate %173 RelaxedPrecision 67 OpDecorate %175 RelaxedPrecision 68 OpDecorate %181 RelaxedPrecision 69 OpDecorate %182 RelaxedPrecision 70 OpDecorate %184 RelaxedPrecision 71 OpDecorate %197 RelaxedPrecision 72 %float = OpTypeFloat 32 73 %v4float = OpTypeVector %float 4 74%_ptr_Output_v4float = OpTypePointer Output %v4float 75%sk_FragColor = OpVariable %_ptr_Output_v4float Output 76%_ptr_Private_v4float = OpTypePointer Private %v4float 77 %globalVar = OpVariable %_ptr_Private_v4float Private 78 %int = OpTypeInt 32 1 79 %int_5 = OpConstant %int 5 80%_arr_float_int_5 = OpTypeArray %float %int_5 81%_arr_v4float_int_5 = OpTypeArray %v4float %int_5 82 %S = OpTypeStruct %float %_arr_float_int_5 %v4float %_arr_v4float_int_5 83%_ptr_Private_S = OpTypePointer Private %S 84%globalStruct = OpVariable %_ptr_Private_S Private 85%_UniformBuffer = OpTypeStruct %v4float 86%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer 87 %20 = OpVariable %_ptr_Uniform__UniformBuffer Uniform 88 %void = OpTypeVoid 89 %25 = OpTypeFunction %void 90 %float_0 = OpConstant %float 0 91 %v2float = OpTypeVector %float 2 92 %29 = OpConstantComposite %v2float %float_0 %float_0 93%_ptr_Function_v2float = OpTypePointer Function %v2float 94%_ptr_Function_float = OpTypePointer Function %float 95 %34 = OpTypeFunction %void %_ptr_Function_float 96%_ptr_Function_int = OpTypePointer Function %int 97 %40 = OpTypeFunction %void %_ptr_Function_int 98 %43 = OpTypeFunction %void %_ptr_Function_int %_ptr_Function_float 99 %int_1 = OpConstant %int 1 100 %float_1 = OpConstant %float 1 101 %49 = OpTypeFunction %v4float %_ptr_Function_v2float 102 %int_0 = OpConstant %int 0 103 %v4int = OpTypeVector %int 4 104%_ptr_Function_v4int = OpTypePointer Function %v4int 105 %int_2 = OpConstant %int 2 106 %int_3 = OpConstant %int 3 107 %int_4 = OpConstant %int 4 108 %60 = OpConstantComposite %v4int %int_1 %int_2 %int_3 %int_4 109 %v3float = OpTypeVector %float 3 110%mat3v3float = OpTypeMatrix %v3float 3 111%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float 112 %float_2 = OpConstant %float 2 113 %float_3 = OpConstant %float 3 114 %float_4 = OpConstant %float 4 115 %float_5 = OpConstant %float 5 116 %float_6 = OpConstant %float 6 117 %float_7 = OpConstant %float 7 118 %float_8 = OpConstant %float 8 119 %float_9 = OpConstant %float 9 120 %73 = OpConstantComposite %v3float %float_1 %float_2 %float_3 121 %74 = OpConstantComposite %v3float %float_4 %float_5 %float_6 122 %75 = OpConstantComposite %v3float %float_7 %float_8 %float_9 123 %76 = OpConstantComposite %mat3v3float %73 %74 %75 124%_ptr_Function_v4float = OpTypePointer Function %v4float 125%_arr_int_int_1 = OpTypeArray %int %int_1 126%_ptr_Function__arr_int_int_1 = OpTypePointer Function %_arr_int_int_1 127%_arr_v4int_int_1 = OpTypeArray %v4int %int_1 128%_ptr_Function__arr_v4int_int_1 = OpTypePointer Function %_arr_v4int_int_1 129%_arr_mat3v3float_int_1 = OpTypeArray %mat3v3float %int_1 130%_ptr_Function__arr_mat3v3float_int_1 = OpTypePointer Function %_arr_mat3v3float_int_1 131%_arr_v4float_int_1 = OpTypeArray %v4float %int_1 132%_ptr_Function__arr_v4float_int_1 = OpTypePointer Function %_arr_v4float_int_1 133 %99 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1 134%_ptr_Function_S = OpTypePointer Function %S 135 %107 = OpConstantComposite %v3float %float_9 %float_9 %float_9 136 %111 = OpConstantComposite %v2float %float_5 %float_5 137 %115 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 138%_ptr_Private_float = OpTypePointer Private %float 139%_ptr_Function_v3float = OpTypePointer Function %v3float 140 %136 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2 141%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float 142%_entrypoint_v = OpFunction %void None %25 143 %26 = OpLabel 144 %30 = OpVariable %_ptr_Function_v2float Function 145 OpStore %30 %29 146 %32 = OpFunctionCall %v4float %main %30 147 OpStore %sk_FragColor %32 148 OpReturn 149 OpFunctionEnd 150%keepAlive_vh = OpFunction %void None %34 151 %35 = OpFunctionParameter %_ptr_Function_float 152 %36 = OpLabel 153 OpReturn 154 OpFunctionEnd 155%keepAlive_vf = OpFunction %void None %34 156 %37 = OpFunctionParameter %_ptr_Function_float 157 %38 = OpLabel 158 OpReturn 159 OpFunctionEnd 160%keepAlive_vi = OpFunction %void None %40 161 %41 = OpFunctionParameter %_ptr_Function_int 162 %42 = OpLabel 163 OpReturn 164 OpFunctionEnd 165%assignToFunctionParameter_vif = OpFunction %void None %43 166 %44 = OpFunctionParameter %_ptr_Function_int 167 %45 = OpFunctionParameter %_ptr_Function_float 168 %46 = OpLabel 169 OpStore %44 %int_1 170 OpStore %45 %float_1 171 OpReturn 172 OpFunctionEnd 173 %main = OpFunction %v4float None %49 174 %50 = OpFunctionParameter %_ptr_Function_v2float 175 %51 = OpLabel 176 %i = OpVariable %_ptr_Function_int Function 177 %i4 = OpVariable %_ptr_Function_v4int Function 178 %f3x3 = OpVariable %_ptr_Function_mat3v3float Function 179 %x = OpVariable %_ptr_Function_v4float Function 180 %ai = OpVariable %_ptr_Function__arr_int_int_1 Function 181 %ai4 = OpVariable %_ptr_Function__arr_v4int_int_1 Function 182 %ah3x3 = OpVariable %_ptr_Function__arr_mat3v3float_int_1 Function 183 %af4 = OpVariable %_ptr_Function__arr_v4float_int_1 Function 184 %s = OpVariable %_ptr_Function_S Function 185 %118 = OpVariable %_ptr_Function_int Function 186 %123 = OpVariable %_ptr_Function_float Function 187 %l = OpVariable %_ptr_Function_float Function 188 %repeat = OpVariable %_ptr_Function_float Function 189 %142 = OpVariable %_ptr_Function_float Function 190 %148 = OpVariable %_ptr_Function_float Function 191 %152 = OpVariable %_ptr_Function_int Function 192 %157 = OpVariable %_ptr_Function_int Function 193 %162 = OpVariable %_ptr_Function_int Function 194 %168 = OpVariable %_ptr_Function_int Function 195 %173 = OpVariable %_ptr_Function_float Function 196 %178 = OpVariable %_ptr_Function_float Function 197 %182 = OpVariable %_ptr_Function_float Function 198 %188 = OpVariable %_ptr_Function_float Function 199 %192 = OpVariable %_ptr_Function_float Function 200 OpStore %i %int_0 201 OpStore %i4 %60 202 OpStore %f3x3 %76 203 %79 = OpAccessChain %_ptr_Function_float %x %int_3 204 OpStore %79 %float_0 205 %80 = OpLoad %v4float %x 206 %81 = OpVectorShuffle %v4float %80 %29 5 4 2 3 207 OpStore %x %81 208 %85 = OpAccessChain %_ptr_Function_int %ai %int_0 209 OpStore %85 %int_0 210 %89 = OpAccessChain %_ptr_Function_v4int %ai4 %int_0 211 OpStore %89 %60 212 %93 = OpAccessChain %_ptr_Function_mat3v3float %ah3x3 %int_0 213 OpStore %93 %76 214 %97 = OpAccessChain %_ptr_Function_v4float %af4 %int_0 215 %98 = OpAccessChain %_ptr_Function_float %97 %int_0 216 OpStore %98 %float_0 217 %100 = OpAccessChain %_ptr_Function_v4float %af4 %int_0 218 %101 = OpLoad %v4float %100 219 %102 = OpVectorShuffle %v4float %101 %99 6 4 7 5 220 OpStore %100 %102 221 %105 = OpAccessChain %_ptr_Function_float %s %int_0 222 OpStore %105 %float_0 223 %106 = OpAccessChain %_ptr_Function_float %s %int_1 %int_1 224 OpStore %106 %float_0 225 %108 = OpAccessChain %_ptr_Function_v4float %s %int_2 226 %109 = OpLoad %v4float %108 227 %110 = OpVectorShuffle %v4float %109 %107 5 6 4 3 228 OpStore %108 %110 229 %112 = OpAccessChain %_ptr_Function_v4float %s %int_3 %int_2 230 %113 = OpLoad %v4float %112 231 %114 = OpVectorShuffle %v4float %113 %111 0 4 2 5 232 OpStore %112 %114 233 OpStore %globalVar %115 234 %116 = OpAccessChain %_ptr_Private_float %globalStruct %int_0 235 OpStore %116 %float_0 236 OpStore %118 %int_0 237 %119 = OpAccessChain %_ptr_Function_v3float %f3x3 %int_0 238 %121 = OpAccessChain %_ptr_Function_float %119 %int_0 239 %122 = OpLoad %float %121 240 OpStore %123 %122 241 %124 = OpFunctionCall %void %assignToFunctionParameter_vif %118 %123 242 %125 = OpLoad %float %123 243 OpStore %121 %125 244 OpStore %l %float_0 245 %127 = OpAccessChain %_ptr_Function_int %ai %int_0 246 %128 = OpLoad %int %127 247 %129 = OpAccessChain %_ptr_Function_v4int %ai4 %int_0 248 %130 = OpLoad %v4int %129 249 %131 = OpCompositeExtract %int %130 0 250 %132 = OpIAdd %int %128 %131 251 OpStore %127 %132 252 %133 = OpAccessChain %_ptr_Function_float %s %int_0 253 OpStore %133 %float_1 254 %134 = OpAccessChain %_ptr_Function_float %s %int_1 %int_0 255 OpStore %134 %float_2 256 %135 = OpAccessChain %_ptr_Function_v4float %s %int_2 257 OpStore %135 %99 258 %137 = OpAccessChain %_ptr_Function_v4float %s %int_3 %int_0 259 OpStore %137 %136 260 OpStore %repeat %float_1 261 OpStore %repeat %float_1 262 %139 = OpAccessChain %_ptr_Function_v4float %af4 %int_0 263 %140 = OpAccessChain %_ptr_Function_float %139 %int_0 264 %141 = OpLoad %float %140 265 OpStore %142 %141 266 %143 = OpFunctionCall %void %keepAlive_vf %142 267 %144 = OpLoad %float %142 268 OpStore %140 %144 269 %145 = OpAccessChain %_ptr_Function_v3float %ah3x3 %int_0 %int_0 270 %146 = OpAccessChain %_ptr_Function_float %145 %int_0 271 %147 = OpLoad %float %146 272 OpStore %148 %147 273 %149 = OpFunctionCall %void %keepAlive_vh %148 274 %150 = OpLoad %float %148 275 OpStore %146 %150 276 %151 = OpLoad %int %i 277 OpStore %152 %151 278 %153 = OpFunctionCall %void %keepAlive_vi %152 279 %154 = OpLoad %int %152 280 OpStore %i %154 281 %155 = OpAccessChain %_ptr_Function_int %i4 %int_1 282 %156 = OpLoad %int %155 283 OpStore %157 %156 284 %158 = OpFunctionCall %void %keepAlive_vi %157 285 %159 = OpLoad %int %157 286 OpStore %155 %159 287 %160 = OpAccessChain %_ptr_Function_int %ai %int_0 288 %161 = OpLoad %int %160 289 OpStore %162 %161 290 %163 = OpFunctionCall %void %keepAlive_vi %162 291 %164 = OpLoad %int %162 292 OpStore %160 %164 293 %165 = OpAccessChain %_ptr_Function_v4int %ai4 %int_0 294 %166 = OpAccessChain %_ptr_Function_int %165 %int_0 295 %167 = OpLoad %int %166 296 OpStore %168 %167 297 %169 = OpFunctionCall %void %keepAlive_vi %168 298 %170 = OpLoad %int %168 299 OpStore %166 %170 300 %171 = OpAccessChain %_ptr_Function_float %x %int_1 301 %172 = OpLoad %float %171 302 OpStore %173 %172 303 %174 = OpFunctionCall %void %keepAlive_vh %173 304 %175 = OpLoad %float %173 305 OpStore %171 %175 306 %176 = OpAccessChain %_ptr_Function_float %s %int_0 307 %177 = OpLoad %float %176 308 OpStore %178 %177 309 %179 = OpFunctionCall %void %keepAlive_vf %178 310 %180 = OpLoad %float %178 311 OpStore %176 %180 312 %181 = OpLoad %float %l 313 OpStore %182 %181 314 %183 = OpFunctionCall %void %keepAlive_vh %182 315 %184 = OpLoad %float %182 316 OpStore %l %184 317 %185 = OpAccessChain %_ptr_Function_v3float %f3x3 %int_0 318 %186 = OpAccessChain %_ptr_Function_float %185 %int_0 319 %187 = OpLoad %float %186 320 OpStore %188 %187 321 %189 = OpFunctionCall %void %keepAlive_vf %188 322 %190 = OpLoad %float %188 323 OpStore %186 %190 324 %191 = OpLoad %float %repeat 325 OpStore %192 %191 326 %193 = OpFunctionCall %void %keepAlive_vf %192 327 %194 = OpLoad %float %192 328 OpStore %repeat %194 329 %195 = OpAccessChain %_ptr_Uniform_v4float %20 %int_0 330 %197 = OpLoad %v4float %195 331 OpReturnValue %197 332 OpFunctionEnd 333