397 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			397 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ; SPIR-V
 | |
| ; Version: 1.0
 | |
| ; Generator: Khronos Glslang Reference Front End; 8
 | |
| ; Bound: 189
 | |
| ; Schema: 0
 | |
|                OpCapability Shader
 | |
|                OpCapability ImageQuery
 | |
|           %1 = OpExtInstImport "GLSL.std.450"
 | |
|                OpMemoryModel Logical GLSL450
 | |
|                OpEntryPoint Fragment %main "main" %c2D %c4D %c3D %ic3D %ic1D %c1D %ic4D %s2 %sc %sf
 | |
|                OpExecutionMode %main OriginUpperLeft
 | |
|                OpSource ESSL 310
 | |
|                OpName %main "main"
 | |
|                OpName %v "v"
 | |
|                OpName %s2D "s2D"
 | |
|                OpName %c2D "c2D"
 | |
|                OpName %s3D "s3D"
 | |
|                OpName %c4D "c4D"
 | |
|                OpName %s2DArray "s2DArray"
 | |
|                OpName %c3D "c3D"
 | |
|                OpName %ic3D "ic3D"
 | |
|                OpName %ic1D "ic1D"
 | |
|                OpName %f "f"
 | |
|                OpName %s2DShadow "s2DShadow"
 | |
|                OpName %c1D "c1D"
 | |
|                OpName %sCube "sCube"
 | |
|                OpName %s2DArrayShadow "s2DArrayShadow"
 | |
|                OpName %iv "iv"
 | |
|                OpName %is2D "is2D"
 | |
|                OpName %is3D "is3D"
 | |
|                OpName %isCube "isCube"
 | |
|                OpName %is2DArray "is2DArray"
 | |
|                OpName %sCubeShadow "sCubeShadow"
 | |
|                OpName %us2D "us2D"
 | |
|                OpName %us3D "us3D"
 | |
|                OpName %usCube "usCube"
 | |
|                OpName %us2DArray "us2DArray"
 | |
|                OpName %ic4D "ic4D"
 | |
|                OpName %S2 "S2"
 | |
|                OpMemberName %S2 0 "c"
 | |
|                OpMemberName %S2 1 "f"
 | |
|                OpName %s2 "s2"
 | |
|                OpName %sc "sc"
 | |
|                OpName %sf "sf"
 | |
|                OpName %arrayedSampler "arrayedSampler"
 | |
|                OpDecorate %v RelaxedPrecision
 | |
|                OpDecorate %s2D RelaxedPrecision
 | |
|                OpDecorate %s2D DescriptorSet 0
 | |
|                OpDecorate %s2D Binding 1
 | |
|                OpDecorate %14 RelaxedPrecision
 | |
|                OpDecorate %c2D RelaxedPrecision
 | |
|                OpDecorate %c2D Location 5
 | |
|                OpDecorate %18 RelaxedPrecision
 | |
|                OpDecorate %19 RelaxedPrecision
 | |
|                OpDecorate %s3D RelaxedPrecision
 | |
|                OpDecorate %s3D DescriptorSet 0
 | |
|                OpDecorate %s3D Binding 2
 | |
|                OpDecorate %24 RelaxedPrecision
 | |
|                OpDecorate %c4D RelaxedPrecision
 | |
|                OpDecorate %c4D Location 7
 | |
|                OpDecorate %27 RelaxedPrecision
 | |
|                OpDecorate %28 RelaxedPrecision
 | |
|                OpDecorate %s2DArray RelaxedPrecision
 | |
|                OpDecorate %s2DArray DescriptorSet 0
 | |
|                OpDecorate %s2DArray Binding 6
 | |
|                OpDecorate %33 RelaxedPrecision
 | |
|                OpDecorate %c3D RelaxedPrecision
 | |
|                OpDecorate %c3D Location 6
 | |
|                OpDecorate %37 RelaxedPrecision
 | |
|                OpDecorate %39 RelaxedPrecision
 | |
|                OpDecorate %40 RelaxedPrecision
 | |
|                OpDecorate %ic3D RelaxedPrecision
 | |
|                OpDecorate %ic3D Flat
 | |
|                OpDecorate %ic3D Location 2
 | |
|                OpDecorate %45 RelaxedPrecision
 | |
|                OpDecorate %ic1D RelaxedPrecision
 | |
|                OpDecorate %ic1D Flat
 | |
