1; SPIR-V 2; Version: 1.0 3; Generator: Khronos Glslang Reference Front End; 8 4; Bound: 189 5; Schema: 0 6 OpCapability Shader 7 OpCapability ImageQuery 8 %1 = OpExtInstImport "GLSL.std.450" 9 OpMemoryModel Logical GLSL450 10 OpEntryPoint Fragment %main "main" %c2D %c4D %c3D %ic3D %ic1D %c1D %ic4D %s2 %sc %sf 11 OpExecutionMode %main OriginUpperLeft 12 OpSource ESSL 310 13 OpName %main "main" 14 OpName %v "v" 15 OpName %s2D "s2D" 16 OpName %c2D "c2D" 17 OpName %s3D "s3D" 18 OpName %c4D "c4D" 19 OpName %s2DArray "s2DArray" 20 OpName %c3D "c3D" 21 OpName %ic3D "ic3D" 22 OpName %ic1D "ic1D" 23 OpName %f "f" 24 OpName %s2DShadow "s2DShadow" 25 OpName %c1D "c1D" 26 OpName %sCube "sCube" 27 OpName %s2DArrayShadow "s2DArrayShadow" 28 OpName %iv "iv" 29 OpName %is2D "is2D" 30 OpName %is3D "is3D" 31 OpName %isCube "isCube" 32 OpName %is2DArray "is2DArray" 33 OpName %sCubeShadow "sCubeShadow" 34 OpName %us2D "us2D" 35 OpName %us3D "us3D" 36 OpName %usCube "usCube" 37 OpName %us2DArray "us2DArray" 38 OpName %ic4D "ic4D" 39 OpName %S2 "S2" 40 OpMemberName %S2 0 "c" 41 OpMemberName %S2 1 "f" 42 OpName %s2 "s2" 43 OpName %sc "sc" 44 OpName %sf "sf" 45 OpName %arrayedSampler "arrayedSampler" 46 OpDecorate %v RelaxedPrecision 47 OpDecorate %s2D RelaxedPrecision 48 OpDecorate %s2D DescriptorSet 0 49 OpDecorate %s2D Binding 1 50 OpDecorate %14 RelaxedPrecision 51 OpDecorate %c2D RelaxedPrecision 52 OpDecorate %c2D Location 5 53 OpDecorate %18 RelaxedPrecision 54 OpDecorate %19 RelaxedPrecision 55 OpDecorate %s3D RelaxedPrecision 56 OpDecorate %s3D DescriptorSet 0 57 OpDecorate %s3D Binding 2 58 OpDecorate %24 RelaxedPrecision 59 OpDecorate %c4D RelaxedPrecision 60 OpDecorate %c4D Location 7 61 OpDecorate %27 RelaxedPrecision 62 OpDecorate %28 RelaxedPrecision 63 OpDecorate %s2DArray RelaxedPrecision 64 OpDecorate %s2DArray DescriptorSet 0 65 OpDecorate %s2DArray Binding 6 66 OpDecorate %33 RelaxedPrecision 67 OpDecorate %c3D RelaxedPrecision 68 OpDecorate %c3D Location 6 69 OpDecorate %37 RelaxedPrecision 70 OpDecorate %39 RelaxedPrecision 71 OpDecorate %40 RelaxedPrecision 72 OpDecorate %ic3D RelaxedPrecision 73 OpDecorate %ic3D Flat 74 OpDecorate %ic3D Location 2 75 OpDecorate %45 RelaxedPrecision 76 OpDecorate %ic1D RelaxedPrecision 77 OpDecorate %ic1D Flat 78 OpDecorate %ic1D Location 1 79 OpDecorate %48 RelaxedPrecision 80 OpDecorate %50 RelaxedPrecision 81 OpDecorate %f RelaxedPrecision 82 OpDecorate %s2DShadow RelaxedPrecision 83 OpDecorate %s2DShadow DescriptorSet 0 84 OpDecorate %s2DShadow Binding 5 85 OpDecorate %57 RelaxedPrecision 86 OpDecorate %58 RelaxedPrecision 87 OpDecorate %c1D RelaxedPrecision 88 OpDecorate %c1D Location 4 89 OpDecorate %61 RelaxedPrecision 90 OpDecorate %67 RelaxedPrecision 91 OpDecorate %68 RelaxedPrecision 92 OpDecorate %69 RelaxedPrecision 93 OpDecorate %70 RelaxedPrecision 94 OpDecorate %71 RelaxedPrecision 95 OpDecorate %sCube RelaxedPrecision 96 OpDecorate %sCube DescriptorSet 0 97 OpDecorate %sCube Binding 3 98 OpDecorate %76 RelaxedPrecision 99 OpDecorate %77 RelaxedPrecision 100 OpDecorate %78 RelaxedPrecision 101 OpDecorate %79 RelaxedPrecision 102 OpDecorate %80 RelaxedPrecision 103 OpDecorate %s2DArrayShadow RelaxedPrecision 104 OpDecorate %s2DArrayShadow DescriptorSet 0 105 OpDecorate %s2DArrayShadow Binding 7 106 OpDecorate %85 RelaxedPrecision 107 OpDecorate %86 RelaxedPrecision 108 OpDecorate %87 RelaxedPrecision 109 OpDecorate %88 RelaxedPrecision 110 OpDecorate %90 RelaxedPrecision 111 OpDecorate %91 RelaxedPrecision 112 OpDecorate %92 RelaxedPrecision 113 OpDecorate %93 RelaxedPrecision 114 OpDecorate %94 RelaxedPrecision 115 OpDecorate %95 RelaxedPrecision 116 OpDecorate %96 RelaxedPrecision 117 OpDecorate %97 RelaxedPrecision 118 OpDecorate %98 RelaxedPrecision 119 OpDecorate %99 RelaxedPrecision 120 OpDecorate %100 RelaxedPrecision 121 OpDecorate %iv RelaxedPrecision 122 OpDecorate %is2D RelaxedPrecision 123 OpDecorate %is2D DescriptorSet 0 124 OpDecorate %is2D Binding 8 125 OpDecorate %108 RelaxedPrecision 126 OpDecorate %109 RelaxedPrecision 127 OpDecorate %110 RelaxedPrecision 128 OpDecorate %111 RelaxedPrecision 129 OpDecorate %112 RelaxedPrecision 130 OpDecorate %115 RelaxedPrecision 131 OpDecorate %116 RelaxedPrecision 132 OpDecorate %117 RelaxedPrecision 133 OpDecorate %118 RelaxedPrecision 134 OpDecorate %119 RelaxedPrecision 135 OpDecorate %120 RelaxedPrecision 136 OpDecorate %121 RelaxedPrecision 137 OpDecorate %122 RelaxedPrecision 138 OpDecorate %123 RelaxedPrecision 139 OpDecorate %124 RelaxedPrecision 140 OpDecorate %is3D RelaxedPrecision 141 OpDecorate %is3D DescriptorSet 0 142 OpDecorate %is3D Binding 9 143 OpDecorate %129 RelaxedPrecision 144 OpDecorate %130 RelaxedPrecision 145 OpDecorate %132 RelaxedPrecision 146 OpDecorate %isCube RelaxedPrecision 147 OpDecorate %isCube DescriptorSet 0 148 OpDecorate %isCube Binding 10 149 OpDecorate %137 RelaxedPrecision 150 OpDecorate %138 RelaxedPrecision 151 OpDecorate %139 RelaxedPrecision 152 OpDecorate %140 RelaxedPrecision 153 OpDecorate %is2DArray RelaxedPrecision 154 OpDecorate %is2DArray DescriptorSet 0 155 OpDecorate %is2DArray Binding 11 156 OpDecorate %145 RelaxedPrecision 157 OpDecorate %146 RelaxedPrecision 158 OpDecorate %147 RelaxedPrecision 159 OpDecorate %149 RelaxedPrecision 160 OpDecorate %sCubeShadow RelaxedPrecision 161 OpDecorate %sCubeShadow DescriptorSet 0 162 OpDecorate %sCubeShadow Binding 4 163 OpDecorate %154 RelaxedPrecision 164 OpDecorate %us2D RelaxedPrecision 165 OpDecorate %us2D DescriptorSet 0 166 OpDecorate %us2D Binding 12 167 OpDecorate %us3D RelaxedPrecision 168 OpDecorate %us3D DescriptorSet 0 169 OpDecorate %us3D Binding 13 170 OpDecorate %usCube RelaxedPrecision 171 OpDecorate %usCube DescriptorSet 0 172 OpDecorate %usCube Binding 14 173 OpDecorate %us2DArray RelaxedPrecision 174 OpDecorate %us2DArray DescriptorSet 0 175 OpDecorate %us2DArray Binding 15 176 OpDecorate %ic4D RelaxedPrecision 177 OpDecorate %ic4D Flat 178 OpDecorate %ic4D Location 3 179 OpDecorate %65 RelaxedPrecision 180 OpMemberDecorate %S2 0 RelaxedPrecision 181 OpMemberDecorate %S2 1 RelaxedPrecision 182 OpDecorate %s2 Location 8 183 OpDecorate %sc RelaxedPrecision 184 OpDecorate %sc Location 0 185 OpDecorate %sf RelaxedPrecision 186 OpDecorate %sf Location 1 187 OpDecorate %arrayedSampler RelaxedPrecision 188 OpDecorate %arrayedSampler DescriptorSet 0 189 OpDecorate %arrayedSampler Binding 0 190 %void = OpTypeVoid 191 %3 = OpTypeFunction %void 192 %float = OpTypeFloat 32 193 %v4float = OpTypeVector %float 4 194%_ptr_Function_v4float = OpTypePointer Function %v4float 195 %10 = OpTypeImage %float 2D 0 0 0 1 Unknown 196 %11 = OpTypeSampledImage %10 197%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11 198 %s2D = OpVariable %_ptr_UniformConstant_11 UniformConstant 199 %v2float = OpTypeVector %float 2 200%_ptr_Input_v2float = OpTypePointer Input %v2float 201 %c2D = OpVariable %_ptr_Input_v2float Input 202 %20 = OpTypeImage %float 3D 0 0 0 1 Unknown 203 %21 = OpTypeSampledImage %20 204%_ptr_UniformConstant_21 = OpTypePointer UniformConstant %21 205 %s3D = OpVariable %_ptr_UniformConstant_21 UniformConstant 206%_ptr_Input_v4float = OpTypePointer Input %v4float 207 %c4D = OpVariable %_ptr_Input_v4float Input 208 %29 = OpTypeImage %float 2D 0 1 0 1 Unknown 209 %30 = OpTypeSampledImage %29 210%_ptr_UniformConstant_30 = OpTypePointer UniformConstant %30 211 %s2DArray = OpVariable %_ptr_UniformConstant_30 UniformConstant 212 %v3float = OpTypeVector %float 3 213%_ptr_Input_v3float = OpTypePointer Input %v3float 214 %c3D = OpVariable %_ptr_Input_v3float Input 215%float_1_20000005 = OpConstant %float 1.20000005 216 %int = OpTypeInt 32 1 217 %v3int = OpTypeVector %int 3 218%_ptr_Input_v3int = OpTypePointer Input %v3int 219 %ic3D = OpVariable %_ptr_Input_v3int Input 220%_ptr_Input_int = OpTypePointer Input %int 221 %ic1D = OpVariable %_ptr_Input_int Input 222%_ptr_Function_float = OpTypePointer Function %float 223 %53 = OpTypeImage %float 2D 1 0 0 1 Unknown 224 %54 = OpTypeSampledImage %53 225%_ptr_UniformConstant_54 = OpTypePointer UniformConstant %54 226 %s2DShadow = OpVariable %_ptr_UniformConstant_54 UniformConstant 227%_ptr_Input_float = OpTypePointer Input %float 228 %c1D = OpVariable %_ptr_Input_float Input 229 %v2int = OpTypeVector %int 2 230 %int_2 = OpConstant %int 2 231 %int_3 = OpConstant %int 3 232 %65 = OpConstantComposite %v2int %int_2 %int_3 233 %72 = OpTypeImage %float Cube 0 0 0 1 Unknown 234 %73 = OpTypeSampledImage %72 235%_ptr_UniformConstant_73 = OpTypePointer UniformConstant %73 236 %sCube = OpVariable %_ptr_UniformConstant_73 UniformConstant 237 %81 = OpTypeImage %float 2D 1 1 0 1 Unknown 238 %82 = OpTypeSampledImage %81 239%_ptr_UniformConstant_82 = OpTypePointer UniformConstant %82 240%s2DArrayShadow = OpVariable %_ptr_UniformConstant_82 UniformConstant 241 %v4int = OpTypeVector %int 4 242%_ptr_Function_v4int = OpTypePointer Function %v4int 243 %104 = OpTypeImage %int 2D 0 0 0 1 Unknown 244 %105 = OpTypeSampledImage %104 245%_ptr_UniformConstant_105 = OpTypePointer UniformConstant %105 246 %is2D = OpVariable %_ptr_UniformConstant_105 UniformConstant 247 %125 = OpTypeImage %int 3D 0 0 0 1 Unknown 248 %126 = OpTypeSampledImage %125 249%_ptr_UniformConstant_126 = OpTypePointer UniformConstant %126 250 %is3D = OpVariable %_ptr_UniformConstant_126 UniformConstant 251%float_4_19999981 = OpConstant %float 4.19999981 252 %133 = OpTypeImage %int Cube 0 0 0 1 Unknown 253 %134 = OpTypeSampledImage %133 254%_ptr_UniformConstant_134 = OpTypePointer UniformConstant %134 255 %isCube = OpVariable %_ptr_UniformConstant_134 UniformConstant 256 %141 = OpTypeImage %int 2D 0 1 0 1 Unknown 257 %142 = OpTypeSampledImage %141 258%_ptr_UniformConstant_142 = OpTypePointer UniformConstant %142 259 %is2DArray = OpVariable %_ptr_UniformConstant_142 UniformConstant 260 %150 = OpTypeImage %float Cube 1 0 0 1 Unknown 261 %151 = OpTypeSampledImage %150 262%_ptr_UniformConstant_151 = OpTypePointer UniformConstant %151 263%sCubeShadow = OpVariable %_ptr_UniformConstant_151 UniformConstant 264 %uint = OpTypeInt 32 0 265 %160 = OpTypeImage %uint 2D 0 0 0 1 Unknown 266 %161 = OpTypeSampledImage %160 267%_ptr_UniformConstant_161 = OpTypePointer UniformConstant %161 268 %us2D = OpVariable %_ptr_UniformConstant_161 UniformConstant 269 %164 = OpTypeImage %uint 3D 0 0 0 1 Unknown 270 %165 = OpTypeSampledImage %164 271%_ptr_UniformConstant_165 = OpTypePointer UniformConstant %165 272 %us3D = OpVariable %_ptr_UniformConstant_165 UniformConstant 273 %168 = OpTypeImage %uint Cube 0 0 0 1 Unknown 274 %169 = OpTypeSampledImage %168 275%_ptr_UniformConstant_169 = OpTypePointer UniformConstant %169 276 %usCube = OpVariable %_ptr_UniformConstant_169 UniformConstant 277 %172 = OpTypeImage %uint 2D 0 1 0 1 Unknown 278 %173 = OpTypeSampledImage %172 279%_ptr_UniformConstant_173 = OpTypePointer UniformConstant %173 280 %us2DArray = OpVariable %_ptr_UniformConstant_173 UniformConstant 281%_ptr_Input_v4int = OpTypePointer Input %v4int 282 %ic4D = OpVariable %_ptr_Input_v4int Input 283 %S2 = OpTypeStruct %v3float %float 284%_ptr_Input_S2 = OpTypePointer Input %S2 285 %s2 = OpVariable %_ptr_Input_S2 Input 286%_ptr_Output_v3float = OpTypePointer Output %v3float 287 %sc = OpVariable %_ptr_Output_v3float Output 288%_ptr_Output_float = OpTypePointer Output %float 289 %sf = OpVariable %_ptr_Output_float Output 290 %uint_5 = OpConstant %uint 5 291%_arr_11_uint_5 = OpTypeArray %11 %uint_5 292%_ptr_UniformConstant__arr_11_uint_5 = OpTypePointer UniformConstant %_arr_11_uint_5 293%arrayedSampler = OpVariable %_ptr_UniformConstant__arr_11_uint_5 UniformConstant 294 %main = OpFunction %void None %3 295 %5 = OpLabel 296 %v = OpVariable %_ptr_Function_v4float Function 297 %f = OpVariable %_ptr_Function_float Function 298 %iv = OpVariable %_ptr_Function_v4int Function 299 %14 = OpLoad %11 %s2D 300 %18 = OpLoad %v2float %c2D 301 %19 = OpImageSampleImplicitLod %v4float %14 %18 302 OpStore %v %19 303 %24 = OpLoad %21 %s3D 304 %27 = OpLoad %v4float %c4D 305 %28 = OpImageSampleProjImplicitLod %v4float %24 %27 306 OpStore %v %28 307 %33 = OpLoad %30 %s2DArray 308 %37 = OpLoad %v3float %c3D 309 %39 = OpImageSampleExplicitLod %v4float %33 %37 Lod %float_1_20000005 310 OpStore %v %39 311 %40 = OpLoad %21 %s3D 312 %45 = OpLoad %v3int %ic3D 313 %48 = OpLoad %int %ic1D 314 %49 = OpImage %20 %40 315 %50 = OpImageFetch %v4float %49 %45 Lod %48 316 OpStore %v %50 317 %57 = OpLoad %54 %s2DShadow 318 %58 = OpLoad %v3float %c3D 319 %61 = OpLoad %float %c1D 320 %66 = OpCompositeExtract %float %58 2 321 %67 = OpImageSampleDrefExplicitLod %float %57 %58 %66 Lod|ConstOffset %61 %65 322 OpStore %f %67 323 %68 = OpLoad %11 %s2D 324 %69 = OpLoad %v3float %c3D 325 %70 = OpLoad %float %c1D 326 %71 = OpImageSampleProjExplicitLod %v4float %68 %69 Lod|ConstOffset %70 %65 327 OpStore %v %71 328 %76 = OpLoad %73 %sCube 329 %77 = OpLoad %v3float %c3D 330 %78 = OpLoad %v3float %c3D 331 %79 = OpLoad %v3float %c3D 332 %80 = OpImageSampleExplicitLod %v4float %76 %77 Grad %78 %79 333 OpStore %v %80 334 %85 = OpLoad %82 %s2DArrayShadow 335 %86 = OpLoad %v4float %c4D 336 %87 = OpLoad %v2float %c2D 337 %88 = OpLoad %v2float %c2D 338 %89 = OpCompositeExtract %float %86 3 339 %90 = OpImageSampleDrefExplicitLod %float %85 %86 %89 Grad|ConstOffset %87 %88 %65 340 OpStore %f %90 341 %91 = OpLoad %21 %s3D 342 %92 = OpLoad %v4float %c4D 343 %93 = OpLoad %v3float %c3D 344 %94 = OpLoad %v3float %c3D 345 %95 = OpImageSampleProjExplicitLod %v4float %91 %92 Grad %93 %94 346 OpStore %v %95 347 %96 = OpLoad %11 %s2D 348 %97 = OpLoad %v3float %c3D 349 %98 = OpLoad %v2float %c2D 350 %99 = OpLoad %v2float %c2D 351 %100 = OpImageSampleProjExplicitLod %v4float %96 %97 Grad|ConstOffset %98 %99 %65 352 OpStore %v %100 353 %108 = OpLoad %105 %is2D 354 %109 = OpLoad %v2float %c2D 355 %110 = OpImageSampleImplicitLod %v4int %108 %109 356 OpStore %iv %110 357 %111 = OpLoad %105 %is2D 358 %112 = OpLoad %v4float %c4D 359 %113 = OpCompositeExtract %float %112 3 360 %114 = OpCompositeInsert %v4float %113 %112 2 361 %115 = OpImageSampleProjImplicitLod %v4int %111 %114 ConstOffset %65 362 OpStore %iv %115 363 %116 = OpLoad %105 %is2D 364 %117 = OpLoad %v3float %c3D 365 %118 = OpLoad %float %c1D 366 %119 = OpImageSampleProjExplicitLod %v4int %116 %117 Lod %118 367 OpStore %iv %119 368 %120 = OpLoad %105 %is2D 369 %121 = OpLoad %v3float %c3D 370 %122 = OpLoad %v2float %c2D 371 %123 = OpLoad %v2float %c2D 372 %124 = OpImageSampleProjExplicitLod %v4int %120 %121 Grad %122 %123 373 OpStore %iv %124 374 %129 = OpLoad %126 %is3D 375 %130 = OpLoad %v3float %c3D 376 %132 = OpImageSampleImplicitLod %v4int %129 %130 Bias %float_4_19999981 377 OpStore %iv %132 378 %137 = OpLoad %134 %isCube 379 %138 = OpLoad %v3float %c3D 380 %139 = OpLoad %float %c1D 381 %140 = OpImageSampleExplicitLod %v4int %137 %138 Lod %139 382 OpStore %iv %140 383 %145 = OpLoad %142 %is2DArray 384 %146 = OpLoad %v3int %ic3D 385 %147 = OpLoad %int %ic1D 386 %148 = OpImage %141 %145 387 %149 = OpImageFetch %v4int %148 %146 Lod %147 388 OpStore %iv %149 389 %154 = OpLoad %151 %sCubeShadow 390 %155 = OpImage %150 %154 391 %156 = OpImageQuerySizeLod %v2int %155 %int_2 392 %157 = OpLoad %v4int %iv 393 %158 = OpVectorShuffle %v4int %157 %156 4 5 2 3 394 OpStore %iv %158 395 OpReturn 396 OpFunctionEnd 397