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 320 7 OpName %main "main" 8 OpName %_GLF_global_loop_count "_GLF_global_loop_count" 9 OpName %m "m" 10 OpName %buf1 "buf1" 11 OpMemberName %buf1 0 "_GLF_uniform_float_values" 12 OpName %_ "" 13 OpName %v "v" 14 OpName %f "f" 15 OpName %a "a" 16 OpName %buf0 "buf0" 17 OpMemberName %buf0 0 "_GLF_uniform_int_values" 18 OpName %__0 "" 19 OpName %b "b" 20 OpName %buf2 "buf2" 21 OpMemberName %buf2 0 "one" 22 OpName %__1 "" 23 OpName %zero "zero" 24 OpName %_GLF_color "_GLF_color" 25 OpDecorate %_arr_float_uint_18 ArrayStride 16 26 OpMemberDecorate %buf1 0 Offset 0 27 OpDecorate %buf1 Block 28 OpDecorate %_ DescriptorSet 0 29 OpDecorate %_ Binding 1 30 OpDecorate %_arr_int_uint_4 ArrayStride 16 31 OpMemberDecorate %buf0 0 Offset 0 32 OpDecorate %buf0 Block 33 OpDecorate %__0 DescriptorSet 0 34 OpDecorate %__0 Binding 0 35 OpMemberDecorate %buf2 0 Offset 0 36 OpDecorate %buf2 Block 37 OpDecorate %__1 DescriptorSet 0 38 OpDecorate %__1 Binding 2 39 OpDecorate %_GLF_color Location 0 40 %void = OpTypeVoid 41 %20 = OpTypeFunction %void 42 %int = OpTypeInt 32 1 43%_ptr_Private_int = OpTypePointer Private %int 44%_GLF_global_loop_count = OpVariable %_ptr_Private_int Private 45 %int_0 = OpConstant %int 0 46 %float = OpTypeFloat 32 47 %v4float = OpTypeVector %float 4 48%mat4v4float = OpTypeMatrix %v4float 4 49%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float 50 %uint = OpTypeInt 32 0 51 %uint_18 = OpConstant %uint 18 52%_arr_float_uint_18 = OpTypeArray %float %uint_18 53 %buf1 = OpTypeStruct %_arr_float_uint_18 54%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1 55 %_ = OpVariable %_ptr_Uniform_buf1 Uniform 56 %int_1 = OpConstant %int 1 57%_ptr_Uniform_float = OpTypePointer Uniform %float 58 %int_2 = OpConstant %int 2 59 %int_3 = OpConstant %int 3 60 %int_4 = OpConstant %int 4 61 %int_5 = OpConstant %int 5 62 %int_6 = OpConstant %int 6 63 %int_7 = OpConstant %int 7 64 %int_8 = OpConstant %int 8 65 %int_9 = OpConstant %int 9 66 %int_10 = OpConstant %int 10 67 %int_11 = OpConstant %int 11 68 %int_12 = OpConstant %int 12 69 %int_13 = OpConstant %int 13 70 %int_14 = OpConstant %int 14 71 %int_15 = OpConstant %int 15 72 %int_16 = OpConstant %int 16 73 %float_1 = OpConstant %float 1 74 %float_0 = OpConstant %float 0 75%_ptr_Function_v4float = OpTypePointer Function %v4float 76%_ptr_Function_float = OpTypePointer Function %float 77%_ptr_Function_int = OpTypePointer Function %int 78 %uint_4 = OpConstant %uint 4 79%_arr_int_uint_4 = OpTypeArray %int %uint_4 80 %buf0 = OpTypeStruct %_arr_int_uint_4 81%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0 82 %__0 = OpVariable %_ptr_Uniform_buf0 Uniform 83%_ptr_Uniform_int = OpTypePointer Uniform %int 84 %bool = OpTypeBool 85 %buf2 = OpTypeStruct %int 86%_ptr_Uniform_buf2 = OpTypePointer Uniform %buf2 87 %__1 = OpVariable %_ptr_Uniform_buf2 Uniform 88 %int_17 = OpConstant %int 17 89%_ptr_Output_v4float = OpTypePointer Output %v4float 90 %_GLF_color = OpVariable %_ptr_Output_v4float Output 91 %main = OpFunction %void None %20 92 %60 = OpLabel 93 %m = OpVariable %_ptr_Function_mat4v4float Function 94 %v = OpVariable %_ptr_Function_v4float Function 95 %f = OpVariable %_ptr_Function_float Function 96 %a = OpVariable %_ptr_Function_int Function 97 %b = OpVariable %_ptr_Function_int Function 98 %zero = OpVariable %_ptr_Function_float Function 99 OpStore %_GLF_global_loop_count %int_0 100 %61 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1 101 %62 = OpLoad %float %61 102 %63 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2 103 %64 = OpLoad %float %63 104 %65 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_3 105 %66 = OpLoad %float %65 106 %67 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_4 107 %68 = OpLoad %float %67 108 %69 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_5 109 %70 = OpLoad %float %69 110 %71 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_6 111 %72 = OpLoad %float %71 112 %73 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_7 113 %74 = OpLoad %float %73 114 %75 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_8 115 %76 = OpLoad %float %75 116 %77 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_9 117 %78 = OpLoad %float %77 118 %79 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_10 119 %80 = OpLoad %float %79 120 %81 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_11 121 %82 = OpLoad %float %81 122 %83 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_12 123 %84 = OpLoad %float %83 124 %85 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_13 125 %86 = OpLoad %float %85 126 %87 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_14 127 %88 = OpLoad %float %87 128 %89 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_15 129 %90 = OpLoad %float %89 130 %91 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_16 131 %92 = OpLoad %float %91 132 %93 = OpCompositeConstruct %v4float %62 %64 %66 %68 133 %94 = OpCompositeConstruct %v4float %70 %72 %74 %76 134 %95 = OpCompositeConstruct %v4float %78 %80 %82 %84 135 %96 = OpCompositeConstruct %v4float %86 %88 %90 %92 136 %97 = OpCompositeConstruct %mat4v4float %93 %94 %95 %96 137 OpStore %m %97 138 %98 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1 139 %99 = OpLoad %float %98 140 %100 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_2 141 %101 = OpLoad %float %100 142 %102 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_3 143 %103 = OpLoad %float %102 144 %104 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_4 145 %105 = OpLoad %float %104 146 %106 = OpCompositeConstruct %v4float %99 %101 %103 %105 147 OpStore %v %106 148 %107 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1 149 %108 = OpLoad %float %107 150 OpStore %f %108 151 %109 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 152 %110 = OpLoad %int %109 153 OpStore %a %110 154 OpBranch %111 155 %111 = OpLabel 156 OpLoopMerge %112 %113 None 157 OpBranch %114 158 %114 = OpLabel 159 %115 = OpLoad %int %_GLF_global_loop_count 160 %116 = OpSLessThan %bool %115 %int_10 161 OpBranchConditional %116 %117 %112 162 %117 = OpLabel 163 %118 = OpLoad %int %_GLF_global_loop_count 164 %119 = OpIAdd %int %118 %int_1 165 OpStore %_GLF_global_loop_count %119 166 %120 = OpLoad %int %a 167 %121 = OpExtInst %int %1 SClamp %120 %int_0 %int_3 168 %122 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1 169 %123 = OpLoad %float %122 170 %124 = OpAccessChain %_ptr_Function_float %v %121 171 %125 = OpLoad %float %124 172 %126 = OpFAdd %float %125 %123 173 %127 = OpAccessChain %_ptr_Function_float %v %121 174 OpStore %127 %126 175 %128 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_2 176 %129 = OpLoad %int %128 177 OpStore %b %129 178 OpBranch %130 179 %130 = OpLabel 180 OpLoopMerge %131 %132 None 181 OpBranch %133 182 %133 = OpLabel 183 %134 = OpLoad %int %_GLF_global_loop_count 184 %135 = OpSLessThan %bool %134 %int_10 185 OpBranchConditional %135 %136 %131 186 %136 = OpLabel 187 %137 = OpLoad %int %_GLF_global_loop_count 188 %138 = OpIAdd %int %137 %int_1 189 OpStore %_GLF_global_loop_count %138 190 %139 = OpLoad %int %b 191 %140 = OpExtInst %int %1 SClamp %139 %int_0 %int_3 192 %141 = OpAccessChain %_ptr_Function_float %v %140 193 %142 = OpLoad %float %141 194 %143 = OpLoad %int %b 195 %144 = OpExtInst %int %1 SClamp %143 %int_0 %int_3 196 %145 = OpLoad %int %a 197 %146 = OpAccessChain %_ptr_Function_float %m %144 %145 198 %147 = OpLoad %float %146 199 %148 = OpFMul %float %142 %147 200 %149 = OpLoad %float %f 201 %150 = OpFAdd %float %149 %148 202 OpStore %f %150 203 OpBranch %132 204 %132 = OpLabel 205 %151 = OpLoad %int %b 206 %152 = OpISub %int %151 %int_1 207 OpStore %b %152 208 OpBranch %130 209 %131 = OpLabel 210 %153 = OpLoad %int %a 211 %154 = OpExtInst %int %1 SClamp %153 %int_0 %int_3 212 %155 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1 213 %156 = OpLoad %float %155 214 %157 = OpAccessChain %_ptr_Function_float %m %int_1 %154 215 OpStore %157 %156 216 %158 = OpAccessChain %_ptr_Uniform_int %__1 %int_0 217 %159 = OpLoad %int %158 218 %160 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 219 %161 = OpLoad %int %160 220 %162 = OpIEqual %bool %159 %161 221 OpSelectionMerge %163 None 222 OpBranchConditional %162 %164 %163 223 %164 = OpLabel 224 OpKill 225 %163 = OpLabel 226 %165 = OpAccessChain %_ptr_Uniform_int %__1 %int_0 227 %166 = OpLoad %int %165 228 %167 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_1 229 %168 = OpLoad %int %167 230 %169 = OpIEqual %bool %166 %168 231 OpSelectionMerge %170 None 232 OpBranchConditional %169 %171 %170 233 %171 = OpLabel 234 OpKill 235 %170 = OpLabel 236 OpBranch %113 237 %113 = OpLabel 238 %172 = OpLoad %int %a 239 %173 = OpIAdd %int %172 %int_1 240 OpStore %a %173 241 OpBranch %111 242 %112 = OpLabel 243 %174 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_0 244 %175 = OpLoad %float %174 245 OpStore %zero %175 246 %176 = OpLoad %float %f 247 %177 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_17 248 %178 = OpLoad %float %177 249 %179 = OpFUnordNotEqual %bool %176 %178 250 OpSelectionMerge %180 None 251 OpBranchConditional %179 %181 %180 252 %181 = OpLabel 253 %182 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %int_1 254 %183 = OpLoad %float %182 255 OpStore %zero %183 256 OpBranch %180 257 %180 = OpLabel 258 %184 = OpLoad %float %f 259 %185 = OpLoad %float %zero 260 %186 = OpAccessChain %_ptr_Uniform_int %__0 %int_0 %int_0 261 %187 = OpLoad %int %186 262 %188 = OpConvertSToF %float %187 263 %189 = OpLoad %float %f 264 %190 = OpCompositeConstruct %v4float %184 %185 %188 %189 265 OpStore %_GLF_color %190 266 OpReturn 267 OpFunctionEnd 268