|                OpDecorate %ic1D Location 1
 | |
|                OpDecorate %48 RelaxedPrecision
 | |
|                OpDecorate %50 RelaxedPrecision
 | |
|                OpDecorate %f RelaxedPrecision
 | |
|                OpDecorate %s2DShadow RelaxedPrecision
 | |
|                OpDecorate %s2DShadow DescriptorSet 0
 | |
|                OpDecorate %s2DShadow Binding 5
 | |
|                OpDecorate %57 RelaxedPrecision
 | |
|                OpDecorate %58 RelaxedPrecision
 | |
|                OpDecorate %c1D RelaxedPrecision
 | |
|                OpDecorate %c1D Location 4
 | |
|                OpDecorate %61 RelaxedPrecision
 | |
|                OpDecorate %67 RelaxedPrecision
 | |
|                OpDecorate %68 RelaxedPrecision
 | |
|                OpDecorate %69 RelaxedPrecision
 | |
|                OpDecorate %70 RelaxedPrecision
 | |
|                OpDecorate %71 RelaxedPrecision
 | |
|                OpDecorate %sCube RelaxedPrecision
 | |
|                OpDecorate %sCube DescriptorSet 0
 | |
|                OpDecorate %sCube Binding 3
 | |
|                OpDecorate %76 RelaxedPrecision
 | |
|                OpDecorate %77 RelaxedPrecision
 | |
|                OpDecorate %78 RelaxedPrecision
 | |
|                OpDecorate %79 RelaxedPrecision
 | |
|                OpDecorate %80 RelaxedPrecision
 | |
|                OpDecorate %s2DArrayShadow RelaxedPrecision
 | |
|                OpDecorate %s2DArrayShadow DescriptorSet 0
 | |
|                OpDecorate %s2DArrayShadow Binding 7
 | |
|                OpDecorate %85 RelaxedPrecision
 | |
|                OpDecorate %86 RelaxedPrecision
 | |
|                OpDecorate %87 RelaxedPrecision
 | |
|                OpDecorate %88 RelaxedPrecision
 | |
|                OpDecorate %90 RelaxedPrecision
 | |
|                OpDecorate %91 RelaxedPrecision
 | |
|                OpDecorate %92 RelaxedPrecision
 | |
|                OpDecorate %93 RelaxedPrecision
 | |
|                OpDecorate %94 RelaxedPrecision
 | |
|                OpDecorate %95 RelaxedPrecision
 | |
|                OpDecorate %96 RelaxedPrecision
 | |
|                OpDecorate %97 RelaxedPrecision
 | |
|                OpDecorate %98 RelaxedPrecision
 | |
|                OpDecorate %99 RelaxedPrecision
 | |
|                OpDecorate %100 RelaxedPrecision
 | |
|                OpDecorate %iv RelaxedPrecision
 | |
|                OpDecorate %is2D RelaxedPrecision
 | |
|                OpDecorate %is2D DescriptorSet 0
 | |
|                OpDecorate %is2D Binding 8
 | |
|                OpDecorate %108 RelaxedPrecision
 | |
|                OpDecorate %109 RelaxedPrecision
 | |
|                OpDecorate %110 RelaxedPrecision
 | |
|                OpDecorate %111 RelaxedPrecision
 | |
|                OpDecorate %112 RelaxedPrecision
 | |
|                OpDecorate %115 RelaxedPrecision
 | |
|                OpDecorate %116 RelaxedPrecision
 | |
|                OpDecorate %117 RelaxedPrecision
 | |
|                OpDecorate %118 RelaxedPrecision
 | |
|                OpDecorate %119 RelaxedPrecision
 | |
|                OpDecorate %120 RelaxedPrecision
 | |
|                OpDecorate %121 RelaxedPrecision
 | |
|                OpDecorate %122 RelaxedPrecision
 | |
|                OpDecorate %123 RelaxedPrecision
 | |
|                OpDecorate %124 RelaxedPrecision
 | |
|                OpDecorate %is3D RelaxedPrecision
 | |
|                OpDecorate %is3D DescriptorSet 0
 | |
|                OpDecorate %is3D Binding 9
 | |
|                OpDecorate %129 RelaxedPrecision
 | |
|                OpDecorate %130 RelaxedPrecision
 | |
|                OpDecorate %132 RelaxedPrecision
 | |
|                OpDecorate %isCube RelaxedPrecision
 | |
|                OpDecorate %isCube DescriptorSet 0
 | |
