wgpu/tests/out/shadow.spvasm.snap
2021-02-14 20:23:31 -05:00

298 lines
8.3 KiB
Plaintext

---
source: tests/snapshots.rs
expression: dis
---
; SPIR-V
; Version: 1.2
; Generator: rspirv
; Bound: 221
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %64 "fs_main" %114 %111 %217
OpExecutionMode %64 OriginUpperLeft
OpSource GLSL 450
OpName %9 "c_ambient"
OpName %11 "c_max_lights"
OpName %18 "fetch_shadow"
OpName %28 "t_shadow"
OpName %33 "sampler_shadow"
OpName %60 "color"
OpName %62 "i"
OpName %64 "fs_main"
OpName %76 "Globals"
OpMemberName %76 0 "num_lights"
OpName %77 "u_globals"
OpName %97 "Light"
OpMemberName %97 0 "proj"
OpMemberName %97 1 "pos"
OpMemberName %97 2 "color"
OpName %101 "Lights"
OpMemberName %101 0 "data"
OpName %102 "s_lights"
OpName %111 "in_position_fs"
OpName %114 "in_normal_fs"
OpName %217 "out_color_fs"
OpName %64 "fs_main"
OpDecorate %28 DescriptorSet 0
OpDecorate %28 Binding 2
OpDecorate %33 DescriptorSet 0
OpDecorate %33 Binding 3
OpDecorate %76 Block
OpMemberDecorate %76 0 Offset 0
OpDecorate %77 DescriptorSet 0
OpDecorate %77 Binding 0
OpMemberDecorate %97 0 Offset 0
OpMemberDecorate %97 0 ColMajor
OpMemberDecorate %97 0 MatrixStride 16
OpMemberDecorate %97 1 Offset 64
OpMemberDecorate %97 2 Offset 80
OpDecorate %99 ArrayStride 96
OpDecorate %101 BufferBlock
OpMemberDecorate %101 0 Offset 0
OpDecorate %102 NonWritable
OpDecorate %102 DescriptorSet 0
OpDecorate %102 Binding 1
OpDecorate %111 Location 1
OpDecorate %114 Location 0
OpDecorate %217 Location 0
%2 = OpTypeVoid
%4 = OpTypeFloat 32
%3 = OpConstant %4 0.0
%5 = OpConstant %4 1.0
%6 = OpConstant %4 0.5
%7 = OpConstant %4 -0.5
%8 = OpConstant %4 0.05
%10 = OpTypeVector %4 3
%9 = OpConstantComposite %10 %8 %8 %8
%12 = OpTypeInt 32 0
%11 = OpConstant %12 10
%13 = OpConstant %12 0
%14 = OpConstant %12 1
%17 = OpTypeVector %4 4
%19 = OpTypeFunction %4 %12 %17
%21 = OpTypeBool
%27 = OpTypeImage %4 2D 1 1 0 1 Unknown
%29 = OpTypePointer UniformConstant %27
%28 = OpVariable %29 UniformConstant
%31 = OpTypeSampledImage %27
%32 = OpTypeSampler
%34 = OpTypePointer UniformConstant %32
%33 = OpVariable %34 UniformConstant
%36 = OpTypeVector %4 2
%50 = OpTypeInt 32 1
%59 = OpConstant %4 0.0
%61 = OpTypePointer Function %10
%63 = OpTypePointer Function %12
%65 = OpTypeFunction %2
%74 = OpTypeVector %12 4
%76 = OpTypeStruct %74
%78 = OpTypePointer Uniform %76
%77 = OpVariable %78 Uniform
%79 = OpTypePointer Uniform %74
%80 = OpConstant %50 0
%81 = OpTypePointer Uniform %12
%82 = OpConstant %50 0
%95 = OpTypeMatrix %17 4
%97 = OpTypeStruct %95 %17 %17
%99 = OpTypeRuntimeArray %97
%101 = OpTypeStruct %99
%103 = OpTypePointer Uniform %101
%102 = OpVariable %103 Uniform
%104 = OpTypePointer Uniform %99
%105 = OpConstant %50 0
%107 = OpTypePointer Uniform %97
%108 = OpTypePointer Uniform %95
%109 = OpConstant %50 0
%112 = OpTypePointer Input %17
%111 = OpVariable %112 Input
%115 = OpTypePointer Input %10
%114 = OpVariable %115 Input
%123 = OpTypePointer Uniform %99
%124 = OpConstant %50 0
%126 = OpTypePointer Uniform %97
%127 = OpTypePointer Uniform %17
%128 = OpConstant %50 1
%129 = OpTypePointer Uniform %4
%130 = OpConstant %50 0
%136 = OpTypePointer Uniform %99
%137 = OpConstant %50 0
%139 = OpTypePointer Uniform %97
%140 = OpTypePointer Uniform %17
%141 = OpConstant %50 1
%142 = OpTypePointer Uniform %4
%143 = OpConstant %50 1
%149 = OpTypePointer Uniform %99
%150 = OpConstant %50 0
%152 = OpTypePointer Uniform %97
%153 = OpTypePointer Uniform %17
%154 = OpConstant %50 1
%155 = OpTypePointer Uniform %4
%156 = OpConstant %50 2
%160 = OpTypePointer Input %4
%161 = OpConstant %50 0
%164 = OpTypePointer Input %4
%165 = OpConstant %50 1
%168 = OpTypePointer Input %4
%169 = OpConstant %50 2
%179 = OpTypePointer Uniform %99
%180 = OpConstant %50 0
%182 = OpTypePointer Uniform %97
%183 = OpTypePointer Uniform %17
%184 = OpConstant %50 2
%185 = OpTypePointer Uniform %4
%186 = OpConstant %50 0
%192 = OpTypePointer Uniform %99
%193 = OpConstant %50 0
%195 = OpTypePointer Uniform %97
%196 = OpTypePointer Uniform %17
%197 = OpConstant %50 2
%198 = OpTypePointer Uniform %4
%199 = OpConstant %50 1
%205 = OpTypePointer Uniform %99
%206 = OpConstant %50 0
%208 = OpTypePointer Uniform %97
%209 = OpTypePointer Uniform %17
%210 = OpConstant %50 2
%211 = OpTypePointer Uniform %4
%212 = OpConstant %50 2
%218 = OpTypePointer Output %17
%217 = OpVariable %218 Output
%18 = OpFunction %4 None %19
%15 = OpFunctionParameter %12
%16 = OpFunctionParameter %17
%20 = OpLabel
%23 = OpCompositeExtract %4 %16 3
%22 = OpFOrdLessThanEqual %21 %23 %3
OpSelectionMerge %24 None
OpBranchConditional %22 %25 %26
%25 = OpLabel
OpReturnValue %5
%26 = OpLabel
OpBranch %24
%24 = OpLabel
%30 = OpLoad %27 %28
%35 = OpLoad %32 %33
%40 = OpCompositeExtract %4 %16 0
%41 = OpCompositeExtract %4 %16 1
%42 = OpCompositeConstruct %36 %40 %41
%43 = OpCompositeConstruct %36 %6 %7
%39 = OpFMul %36 %42 %43
%45 = OpCompositeExtract %4 %16 3
%44 = OpFDiv %4 %5 %45
%38 = OpVectorTimesScalar %36 %39 %44
%46 = OpCompositeConstruct %36 %6 %6
%37 = OpFAdd %36 %38 %46
%47 = OpCompositeExtract %4 %37 0
%48 = OpCompositeExtract %4 %37 1
%51 = OpBitcast %50 %15
%49 = OpConvertUToF %4 %51
%52 = OpCompositeConstruct %10 %47 %48 %49
%53 = OpSampledImage %31 %30 %35
%56 = OpCompositeExtract %4 %16 2
%58 = OpCompositeExtract %4 %16 3
%57 = OpFDiv %4 %5 %58
%55 = OpFMul %4 %56 %57
%54 = OpImageSampleDrefExplicitLod %4 %53 %52 %55 Lod %59
OpReturnValue %54
OpFunctionEnd
%64 = OpFunction %2 None %65
%66 = OpLabel
%60 = OpVariable %61 Function %9
%62 = OpVariable %63 Function %13
OpBranch %67
%67 = OpLabel
OpLoopMerge %68 %70 None
OpBranch %69
%69 = OpLabel
%72 = OpLoad %12 %62
%75 = OpAccessChain %79 %77 %80
%73 = OpAccessChain %81 %75 %82
%83 = OpLoad %12 %73
%84 = OpExtInst %12 %1 UMin %83 %11
%71 = OpUGreaterThanEqual %21 %72 %84
OpSelectionMerge %85 None
OpBranchConditional %71 %86 %87
%86 = OpLabel
OpBranch %68
%87 = OpLabel
OpBranch %85
%85 = OpLabel
%89 = OpLoad %10 %60
%93 = OpLoad %12 %62
%100 = OpAccessChain %104 %102 %105
%106 = OpLoad %12 %62
%98 = OpAccessChain %107 %100 %106
%96 = OpAccessChain %108 %98 %109
%110 = OpLoad %95 %96
%113 = OpLoad %17 %111
%94 = OpMatrixTimesVector %17 %110 %113
%92 = OpFunctionCall %4 %18 %93 %94
%116 = OpLoad %10 %114
%117 = OpExtInst %10 %1 Normalize %116
%122 = OpAccessChain %123 %102 %124
%125 = OpLoad %12 %62
%121 = OpAccessChain %126 %122 %125
%120 = OpAccessChain %127 %121 %128
%119 = OpAccessChain %129 %120 %130
%131 = OpLoad %4 %119
%135 = OpAccessChain %136 %102 %137
%138 = OpLoad %12 %62
%134 = OpAccessChain %139 %135 %138
%133 = OpAccessChain %140 %134 %141
%132 = OpAccessChain %142 %133 %143
%144 = OpLoad %4 %132
%148 = OpAccessChain %149 %102 %150
%151 = OpLoad %12 %62
%147 = OpAccessChain %152 %148 %151
%146 = OpAccessChain %153 %147 %154
%145 = OpAccessChain %155 %146 %156
%157 = OpLoad %4 %145
%158 = OpCompositeConstruct %10 %131 %144 %157
%159 = OpAccessChain %160 %111 %161
%162 = OpLoad %4 %159
%163 = OpAccessChain %164 %111 %165
%166 = OpLoad %4 %163
%167 = OpAccessChain %168 %111 %169
%170 = OpLoad %4 %167
%171 = OpCompositeConstruct %10 %162 %166 %170
%118 = OpFSub %10 %158 %171
%172 = OpExtInst %10 %1 Normalize %118
%173 = OpDot %4 %117 %172
%174 = OpExtInst %4 %1 FMax %3 %173
%91 = OpFMul %4 %92 %174
%178 = OpAccessChain %179 %102 %180
%181 = OpLoad %12 %62
%177 = OpAccessChain %182 %178 %181
%176 = OpAccessChain %183 %177 %184
%175 = OpAccessChain %185 %176 %186
%187 = OpLoad %4 %175
%191 = OpAccessChain %192 %102 %193
%194 = OpLoad %12 %62
%190 = OpAccessChain %195 %191 %194
%189 = OpAccessChain %196 %190 %197
%188 = OpAccessChain %198 %189 %199
%200 = OpLoad %4 %188
%204 = OpAccessChain %205 %102 %206
%207 = OpLoad %12 %62
%203 = OpAccessChain %208 %204 %207
%202 = OpAccessChain %209 %203 %210
%201 = OpAccessChain %211 %202 %212
%213 = OpLoad %4 %201
%214 = OpCompositeConstruct %10 %187 %200 %213
%90 = OpVectorTimesScalar %10 %214 %91
%88 = OpFAdd %10 %89 %90
OpStore %60 %88
OpBranch %70
%70 = OpLabel
%216 = OpLoad %12 %62
%215 = OpIAdd %12 %216 %14
OpStore %62 %215
OpBranch %67
%68 = OpLabel
%219 = OpLoad %10 %60
%220 = OpCompositeConstruct %17 %219 %5
OpStore %217 %220
OpReturn
OpFunctionEnd