1; SPIR-V 2; Version: 1.3 3; Generator: Khronos Glslang Reference Front End; 6 4; Bound: 247 5; Schema: 0 6 OpCapability Shader 7 OpCapability Sampled1D 8 OpCapability SampledCubeArray 9 OpCapability SampledBuffer 10 %1 = OpExtInstImport "GLSL.std.450" 11 OpMemoryModel Logical GLSL450 12 OpEntryPoint Fragment %main "main" 13 OpExecutionMode %main OriginUpperLeft 14 OpSource GLSL 450 15 OpName %main "main" 16 OpName %c "c" 17 OpName %tex1d "tex1d" 18 OpName %tex2d "tex2d" 19 OpName %tex3d "tex3d" 20 OpName %texCube "texCube" 21 OpName %tex2dArray "tex2dArray" 22 OpName %texCubeArray "texCubeArray" 23 OpName %depth2d "depth2d" 24 OpName %depthCube "depthCube" 25 OpName %depth2dArray "depth2dArray" 26 OpName %depthCubeArray "depthCubeArray" 27 OpName %texBuffer "texBuffer" 28 OpName %tex1dSamp "tex1dSamp" 29 OpName %tex2dSamp "tex2dSamp" 30 OpName %tex3dSamp "tex3dSamp" 31 OpName %texCubeSamp "texCubeSamp" 32 OpName %tex2dArraySamp "tex2dArraySamp" 33 OpName %texCubeArraySamp "texCubeArraySamp" 34 OpName %depth2dSamp "depth2dSamp" 35 OpName %depthCubeSamp "depthCubeSamp" 36 OpName %depth2dArraySamp "depth2dArraySamp" 37 OpName %depthCubeArraySamp "depthCubeArraySamp" 38 OpDecorate %tex1d DescriptorSet 0 39 OpDecorate %tex1d Binding 0 40 OpDecorate %tex2d DescriptorSet 0 41 OpDecorate %tex2d Binding 1 42 OpDecorate %tex3d DescriptorSet 0 43 OpDecorate %tex3d Binding 2 44 OpDecorate %texCube DescriptorSet 0 45 OpDecorate %texCube Binding 3 46 OpDecorate %tex2dArray DescriptorSet 0 47 OpDecorate %tex2dArray Binding 4 48 OpDecorate %texCubeArray DescriptorSet 0 49 OpDecorate %texCubeArray Binding 5 50 OpDecorate %depth2d DescriptorSet 0 51 OpDecorate %depth2d Binding 7 52 OpDecorate %depthCube DescriptorSet 0 53 OpDecorate %depthCube Binding 8 54 OpDecorate %depth2dArray DescriptorSet 0 55 OpDecorate %depth2dArray Binding 9 56 OpDecorate %depthCubeArray DescriptorSet 0 57 OpDecorate %depthCubeArray Binding 10 58 OpDecorate %texBuffer DescriptorSet 0 59 OpDecorate %texBuffer Binding 6 60 OpDecorate %tex1dSamp DescriptorSet 1 61 OpDecorate %tex1dSamp Binding 0 62 OpDecorate %tex2dSamp DescriptorSet 1 63 OpDecorate %tex2dSamp Binding 1 64 OpDecorate %tex3dSamp DescriptorSet 1 65 OpDecorate %tex3dSamp Binding 2 66 OpDecorate %texCubeSamp DescriptorSet 1 67 OpDecorate %texCubeSamp Binding 3 68 OpDecorate %tex2dArraySamp DescriptorSet 1 69 OpDecorate %tex2dArraySamp Binding 4 70 OpDecorate %texCubeArraySamp DescriptorSet 1 71 OpDecorate %texCubeArraySamp Binding 5 72 OpDecorate %depth2dSamp DescriptorSet 1 73 OpDecorate %depth2dSamp Binding 7 74 OpDecorate %depthCubeSamp DescriptorSet 1 75 OpDecorate %depthCubeSamp Binding 8 76 OpDecorate %depth2dArraySamp DescriptorSet 1 77 OpDecorate %depth2dArraySamp Binding 9 78 OpDecorate %depthCubeArraySamp DescriptorSet 1 79 OpDecorate %depthCubeArraySamp Binding 10 80 %void = OpTypeVoid 81 %3 = OpTypeFunction %void 82 %float = OpTypeFloat 32 83 %v4float = OpTypeVector %float 4 84%_ptr_Function_v4float = OpTypePointer Function %v4float 85 %10 = OpTypeImage %float 1D 0 0 0 1 Unknown 86 %11 = OpTypeSampledImage %10 87 %12 = OpTypeSampler 88%_ptr_UniformConstant_10 = OpTypePointer UniformConstant %10 89 %tex1d = OpVariable %_ptr_UniformConstant_10 UniformConstant 90%_ptr_UniformConstant_12 = OpTypePointer UniformConstant %12 91 %tex1dSamp = OpVariable %_ptr_UniformConstant_12 UniformConstant 92 %float_0 = OpConstant %float 0 93 %17 = OpTypeImage %float 2D 0 0 0 1 Unknown 94 %18 = OpTypeSampledImage %17 95%_ptr_UniformConstant_17 = OpTypePointer UniformConstant %17 96 %tex2d = OpVariable %_ptr_UniformConstant_17 UniformConstant 97 %tex2dSamp = OpVariable %_ptr_UniformConstant_12 UniformConstant 98 %v2float = OpTypeVector %float 2 99 %23 = OpConstantComposite %v2float %float_0 %float_0 100 %25 = OpTypeImage %float 3D 0 0 0 1 Unknown 101 %26 = OpTypeSampledImage %25 102%_ptr_UniformConstant_25 = OpTypePointer UniformConstant %25 103 %tex3d = OpVariable %_ptr_UniformConstant_25 UniformConstant 104 %tex3dSamp = OpVariable %_ptr_UniformConstant_12 UniformConstant 105 %v3float = OpTypeVector %float 3 106 %31 = OpConstantComposite %v3float %float_0 %float_0 %float_0 107 %33 = OpTypeImage %float Cube 0 0 0 1 Unknown 108 %34 = OpTypeSampledImage %33 109%_ptr_UniformConstant_33 = OpTypePointer UniformConstant %33 110 %texCube = OpVariable %_ptr_UniformConstant_33 UniformConstant 111%texCubeSamp = OpVariable %_ptr_UniformConstant_12 UniformConstant 112 %39 = OpTypeImage %float 2D 0 1 0 1 Unknown 113 %40 = OpTypeSampledImage %39 114%_ptr_UniformConstant_39 = OpTypePointer UniformConstant %39 115 %tex2dArray = OpVariable %_ptr_UniformConstant_39 UniformConstant 116%tex2dArraySamp = OpVariable %_ptr_UniformConstant_12 UniformConstant 117 %45 = OpTypeImage %float Cube 0 1 0 1 Unknown 118 %46 = OpTypeSampledImage %45 119%_ptr_UniformConstant_45 = OpTypePointer UniformConstant %45 120%texCubeArray = OpVariable %_ptr_UniformConstant_45 UniformConstant 121%texCubeArraySamp = OpVariable %_ptr_UniformConstant_12 UniformConstant 122 %50 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0 123 %52 = OpTypeImage %float 2D 1 0 0 1 Unknown 124 %53 = OpTypeSampledImage %52 125%_ptr_UniformConstant_52 = OpTypePointer UniformConstant %52 126 %depth2d = OpVariable %_ptr_UniformConstant_52 UniformConstant 127%depth2dSamp = OpVariable %_ptr_UniformConstant_12 UniformConstant 128 %float_1 = OpConstant %float 1 129 %58 = OpConstantComposite %v3float %float_0 %float_0 %float_1 130 %uint = OpTypeInt 32 0 131 %uint_0 = OpConstant %uint 0 132%_ptr_Function_float = OpTypePointer Function %float 133 %65 = OpTypeImage %float Cube 1 0 0 1 Unknown 134 %66 = OpTypeSampledImage %65 135%_ptr_UniformConstant_65 = OpTypePointer UniformConstant %65 136 %depthCube = OpVariable %_ptr_UniformConstant_65 UniformConstant 137%depthCubeSamp = OpVariable %_ptr_UniformConstant_12 UniformConstant 138 %70 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1 139 %74 = OpTypeImage %float 2D 1 1 0 1 Unknown 140 %75 = OpTypeSampledImage %74 141%_ptr_UniformConstant_74 = OpTypePointer UniformConstant %74 142%depth2dArray = OpVariable %_ptr_UniformConstant_74 UniformConstant 143%depth2dArraySamp = OpVariable %_ptr_UniformConstant_12 UniformConstant 144 %82 = OpTypeImage %float Cube 1 1 0 1 Unknown 145 %83 = OpTypeSampledImage %82 146%_ptr_UniformConstant_82 = OpTypePointer UniformConstant %82 147%depthCubeArray = OpVariable %_ptr_UniformConstant_82 UniformConstant 148%depthCubeArraySamp = OpVariable %_ptr_UniformConstant_12 UniformConstant 149 %97 = OpConstantComposite %v2float %float_0 %float_1 150 %98 = OpConstantComposite %v4float %float_0 %float_0 %float_1 %float_1 151 %int = OpTypeInt 32 1 152 %int_0 = OpConstant %int 0 153 %v2int = OpTypeVector %int 2 154 %138 = OpConstantComposite %v2int %int_0 %int_0 155 %v3int = OpTypeVector %int 3 156 %143 = OpConstantComposite %v3int %int_0 %int_0 %int_0 157 %149 = OpTypeImage %float Buffer 0 0 0 1 Unknown 158%_ptr_UniformConstant_149 = OpTypePointer UniformConstant %149 159 %texBuffer = OpVariable %_ptr_UniformConstant_149 UniformConstant 160 %int_1 = OpConstant %int 1 161 %int_2 = OpConstant %int 2 162 %int_3 = OpConstant %int 3 163 %main = OpFunction %void None %3 164 %5 = OpLabel 165 %c = OpVariable %_ptr_Function_v4float Function 166 %13 = OpLoad %10 %tex1d 167 %14 = OpLoad %12 %tex1dSamp 168 %15 = OpSampledImage %11 %13 %14 169 %16 = OpImageSampleImplicitLod %v4float %15 %float_0 170 OpStore %c %16 171 %19 = OpLoad %17 %tex2d 172 %20 = OpLoad %12 %tex2dSamp 173 %21 = OpSampledImage %18 %19 %20 174 %24 = OpImageSampleImplicitLod %v4float %21 %23 175 OpStore %c %24 176 %27 = OpLoad %25 %tex3d 177 %28 = OpLoad %12 %tex3dSamp 178 %29 = OpSampledImage %26 %27 %28 179 %32 = OpImageSampleImplicitLod %v4float %29 %31 180 OpStore %c %32 181 %35 = OpLoad %33 %texCube 182 %36 = OpLoad %12 %texCubeSamp 183 %37 = OpSampledImage %34 %35 %36 184 %38 = OpImageSampleImplicitLod %v4float %37 %31 185 OpStore %c %38 186 %41 = OpLoad %39 %tex2dArray 187 %42 = OpLoad %12 %tex2dArraySamp 188 %43 = OpSampledImage %40 %41 %42 189 %44 = OpImageSampleImplicitLod %v4float %43 %31 190 OpStore %c %44 191 %47 = OpLoad %45 %texCubeArray 192 %48 = OpLoad %12 %texCubeArraySamp 193 %49 = OpSampledImage %46 %47 %48 194 %51 = OpImageSampleImplicitLod %v4float %49 %50 195 OpStore %c %51 196 %54 = OpLoad %52 %depth2d 197 %55 = OpLoad %12 %depth2dSamp 198 %56 = OpSampledImage %53 %54 %55 199 %59 = OpCompositeExtract %float %58 2 200 %60 = OpImageSampleDrefImplicitLod %float %56 %58 %59 201 %64 = OpAccessChain %_ptr_Function_float %c %uint_0 202 OpStore %64 %60 203 %67 = OpLoad %65 %depthCube 204 %68 = OpLoad %12 %depthCubeSamp 205 %69 = OpSampledImage %66 %67 %68 206 %71 = OpCompositeExtract %float %70 3 207 %72 = OpImageSampleDrefImplicitLod %float %69 %70 %71 208 %73 = OpAccessChain %_ptr_Function_float %c %uint_0 209 OpStore %73 %72 210 %76 = OpLoad %74 %depth2dArray 211 %77 = OpLoad %12 %depth2dArraySamp 212 %78 = OpSampledImage %75 %76 %77 213 %79 = OpCompositeExtract %float %70 3 214 %80 = OpImageSampleDrefImplicitLod %float %78 %70 %79 215 %81 = OpAccessChain %_ptr_Function_float %c %uint_0 216 OpStore %81 %80 217 %84 = OpLoad %82 %depthCubeArray 218 %85 = OpLoad %12 %depthCubeArraySamp 219 %86 = OpSampledImage %83 %84 %85 220 %87 = OpImageSampleDrefImplicitLod %float %86 %50 %float_1 221 %88 = OpAccessChain %_ptr_Function_float %c %uint_0 222 OpStore %88 %87 223 %89 = OpLoad %10 %tex1d 224 %90 = OpLoad %12 %tex1dSamp 225 %91 = OpSampledImage %11 %89 %90 226 %92 = OpImageSampleProjImplicitLod %v4float %91 %97 227 OpStore %c %92 228 %93 = OpLoad %17 %tex2d 229 %94 = OpLoad %12 %tex2dSamp 230 %95 = OpSampledImage %18 %93 %94 231 %96 = OpImageSampleProjImplicitLod %v4float %95 %58 232 OpStore %c %96 233 %99 = OpLoad %25 %tex3d 234 %100 = OpLoad %12 %tex3dSamp 235 %101 = OpSampledImage %26 %99 %100 236 %102 = OpImageSampleProjImplicitLod %v4float %101 %70 237 OpStore %c %102 238 %103 = OpLoad %52 %depth2d 239 %104 = OpLoad %12 %depth2dSamp 240 %105 = OpSampledImage %53 %103 %104 241 %106 = OpCompositeExtract %float %98 2 242 %107 = OpCompositeExtract %float %98 3 243 %108 = OpCompositeInsert %v4float %107 %98 2 244 %109 = OpImageSampleProjDrefImplicitLod %float %105 %108 %106 245 %110 = OpAccessChain %_ptr_Function_float %c %uint_0 246 OpStore %110 %109 247 %111 = OpLoad %10 %tex1d 248 %112 = OpLoad %12 %tex1dSamp 249 %113 = OpSampledImage %11 %111 %112 250 %114 = OpImageSampleExplicitLod %v4float %113 %float_0 Lod %float_0 251 OpStore %c %114 252 %115 = OpLoad %17 %tex2d 253 %116 = OpLoad %12 %tex2dSamp 254 %117 = OpSampledImage %18 %115 %116 255 %118 = OpImageSampleExplicitLod %v4float %117 %23 Lod %float_0 256 OpStore %c %118 257 %119 = OpLoad %25 %tex3d 258 %120 = OpLoad %12 %tex3dSamp 259 %121 = OpSampledImage %26 %119 %120 260 %122 = OpImageSampleExplicitLod %v4float %121 %31 Lod %float_0 261 OpStore %c %122 262 %123 = OpLoad %33 %texCube 263 %124 = OpLoad %12 %texCubeSamp 264 %125 = OpSampledImage %34 %123 %124 265 %126 = OpImageSampleExplicitLod %v4float %125 %31 Lod %float_0 266 OpStore %c %126 267 %127 = OpLoad %39 %tex2dArray 268 %128 = OpLoad %12 %tex2dArraySamp 269 %129 = OpSampledImage %40 %127 %128 270 %130 = OpImageSampleExplicitLod %v4float %129 %31 Lod %float_0 271 OpStore %c %130 272 %131 = OpLoad %45 %texCubeArray 273 %132 = OpLoad %12 %texCubeArraySamp 274 %133 = OpSampledImage %46 %131 %132 275 %134 = OpImageSampleExplicitLod %v4float %133 %50 Lod %float_0 276 OpStore %c %134 277 %135 = OpLoad %52 %depth2d 278 %136 = OpLoad %12 %depth2dSamp 279 %137 = OpSampledImage %53 %135 %136 280 %139 = OpCompositeExtract %float %58 2 281 %140 = OpImageSampleDrefExplicitLod %float %137 %58 %139 Lod %float_0 282 %141 = OpAccessChain %_ptr_Function_float %c %uint_0 283 OpStore %141 %140 284 %142 = OpLoad %10 %tex1d 285 %144 = OpLoad %12 %tex1dSamp 286 %145 = OpSampledImage %11 %142 %144 287 %146 = OpImageSampleProjExplicitLod %v4float %145 %97 Lod %float_0 288 OpStore %c %146 289 %147 = OpLoad %17 %tex2d 290 %148 = OpLoad %12 %tex2dSamp 291 %150 = OpSampledImage %18 %147 %148 292 %151 = OpImageSampleProjExplicitLod %v4float %150 %58 Lod %float_0 293 OpStore %c %151 294 %152 = OpLoad %25 %tex3d 295 %153 = OpLoad %12 %tex3dSamp 296 %154 = OpSampledImage %26 %152 %153 297 %155 = OpImageSampleProjExplicitLod %v4float %154 %70 Lod %float_0 298 OpStore %c %155 299 %156 = OpLoad %52 %depth2d 300 %157 = OpLoad %12 %depth2dSamp 301 %158 = OpSampledImage %53 %156 %157 302 %159 = OpCompositeExtract %float %98 2 303 %160 = OpCompositeExtract %float %98 3 304 %161 = OpCompositeInsert %v4float %160 %98 2 305 %162 = OpImageSampleProjDrefExplicitLod %float %158 %161 %159 Lod %float_0 306 %163 = OpAccessChain %_ptr_Function_float %c %uint_0 307 OpStore %163 %162 308 %164 = OpLoad %10 %tex1d 309 %165 = OpImageFetch %v4float %164 %int_0 Lod %int_0 310 OpStore %c %165 311 %166 = OpLoad %17 %tex2d 312 %167 = OpImageFetch %v4float %166 %138 Lod %int_0 313 OpStore %c %167 314 %168 = OpLoad %25 %tex3d 315 %169 = OpImageFetch %v4float %168 %143 Lod %int_0 316 OpStore %c %169 317 %170 = OpLoad %39 %tex2dArray 318 %171 = OpImageFetch %v4float %170 %143 Lod %int_0 319 OpStore %c %171 320 %172 = OpLoad %149 %texBuffer 321 %173 = OpImageFetch %v4float %172 %int_0 322 OpStore %c %173 323 %174 = OpLoad %17 %tex2d 324 %175 = OpLoad %12 %tex2dSamp 325 %176 = OpSampledImage %18 %174 %175 326 %177 = OpImageGather %v4float %176 %23 %int_0 327 OpStore %c %177 328 %178 = OpLoad %33 %texCube 329 %179 = OpLoad %12 %texCubeSamp 330 %180 = OpSampledImage %34 %178 %179 331 %181 = OpImageGather %v4float %180 %31 %int_1 332 OpStore %c %181 333 %182 = OpLoad %39 %tex2dArray 334 %183 = OpLoad %12 %tex2dArraySamp 335 %184 = OpSampledImage %40 %182 %183 336 %185 = OpImageGather %v4float %184 %31 %int_2 337 OpStore %c %185 338 %186 = OpLoad %45 %texCubeArray 339 %187 = OpLoad %12 %texCubeArraySamp 340 %188 = OpSampledImage %46 %186 %187 341 %189 = OpImageGather %v4float %188 %50 %int_3 342 OpStore %c %189 343 %190 = OpLoad %52 %depth2d 344 %191 = OpLoad %12 %depth2dSamp 345 %192 = OpSampledImage %53 %190 %191 346 %193 = OpImageDrefGather %v4float %192 %23 %float_1 347 OpStore %c %193 348 %194 = OpLoad %65 %depthCube 349 %195 = OpLoad %12 %depthCubeSamp 350 %196 = OpSampledImage %66 %194 %195 351 %197 = OpImageDrefGather %v4float %196 %31 %float_1 352 OpStore %c %197 353 %198 = OpLoad %74 %depth2dArray 354 %199 = OpLoad %12 %depth2dArraySamp 355 %200 = OpSampledImage %75 %198 %199 356 %201 = OpImageDrefGather %v4float %200 %31 %float_1 357 OpStore %c %201 358 %202 = OpLoad %82 %depthCubeArray 359 %203 = OpLoad %12 %depthCubeArraySamp 360 %204 = OpSampledImage %83 %202 %203 361 %205 = OpImageDrefGather %v4float %204 %50 %float_1 362 OpStore %c %205 363 OpReturn 364 OpFunctionEnd 365