|                OpDecorate %isCube Binding 10
 | |
|                OpDecorate %137 RelaxedPrecision
 | |
|                OpDecorate %138 RelaxedPrecision
 | |
|                OpDecorate %139 RelaxedPrecision
 | |
|                OpDecorate %140 RelaxedPrecision
 | |
|                OpDecorate %is2DArray RelaxedPrecision
 | |
|                OpDecorate %is2DArray DescriptorSet 0
 | |
|                OpDecorate %is2DArray Binding 11
 | |
|                OpDecorate %145 RelaxedPrecision
 | |
|                OpDecorate %146 RelaxedPrecision
 | |
|                OpDecorate %147 RelaxedPrecision
 | |
|                OpDecorate %149 RelaxedPrecision
 | |
|                OpDecorate %sCubeShadow RelaxedPrecision
 | |
|                OpDecorate %sCubeShadow DescriptorSet 0
 | |
|                OpDecorate %sCubeShadow Binding 4
 | |
|                OpDecorate %154 RelaxedPrecision
 | |
|                OpDecorate %us2D RelaxedPrecision
 | |
|                OpDecorate %us2D DescriptorSet 0
 | |
|                OpDecorate %us2D Binding 12
 | |
|                OpDecorate %us3D RelaxedPrecision
 | |
|                OpDecorate %us3D DescriptorSet 0
 | |
|                OpDecorate %us3D Binding 13
 | |
|                OpDecorate %usCube RelaxedPrecision
 | |
|                OpDecorate %usCube DescriptorSet 0
 | |
|                OpDecorate %usCube Binding 14
 | |
|                OpDecorate %us2DArray RelaxedPrecision
 | |
|                OpDecorate %us2DArray DescriptorSet 0
 | |
|                OpDecorate %us2DArray Binding 15
 | |
|                OpDecorate %ic4D RelaxedPrecision
 | |
|                OpDecorate %ic4D Flat
 | |
|                OpDecorate %ic4D Location 3
 | |
|                OpDecorate %65 RelaxedPrecision
 | |
|                OpMemberDecorate %S2 0 RelaxedPrecision
 | |
|                OpMemberDecorate %S2 1 RelaxedPrecision
 | |
|                OpDecorate %s2 Location 8
 | |
|                OpDecorate %sc RelaxedPrecision
 | |
|                OpDecorate %sc Location 0
 | |
|                OpDecorate %sf RelaxedPrecision
 | |
|                OpDecorate %sf Location 1
 | |
|                OpDecorate %arrayedSampler RelaxedPrecision
 | |
|                OpDecorate %arrayedSampler DescriptorSet 0
 | |
|                OpDecorate %arrayedSampler Binding 0
 | |
|        %void = OpTypeVoid
 | |
|           %3 = OpTypeFunction %void
 | |
|       %float = OpTypeFloat 32
 | |
|     %v4float = OpTypeVector %float 4
 | |
| %_ptr_Function_v4float = OpTypePointer Function %v4float
 | |
|          %10 = OpTypeImage %float 2D 0 0 0 1 Unknown
 | |
|          %11 = OpTypeSampledImage %10
 | |
| %_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11
 | |
|         %s2D = OpVariable %_ptr_UniformConstant_11 UniformConstant
 | |
|     %v2float = OpTypeVector %float 2
 | |
| %_ptr_Input_v2float = OpTypePointer Input %v2float
 | |
|         %c2D = OpVariable %_ptr_Input_v2float Input
 | |
|          %20 = OpTypeImage %float 3D 0 0 0 1 Unknown
 | |
|          %21 = OpTypeSampledImage %20
 | |
| %_ptr_UniformConstant_21 = OpTypePointer UniformConstant %21
 | |
|         %s3D = OpVariable %_ptr_UniformConstant_21 UniformConstant
 | |
| %_ptr_Input_v4float = OpTypePointer Input %v4float
 | |
|         %c4D = OpVariable %_ptr_Input_v4float Input
 | |
|          %29 = OpTypeImage %float 2D 0 1 0 1 Unknown
 | |
|          %30 = OpTypeSampledImage %29
 | |
| %_ptr_UniformConstant_30 = OpTypePointer UniformConstant %30
 | |
|    %s2DArray = OpVariable %_ptr_UniformConstant_30 UniformConstant
 | |
|     %v3float = OpTypeVector %float 3
 | |
