1; SPIR-V 2; Version: 1.0 3; Generator: Khronos Glslang Reference Front End; 8 4; Bound: 207 5; Schema: 0 6 OpCapability Shader 7 %1 = OpExtInstImport "GLSL.std.450" 8 OpMemoryModel Logical GLSL450 9 OpEntryPoint Fragment %main "main" 10 OpExecutionMode %main OriginUpperLeft 11 OpSource ESSL 310 12 OpName %main "main" 13 OpName %f "f" 14 OpName %v4 "v4" 15 OpName %u "u" 16 OpName %uv4 "uv4" 17 OpName %iv3 "iv3" 18 OpName %i "i" 19 OpName %uv3 "uv3" 20 OpName %m2 "m2" 21 OpName %iv4 "iv4" 22 OpName %m4 "m4" 23 OpName %a "a" 24 OpName %S "S" 25 OpMemberName %S 0 "i" 26 OpName %s "s" 27 OpName %b "b" 28 OpName %arr "arr" 29 OpName %arr2 "arr2" 30 OpName %block "block" 31 OpMemberName %block 0 "f" 32 OpName %instanceName "instanceName" 33 OpDecorate %u RelaxedPrecision 34 OpDecorate %18 RelaxedPrecision 35 OpDecorate %19 RelaxedPrecision 36 OpDecorate %20 RelaxedPrecision 37 OpDecorate %uv4 RelaxedPrecision 38 OpDecorate %24 RelaxedPrecision 39 OpDecorate %25 RelaxedPrecision 40 OpDecorate %26 RelaxedPrecision 41 OpDecorate %27 RelaxedPrecision 42 OpDecorate %iv3 RelaxedPrecision 43 OpDecorate %32 RelaxedPrecision 44 OpDecorate %33 RelaxedPrecision 45 OpDecorate %34 RelaxedPrecision 46 OpDecorate %i RelaxedPrecision 47 OpDecorate %38 RelaxedPrecision 48 OpDecorate %39 RelaxedPrecision 49 OpDecorate %uv3 RelaxedPrecision 50 OpDecorate %43 RelaxedPrecision 51 OpDecorate %45 RelaxedPrecision 52 OpDecorate %46 RelaxedPrecision 53 OpDecorate %iv4 RelaxedPrecision 54 OpDecorate %62 RelaxedPrecision 55 OpDecorate %64 RelaxedPrecision 56 OpDecorate %65 RelaxedPrecision 57 OpDecorate %104 RelaxedPrecision 58 OpDecorate %105 RelaxedPrecision 59 OpMemberDecorate %S 0 RelaxedPrecision 60 OpDecorate %153 RelaxedPrecision 61 OpDecorate %154 RelaxedPrecision 62 OpDecorate %155 RelaxedPrecision 63 OpDecorate %156 RelaxedPrecision 64 OpDecorate %157 RelaxedPrecision 65 OpDecorate %158 RelaxedPrecision 66 OpDecorate %159 RelaxedPrecision 67 OpDecorate %160 RelaxedPrecision 68 OpDecorate %161 RelaxedPrecision 69 OpDecorate %162 RelaxedPrecision 70 OpDecorate %163 RelaxedPrecision 71 OpDecorate %164 RelaxedPrecision 72 OpDecorate %165 RelaxedPrecision 73 OpDecorate %166 RelaxedPrecision 74 OpDecorate %167 RelaxedPrecision 75 OpDecorate %168 RelaxedPrecision 76 OpDecorate %169 RelaxedPrecision 77 OpDecorate %170 RelaxedPrecision 78 OpDecorate %171 RelaxedPrecision 79 OpDecorate %172 RelaxedPrecision 80 OpDecorate %173 RelaxedPrecision 81 OpDecorate %174 RelaxedPrecision 82 OpDecorate %175 RelaxedPrecision 83 OpDecorate %176 RelaxedPrecision 84 OpDecorate %177 RelaxedPrecision 85 OpDecorate %178 RelaxedPrecision 86 OpDecorate %179 RelaxedPrecision 87 OpDecorate %180 RelaxedPrecision 88 OpDecorate %181 RelaxedPrecision 89 OpDecorate %182 RelaxedPrecision 90 OpDecorate %183 RelaxedPrecision 91 OpDecorate %184 RelaxedPrecision 92 OpDecorate %185 RelaxedPrecision 93 OpDecorate %186 RelaxedPrecision 94 OpDecorate %187 RelaxedPrecision 95 OpDecorate %188 RelaxedPrecision 96 OpDecorate %189 RelaxedPrecision 97 OpDecorate %190 RelaxedPrecision 98 OpDecorate %191 RelaxedPrecision 99 OpDecorate %192 RelaxedPrecision 100 OpDecorate %193 RelaxedPrecision 101 OpDecorate %194 RelaxedPrecision 102 OpDecorate %arr RelaxedPrecision 103 OpDecorate %arr2 RelaxedPrecision 104 OpMemberDecorate %block 0 RelaxedPrecision 105 OpMemberDecorate %block 0 Offset 0 106 OpDecorate %block Block 107 OpDecorate %instanceName DescriptorSet 0 108 OpDecorate %instanceName Binding 0 109 %void = OpTypeVoid 110 %3 = OpTypeFunction %void 111 %float = OpTypeFloat 32 112%_ptr_Function_float = OpTypePointer Function %float 113 %v4float = OpTypeVector %float 4 114%_ptr_Function_v4float = OpTypePointer Function %v4float 115 %uint = OpTypeInt 32 0 116%_ptr_Function_uint = OpTypePointer Function %uint 117 %v4uint = OpTypeVector %uint 4 118%_ptr_Function_v4uint = OpTypePointer Function %v4uint 119 %int = OpTypeInt 32 1 120 %v3int = OpTypeVector %int 3 121%_ptr_Function_v3int = OpTypePointer Function %v3int 122%_ptr_Function_int = OpTypePointer Function %int 123 %int_3 = OpConstant %int 3 124 %v3uint = OpTypeVector %uint 3 125%_ptr_Function_v3uint = OpTypePointer Function %v3uint 126 %uint_4 = OpConstant %uint 4 127 %v2float = OpTypeVector %float 2 128%mat2v2float = OpTypeMatrix %v2float 2 129%_ptr_Function_mat2v2float = OpTypePointer Function %mat2v2float 130 %float_1 = OpConstant %float 1 131 %v4int = OpTypeVector %int 4 132%_ptr_Function_v4int = OpTypePointer Function %v4int 133 %int_1 = OpConstant %int 1 134%mat4v4float = OpTypeMatrix %v4float 4 135%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float 136 %bool = OpTypeBool 137 %v4bool = OpTypeVector %bool 4 138 %v2bool = OpTypeVector %bool 2 139 %uint_5 = OpConstant %uint 5 140%_arr_float_uint_5 = OpTypeArray %float %uint_5 141%_ptr_Private__arr_float_uint_5 = OpTypePointer Private %_arr_float_uint_5 142 %a = OpVariable %_ptr_Private__arr_float_uint_5 Private 143 %S = OpTypeStruct %int 144%_ptr_Private_S = OpTypePointer Private %S 145 %s = OpVariable %_ptr_Private_S Private 146%_ptr_Function_bool = OpTypePointer Function %bool 147 %uint_2 = OpConstant %uint 2 148%_arr_int_uint_2 = OpTypeArray %int %uint_2 149%_ptr_Function__arr_int_uint_2 = OpTypePointer Function %_arr_int_uint_2 150 %uint_3 = OpConstant %uint 3 151%_arr_int_uint_3 = OpTypeArray %int %uint_3 152%_ptr_Function__arr_int_uint_3 = OpTypePointer Function %_arr_int_uint_3 153 %int_2 = OpConstant %int 2 154 %block = OpTypeStruct %float 155%_ptr_Uniform_block = OpTypePointer Uniform %block 156%instanceName = OpVariable %_ptr_Uniform_block Uniform 157 %main = OpFunction %void None %3 158 %5 = OpLabel 159 %f = OpVariable %_ptr_Function_float Function 160 %v4 = OpVariable %_ptr_Function_v4float Function 161 %u = OpVariable %_ptr_Function_uint Function 162 %uv4 = OpVariable %_ptr_Function_v4uint Function 163 %iv3 = OpVariable %_ptr_Function_v3int Function 164 %i = OpVariable %_ptr_Function_int Function 165 %uv3 = OpVariable %_ptr_Function_v3uint Function 166 %m2 = OpVariable %_ptr_Function_mat2v2float Function 167 %iv4 = OpVariable %_ptr_Function_v4int Function 168 %m4 = OpVariable %_ptr_Function_mat4v4float Function 169 %b = OpVariable %_ptr_Function_bool Function 170 %arr = OpVariable %_ptr_Function__arr_int_uint_2 Function 171 %arr2 = OpVariable %_ptr_Function__arr_int_uint_3 Function 172 %9 = OpLoad %float %f 173 %13 = OpLoad %v4float %v4 174 %14 = OpVectorTimesScalar %v4float %13 %9 175 %18 = OpLoad %uint %u 176 %19 = OpLoad %uint %u 177 %20 = OpIAdd %uint %18 %19 178 %24 = OpLoad %v4uint %uv4 179 %25 = OpLoad %uint %u 180 %26 = OpCompositeConstruct %v4uint %25 %25 %25 %25 181 %27 = OpUDiv %v4uint %24 %26 182 %32 = OpLoad %v3int %iv3 183 %33 = OpLoad %v3int %iv3 184 %34 = OpISub %v3int %33 %32 185 OpStore %iv3 %34 186 %38 = OpLoad %int %i 187 %39 = OpSMod %int %38 %int_3 188 OpStore %i %39 189 %43 = OpLoad %v3uint %uv3 190 %45 = OpCompositeConstruct %v3uint %uint_4 %uint_4 %uint_4 191 %46 = OpUMod %v3uint %43 %45 192 %51 = OpLoad %mat2v2float %m2 193 %53 = OpCompositeConstruct %v2float %float_1 %float_1 194 %54 = OpCompositeExtract %v2float %51 0 195 %55 = OpFSub %v2float %54 %53 196 %56 = OpCompositeExtract %v2float %51 1 197 %57 = OpFSub %v2float %56 %53 198 %58 = OpCompositeConstruct %mat2v2float %55 %57 199 OpStore %m2 %58 200 %62 = OpLoad %v4int %iv4 201 %64 = OpCompositeConstruct %v4int %int_1 %int_1 %int_1 %int_1 202 %65 = OpIAdd %v4int %62 %64 203 OpStore %iv4 %65 204 %69 = OpLoad %mat4v4float %m4 205 %70 = OpLoad %mat4v4float %m4 206 %72 = OpCompositeExtract %v4float %69 0 207 %73 = OpCompositeExtract %v4float %70 0 208 %75 = OpFUnordNotEqual %v4bool %72 %73 209 %76 = OpAny %bool %75 210 %77 = OpCompositeExtract %v4float %69 1 211 %78 = OpCompositeExtract %v4float %70 1 212 %79 = OpFUnordNotEqual %v4bool %77 %78 213 %80 = OpAny %bool %79 214 %81 = OpLogicalOr %bool %76 %80 215 %82 = OpCompositeExtract %v4float %69 2 216 %83 = OpCompositeExtract %v4float %70 2 217 %84 = OpFUnordNotEqual %v4bool %82 %83 218 %85 = OpAny %bool %84 219 %86 = OpLogicalOr %bool %81 %85 220 %87 = OpCompositeExtract %v4float %69 3 221 %88 = OpCompositeExtract %v4float %70 3 222 %89 = OpFUnordNotEqual %v4bool %87 %88 223 %90 = OpAny %bool %89 224 %91 = OpLogicalOr %bool %86 %90 225 %92 = OpLoad %mat2v2float %m2 226 %93 = OpLoad %mat2v2float %m2 227 %94 = OpCompositeExtract %v2float %92 0 228 %95 = OpCompositeExtract %v2float %93 0 229 %97 = OpFOrdEqual %v2bool %94 %95 230 %98 = OpAll %bool %97 231 %99 = OpCompositeExtract %v2float %92 1 232 %100 = OpCompositeExtract %v2float %93 1 233 %101 = OpFOrdEqual %v2bool %99 %100 234 %102 = OpAll %bool %101 235 %103 = OpLogicalAnd %bool %98 %102 236 %104 = OpLoad %int %i 237 %105 = OpLoad %int %i 238 %106 = OpSLessThanEqual %bool %104 %105 239 %111 = OpLoad %_arr_float_uint_5 %a 240 %112 = OpLoad %_arr_float_uint_5 %a 241 %113 = OpCompositeExtract %float %111 0 242 %114 = OpCompositeExtract %float %112 0 243 %115 = OpFOrdEqual %bool %113 %114 244 %116 = OpCompositeExtract %float %111 1 245 %117 = OpCompositeExtract %float %112 1 246 %118 = OpFOrdEqual %bool %116 %117 247 %119 = OpLogicalAnd %bool %115 %118 248 %120 = OpCompositeExtract %float %111 2 249 %121 = OpCompositeExtract %float %112 2 250 %122 = OpFOrdEqual %bool %120 %121 251 %123 = OpLogicalAnd %bool %119 %122 252 %124 = OpCompositeExtract %float %111 3 253 %125 = OpCompositeExtract %float %112 3 254 %126 = OpFOrdEqual %bool %124 %125 255 %127 = OpLogicalAnd %bool %123 %126 256 %128 = OpCompositeExtract %float %111 4 257 %129 = OpCompositeExtract %float %112 4 258 %130 = OpFOrdEqual %bool %128 %129 259 %131 = OpLogicalAnd %bool %127 %130 260 %135 = OpLoad %S %s 261 %136 = OpLoad %S %s 262 %137 = OpCompositeExtract %int %135 0 263 %138 = OpCompositeExtract %int %136 0 264 %139 = OpINotEqual %bool %137 %138 265 %142 = OpLoad %bool %b 266 %143 = OpLoad %bool %b 267 %144 = OpLogicalAnd %bool %142 %143 268 %145 = OpLoad %bool %b 269 %146 = OpLoad %bool %b 270 %147 = OpLogicalOr %bool %145 %146 271 %148 = OpLoad %bool %b 272 %149 = OpLoad %bool %b 273 %150 = OpLogicalNotEqual %bool %148 %149 274 %151 = OpLoad %bool %b 275 %152 = OpLogicalNot %bool %151 276 %153 = OpLoad %int %i 277 %154 = OpNot %int %153 278 %155 = OpLoad %uint %u 279 %156 = OpNot %uint %155 280 %157 = OpLoad %v3uint %uv3 281 %158 = OpNot %v3uint %157 282 %159 = OpLoad %v3int %iv3 283 %160 = OpNot %v3int %159 284 %161 = OpLoad %int %i 285 %162 = OpLoad %v3uint %uv3 286 %163 = OpCompositeConstruct %v3int %161 %161 %161 287 %164 = OpShiftLeftLogical %v3uint %162 %163 288 OpStore %uv3 %164 289 %165 = OpLoad %int %i 290 %166 = OpLoad %int %i 291 %167 = OpShiftRightArithmetic %int %165 %166 292 %168 = OpLoad %uint %u 293 %169 = OpLoad %uint %u 294 %170 = OpShiftLeftLogical %uint %168 %169 295 %171 = OpLoad %v3int %iv3 296 %172 = OpLoad %v3int %iv3 297 %173 = OpShiftRightArithmetic %v3int %171 %172 298 %174 = OpLoad %int %i 299 %175 = OpLoad %int %i 300 %176 = OpBitwiseAnd %int %174 %175 301 %177 = OpLoad %uint %u 302 %178 = OpLoad %uint %u 303 %179 = OpBitwiseOr %uint %177 %178 304 %180 = OpLoad %v3int %iv3 305 %181 = OpLoad %v3int %iv3 306 %182 = OpBitwiseXor %v3int %180 %181 307 %183 = OpLoad %uint %u 308 %184 = OpLoad %v3uint %uv3 309 %185 = OpCompositeConstruct %v3uint %183 %183 %183 310 %186 = OpBitwiseAnd %v3uint %185 %184 311 %187 = OpLoad %v3uint %uv3 312 %188 = OpLoad %uint %u 313 %189 = OpCompositeConstruct %v3uint %188 %188 %188 314 %190 = OpBitwiseOr %v3uint %187 %189 315 %191 = OpLoad %uint %u 316 %192 = OpLoad %v3uint %uv3 317 %193 = OpCompositeConstruct %v3uint %191 %191 %191 318 %194 = OpBitwiseAnd %v3uint %192 %193 319 OpStore %uv3 %194 320 OpReturn 321 OpFunctionEnd 322