| %_ptr_Input_v3float = OpTypePointer Input %v3float
 | |
|         %c3D = OpVariable %_ptr_Input_v3float Input
 | |
| %float_1_20000005 = OpConstant %float 1.20000005
 | |
|         %int = OpTypeInt 32 1
 | |
|       %v3int = OpTypeVector %int 3
 | |
| %_ptr_Input_v3int = OpTypePointer Input %v3int
 | |
|        %ic3D = OpVariable %_ptr_Input_v3int Input
 | |
| %_ptr_Input_int = OpTypePointer Input %int
 | |
|        %ic1D = OpVariable %_ptr_Input_int Input
 | |
| %_ptr_Function_float = OpTypePointer Function %float
 | |
|          %53 = OpTypeImage %float 2D 1 0 0 1 Unknown
 | |
|          %54 = OpTypeSampledImage %53
 | |
| %_ptr_UniformConstant_54 = OpTypePointer UniformConstant %54
 | |
|   %s2DShadow = OpVariable %_ptr_UniformConstant_54 UniformConstant
 | |
| %_ptr_Input_float = OpTypePointer Input %float
 | |
|         %c1D = OpVariable %_ptr_Input_float Input
 | |
|       %v2int = OpTypeVector %int 2
 | |
|       %int_2 = OpConstant %int 2
 | |
|       %int_3 = OpConstant %int 3
 | |
|          %65 = OpConstantComposite %v2int %int_2 %int_3
 | |
|          %72 = OpTypeImage %float Cube 0 0 0 1 Unknown
 | |
|          %73 = OpTypeSampledImage %72
 | |
| %_ptr_UniformConstant_73 = OpTypePointer UniformConstant %73
 | |
|       %sCube = OpVariable %_ptr_UniformConstant_73 UniformConstant
 | |
|          %81 = OpTypeImage %float 2D 1 1 0 1 Unknown
 | |
|          %82 = OpTypeSampledImage %81
 | |
| %_ptr_UniformConstant_82 = OpTypePointer UniformConstant %82
 | |
| %s2DArrayShadow = OpVariable %_ptr_UniformConstant_82 UniformConstant
 | |
|       %v4int = OpTypeVector %int 4
 | |
| %_ptr_Function_v4int = OpTypePointer Function %v4int
 | |
|         %104 = OpTypeImage %int 2D 0 0 0 1 Unknown
 | |
|         %105 = OpTypeSampledImage %104
 | |
| %_ptr_UniformConstant_105 = OpTypePointer UniformConstant %105
 | |
|        %is2D = OpVariable %_ptr_UniformConstant_105 UniformConstant
 | |
|         %125 = OpTypeImage %int 3D 0 0 0 1 Unknown
 | |
|         %126 = OpTypeSampledImage %125
 | |
| %_ptr_UniformConstant_126 = OpTypePointer UniformConstant %126
 | |
|        %is3D = OpVariable %_ptr_UniformConstant_126 UniformConstant
 | |
| %float_4_19999981 = OpConstant %float 4.19999981
 | |
|         %133 = OpTypeImage %int Cube 0 0 0 1 Unknown
 | |
|         %134 = OpTypeSampledImage %133
 | |
| %_ptr_UniformConstant_134 = OpTypePointer UniformConstant %134
 | |
|      %isCube = OpVariable %_ptr_UniformConstant_134 UniformConstant
 | |
|         %141 = OpTypeImage %int 2D 0 1 0 1 Unknown
 | |
|         %142 = OpTypeSampledImage %141
 | |
| %_ptr_UniformConstant_142 = OpTypePointer UniformConstant %142
 | |
|   %is2DArray = OpVariable %_ptr_UniformConstant_142 UniformConstant
 | |
|         %150 = OpTypeImage %float Cube 1 0 0 1 Unknown
 | |
|         %151 = OpTypeSampledImage %150
 | |
| %_ptr_UniformConstant_151 = OpTypePointer UniformConstant %151
 | |
| %sCubeShadow = OpVariable %_ptr_UniformConstant_151 UniformConstant
 | |
|        %uint = OpTypeInt 32 0
 | |
|         %160 = OpTypeImage %uint 2D 0 0 0 1 Unknown
 | |
|         %161 = OpTypeSampledImage %160
 | |
| %_ptr_UniformConstant_161 = OpTypePointer UniformConstant %161
 | |
|        %us2D = OpVariable %_ptr_UniformConstant_161 UniformConstant
 | |
|         %164 = OpTypeImage %uint 3D 0 0 0 1 Unknown
 | |
|         %165 = OpTypeSampledImage %164
 | |
| %_ptr_UniformConstant_165 = OpTypePointer UniformConstant %165
 | |
|        %us3D = OpVariable %_ptr_UniformConstant_165 UniformConstant
 | |
|         %168 = OpTypeImage %uint Cube 0 0 0 1 Unknown
 | |
|         %169 = OpTypeSampledImage %168
 | |
| %_ptr_UniformConstant_169 = OpTypePointer UniformConstant %169
 | |
|      %usCube = OpVariable %_ptr_UniformConstant_169 UniformConstant
 | |
|         %172 = OpTypeImage %uint 2D 0 1 0 1 Unknown
 | |
|         %173 = OpTypeSampledImage %172
 | |
| %_ptr_UniformConstant_173 = OpTypePointer UniformConstant %173
 | |
|   %us2DArray = OpVariable %_ptr_UniformConstant_173 UniformConstant
 | |
| %_ptr_Input_v4int = OpTypePointer Input %v4int
 | |
|        %ic4D = OpVariable %_ptr_Input_v4int Input
 | |
|          %S2 = OpTypeStruct %v3float %float
 | |
| %_ptr_Input_S2 = OpTypePointer Input %S2
 | |
|          %s2 = OpVariable %_ptr_Input_S2 Input
 | |
| %_ptr_Output_v3float = OpTypePointer Output %v3float
 | |
|          %sc = OpVariable %_ptr_Output_v3float Output
 | |
| %_ptr_Output_float = OpTypePointer Output %float
 | |
|          %sf = OpVariable %_ptr_Output_float Output
 | |
|      %uint_5 = OpConstant %uint 5
 | |
| %_arr_11_uint_5 = OpTypeArray %11 %uint_5
 | |
| %_ptr_UniformConstant__arr_11_uint_5 = OpTypePointer UniformConstant %_arr_11_uint_5
 | |
| %arrayedSampler = OpVariable %_ptr_UniformConstant__arr_11_uint_5 UniformConstant
 | |
|        %main = OpFunction %void None %3
 | |
|           %5 = OpLabel
 | |
|           %v = OpVariable %_ptr_Function_v4float Function
 | |
|           %f = OpVariable %_ptr_Function_float Function
 | |
|          %iv = OpVariable %_ptr_Function_v4int Function
 | |
|          %14 = OpLoad %11 %s2D
 | |
|          %18 = OpLoad %v2float %c2D
 | |
|          %19 = OpImageSampleImplicitLod %v4float %14 %18
 | |
|                OpStore %v %19
 | |
|          %24 = OpLoad %21 %s3D
 | |
|          %27 = OpLoad %v4float %c4D
 | |
|          %28 = OpImageSampleProjImplicitLod %v4float %24 %27
 | |
|                OpStore %v %28
 | |
|          %33 = OpLoad %30 %s2DArray
 | |
|          %37 = OpLoad %v3float %c3D
 | |
|          %39 = OpImageSampleExplicitLod %v4float %33 %37 Lod %float_1_20000005
 | |
|                OpStore %v %39
 | |
|          %40 = OpLoad %21 %s3D
 | |
|          %45 = OpLoad %v3int %ic3D
 | |
|          %48 = OpLoad %int %ic1D
 | |
|          %49 = OpImage %20 %40
 | |
|          %50 = OpImageFetch %v4float %49 %45 Lod %48
 | |
|                OpStore %v %50
 | |
|          %57 = OpLoad %54 %s2DShadow
 | |
|          %58 = OpLoad %v3float %c3D
 | |
|          %61 = OpLoad %float %c1D
 | |
|          %66 = OpCompositeExtract %float %58 2
 | |
|          %67 = OpImageSampleDrefExplicitLod %float %57 %58 %66 Lod|ConstOffset %61 %65
 | |
|                OpStore %f %67
 | |
|          %68 = OpLoad %11 %s2D
 | |
|          %69 = OpLoad %v3float %c3D
 | |
|          %70 = OpLoad %float %c1D
 | |
|          %71 = OpImageSampleProjExplicitLod %v4float %68 %69 Lod|ConstOffset %70 %65
 | |
|                OpStore %v %71
 | |
|          %76 = OpLoad %73 %sCube
 | |
|          %77 = OpLoad %v3float %c3D
 | |
|          %78 = OpLoad %v3float %c3D
 | |
|          %79 = OpLoad %v3float %c3D
 | |
|          %80 = OpImageSampleExplicitLod %v4float %76 %77 Grad %78 %79
 | |
|                OpStore %v %80
 | |
|          %85 = OpLoad %82 %s2DArrayShadow
 | |
|          %86 = OpLoad %v4float %c4D
 | |
|          %87 = OpLoad %v2float %c2D
 | |
|          %88 = OpLoad %v2float %c2D
 | |
|          %89 = OpCompositeExtract %float %86 3
 | |
|          %90 = OpImageSampleDrefExplicitLod %float %85 %86 %89 Grad|ConstOffset %87 %88 %65
 | |
|                OpStore %f %90
 | |
|          %91 = OpLoad %21 %s3D
 | |
|          %92 = OpLoad %v4float %c4D
 | |
|          %93 = OpLoad %v3float %c3D
 | |
|          %94 = OpLoad %v3float %c3D
 | |
|          %95 = OpImageSampleProjExplicitLod %v4float %91 %92 Grad %93 %94
 | |
|                OpStore %v %95
 | |
|          %96 = OpLoad %11 %s2D
 | |
|          %97 = OpLoad %v3float %c3D
 | |
|          %98 = OpLoad %v2float %c2D
 | |
|          %99 = OpLoad %v2float %c2D
 | |
|         %100 = OpImageSampleProjExplicitLod %v4float %96 %97 Grad|ConstOffset %98 %99 %65
 | |
|                OpStore %v %100
 | |
|         %108 = OpLoad %105 %is2D
 | |
|         %109 = OpLoad %v2float %c2D
 | |
|         %110 = OpImageSampleImplicitLod %v4int %108 %109
 | |
|                OpStore %iv %110
 | |
|         %111 = OpLoad %105 %is2D
 | |
|         %112 = OpLoad %v4float %c4D
 | |
|         %113 = OpCompositeExtract %float %112 3
 | |
|         %114 = OpCompositeInsert %v4float %113 %112 2
 | |
|         %115 = OpImageSampleProjImplicitLod %v4int %111 %114 ConstOffset %65
 | |
|                OpStore %iv %115
 | |
|         %116 = OpLoad %105 %is2D
 | |
|         %117 = OpLoad %v3float %c3D
 | |
|         %118 = OpLoad %float %c1D
 | |
|         %119 = OpImageSampleProjExplicitLod %v4int %116 %117 Lod %118
 | |
|                OpStore %iv %119
 | |
|         %120 = OpLoad %105 %is2D
 | |
|         %121 = OpLoad %v3float %c3D
 | |
|         %122 = OpLoad %v2float %c2D
 | |
|         %123 = OpLoad %v2float %c2D
 | |
|         %124 = OpImageSampleProjExplicitLod %v4int %120 %121 Grad %122 %123
 | |
|                OpStore %iv %124
 | |
|         %129 = OpLoad %126 %is3D
 | |
|         %130 = OpLoad %v3float %c3D
 | |
|         %132 = OpImageSampleImplicitLod %v4int %129 %130 Bias %float_4_19999981
 | |
|                OpStore %iv %132
 | |
|         %137 = OpLoad %134 %isCube
 | |
|         %138 = OpLoad %v3float %c3D
 | |
|         %139 = OpLoad %float %c1D
 | |
|         %140 = OpImageSampleExplicitLod %v4int %137 %138 Lod %139
 | |
|                OpStore %iv %140
 | |
|         %145 = OpLoad %142 %is2DArray
 | |
|         %146 = OpLoad %v3int %ic3D
 | |
|         %147 = OpLoad %int %ic1D
 | |
|         %148 = OpImage %141 %145
 | |
|         %149 = OpImageFetch %v4int %148 %146 Lod %147
 | |
|                OpStore %iv %149
 | |
|         %154 = OpLoad %151 %sCubeShadow
 | |
|         %155 = OpImage %150 %154
 | |
|         %156 = OpImageQuerySizeLod %v2int %155 %int_2
 | |
|         %157 = OpLoad %v4int %iv
 | |
|         %158 = OpVectorShuffle %v4int %157 %156 4 5 2 3
 | |
|                OpStore %iv %158
 | |
|                OpReturn
 | |
|                OpFunctionEnd
 | 
