mirror of
https://github.com/gfx-rs/wgpu.git
synced 2024-11-22 23:04:07 +00:00
[spv-out] zero init variables in function and private address spaces
This commit is contained in:
parent
ceb92921c2
commit
239bbbbed4
@ -309,7 +309,10 @@ impl Writer {
|
||||
pointer_type_id,
|
||||
id,
|
||||
spirv::StorageClass::Function,
|
||||
init_word,
|
||||
init_word.or_else(|| {
|
||||
let type_id = self.get_type_id(LookupType::Handle(variable.ty));
|
||||
Some(self.write_constant_null(type_id))
|
||||
}),
|
||||
);
|
||||
function
|
||||
.variables
|
||||
@ -1325,6 +1328,13 @@ impl Writer {
|
||||
}
|
||||
};
|
||||
|
||||
let init_word = match global_variable.space {
|
||||
crate::AddressSpace::Private => {
|
||||
init_word.or_else(|| Some(self.write_constant_null(inner_type_id)))
|
||||
}
|
||||
_ => init_word,
|
||||
};
|
||||
|
||||
Instruction::variable(pointer_type_id, id, class, init_word)
|
||||
.to_words(&mut self.logical_layout.declarations);
|
||||
Ok(id)
|
||||
|
@ -1,16 +1,16 @@
|
||||
; SPIR-V
|
||||
; Version: 1.1
|
||||
; Generator: rspirv
|
||||
; Bound: 218
|
||||
; Bound: 221
|
||||
OpCapability Shader
|
||||
OpExtension "SPV_KHR_storage_buffer_storage_class"
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %141 "foo_vert" %136 %139
|
||||
OpEntryPoint Fragment %178 "foo_frag" %177
|
||||
OpEntryPoint GLCompute %195 "atomics"
|
||||
OpExecutionMode %178 OriginUpperLeft
|
||||
OpExecutionMode %195 LocalSize 1 1 1
|
||||
OpEntryPoint Vertex %143 "foo_vert" %138 %141
|
||||
OpEntryPoint Fragment %180 "foo_frag" %179
|
||||
OpEntryPoint GLCompute %198 "atomics"
|
||||
OpExecutionMode %180 OriginUpperLeft
|
||||
OpExecutionMode %198 LocalSize 1 1 1
|
||||
OpSource GLSL 450
|
||||
OpMemberName %32 0 "value"
|
||||
OpName %32 "AlignedWrapper"
|
||||
@ -26,18 +26,18 @@ OpName %52 "bar"
|
||||
OpName %54 "baz"
|
||||
OpName %57 "idx"
|
||||
OpName %59 "t"
|
||||
OpName %62 "test_matrix_within_struct_accesses"
|
||||
OpName %120 "foo"
|
||||
OpName %121 "read_from_private"
|
||||
OpName %126 "a"
|
||||
OpName %127 "test_arr_as_arg"
|
||||
OpName %132 "foo"
|
||||
OpName %133 "c"
|
||||
OpName %136 "vi"
|
||||
OpName %141 "foo_vert"
|
||||
OpName %178 "foo_frag"
|
||||
OpName %193 "tmp"
|
||||
OpName %195 "atomics"
|
||||
OpName %63 "test_matrix_within_struct_accesses"
|
||||
OpName %121 "foo"
|
||||
OpName %122 "read_from_private"
|
||||
OpName %127 "a"
|
||||
OpName %128 "test_arr_as_arg"
|
||||
OpName %133 "foo"
|
||||
OpName %134 "c"
|
||||
OpName %138 "vi"
|
||||
OpName %143 "foo_vert"
|
||||
OpName %180 "foo_frag"
|
||||
OpName %195 "tmp"
|
||||
OpName %198 "atomics"
|
||||
OpMemberDecorate %32 0 Offset 0
|
||||
OpDecorate %37 ArrayStride 16
|
||||
OpDecorate %39 ArrayStride 8
|
||||
@ -64,9 +64,9 @@ OpDecorate %54 DescriptorSet 0
|
||||
OpDecorate %54 Binding 1
|
||||
OpDecorate %55 Block
|
||||
OpMemberDecorate %55 0 Offset 0
|
||||
OpDecorate %136 BuiltIn VertexIndex
|
||||
OpDecorate %139 BuiltIn Position
|
||||
OpDecorate %177 Location 0
|
||||
OpDecorate %138 BuiltIn VertexIndex
|
||||
OpDecorate %141 BuiltIn Position
|
||||
OpDecorate %179 Location 0
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 1
|
||||
%3 = OpConstant %4 2
|
||||
@ -124,208 +124,211 @@ OpDecorate %177 Location 0
|
||||
%54 = OpVariable %56 Uniform
|
||||
%58 = OpTypePointer Function %4
|
||||
%60 = OpTypePointer Function %43
|
||||
%63 = OpTypeFunction %2
|
||||
%64 = OpTypePointer Uniform %43
|
||||
%69 = OpTypePointer Uniform %42
|
||||
%72 = OpTypePointer Uniform %36
|
||||
%78 = OpTypePointer Uniform %9
|
||||
%98 = OpTypePointer Function %42
|
||||
%104 = OpTypePointer Function %36
|
||||
%110 = OpTypePointer Function %9
|
||||
%122 = OpTypeFunction %9 %44
|
||||
%128 = OpTypeFunction %9 %46
|
||||
%134 = OpTypePointer Function %49
|
||||
%137 = OpTypePointer Input %26
|
||||
%136 = OpVariable %137 Input
|
||||
%140 = OpTypePointer Output %47
|
||||
%139 = OpVariable %140 Output
|
||||
%146 = OpTypePointer StorageBuffer %33
|
||||
%149 = OpTypePointer StorageBuffer %39
|
||||
%152 = OpTypePointer StorageBuffer %34
|
||||
%153 = OpTypePointer StorageBuffer %9
|
||||
%156 = OpTypePointer StorageBuffer %40
|
||||
%159 = OpTypePointer StorageBuffer %32
|
||||
%160 = OpConstant %26 4
|
||||
%171 = OpTypeVector %4 4
|
||||
%177 = OpVariable %140 Output
|
||||
%197 = OpTypePointer StorageBuffer %4
|
||||
%200 = OpConstant %26 64
|
||||
%62 = OpFunction %2 None %63
|
||||
%61 = OpLabel
|
||||
%61 = OpConstantNull %43
|
||||
%64 = OpTypeFunction %2
|
||||
%65 = OpTypePointer Uniform %43
|
||||
%70 = OpTypePointer Uniform %42
|
||||
%73 = OpTypePointer Uniform %36
|
||||
%79 = OpTypePointer Uniform %9
|
||||
%99 = OpTypePointer Function %42
|
||||
%105 = OpTypePointer Function %36
|
||||
%111 = OpTypePointer Function %9
|
||||
%123 = OpTypeFunction %9 %44
|
||||
%129 = OpTypeFunction %9 %46
|
||||
%135 = OpTypePointer Function %49
|
||||
%136 = OpConstantNull %49
|
||||
%139 = OpTypePointer Input %26
|
||||
%138 = OpVariable %139 Input
|
||||
%142 = OpTypePointer Output %47
|
||||
%141 = OpVariable %142 Output
|
||||
%148 = OpTypePointer StorageBuffer %33
|
||||
%151 = OpTypePointer StorageBuffer %39
|
||||
%154 = OpTypePointer StorageBuffer %34
|
||||
%155 = OpTypePointer StorageBuffer %9
|
||||
%158 = OpTypePointer StorageBuffer %40
|
||||
%161 = OpTypePointer StorageBuffer %32
|
||||
%162 = OpConstant %26 4
|
||||
%173 = OpTypeVector %4 4
|
||||
%179 = OpVariable %142 Output
|
||||
%196 = OpConstantNull %4
|
||||
%200 = OpTypePointer StorageBuffer %4
|
||||
%203 = OpConstant %26 64
|
||||
%63 = OpFunction %2 None %64
|
||||
%62 = OpLabel
|
||||
%57 = OpVariable %58 Function %5
|
||||
%59 = OpVariable %60 Function
|
||||
%65 = OpAccessChain %64 %54 %31
|
||||
OpBranch %66
|
||||
%66 = OpLabel
|
||||
%67 = OpLoad %4 %57
|
||||
%68 = OpISub %4 %67 %6
|
||||
OpStore %57 %68
|
||||
%70 = OpAccessChain %69 %65 %31
|
||||
%71 = OpLoad %42 %70
|
||||
%73 = OpAccessChain %72 %65 %31 %31
|
||||
%74 = OpLoad %36 %73
|
||||
%75 = OpLoad %4 %57
|
||||
%76 = OpAccessChain %72 %65 %31 %75
|
||||
%77 = OpLoad %36 %76
|
||||
%79 = OpAccessChain %78 %65 %31 %31 %29
|
||||
%80 = OpLoad %9 %79
|
||||
%81 = OpLoad %4 %57
|
||||
%82 = OpAccessChain %78 %65 %31 %31 %81
|
||||
%83 = OpLoad %9 %82
|
||||
%84 = OpLoad %4 %57
|
||||
%85 = OpAccessChain %78 %65 %31 %84 %29
|
||||
%86 = OpLoad %9 %85
|
||||
%87 = OpLoad %4 %57
|
||||
%59 = OpVariable %60 Function %61
|
||||
%66 = OpAccessChain %65 %54 %31
|
||||
OpBranch %67
|
||||
%67 = OpLabel
|
||||
%68 = OpLoad %4 %57
|
||||
%69 = OpISub %4 %68 %6
|
||||
OpStore %57 %69
|
||||
%71 = OpAccessChain %70 %66 %31
|
||||
%72 = OpLoad %42 %71
|
||||
%74 = OpAccessChain %73 %66 %31 %31
|
||||
%75 = OpLoad %36 %74
|
||||
%76 = OpLoad %4 %57
|
||||
%77 = OpAccessChain %73 %66 %31 %76
|
||||
%78 = OpLoad %36 %77
|
||||
%80 = OpAccessChain %79 %66 %31 %31 %29
|
||||
%81 = OpLoad %9 %80
|
||||
%82 = OpLoad %4 %57
|
||||
%83 = OpAccessChain %79 %66 %31 %31 %82
|
||||
%84 = OpLoad %9 %83
|
||||
%85 = OpLoad %4 %57
|
||||
%86 = OpAccessChain %79 %66 %31 %85 %29
|
||||
%87 = OpLoad %9 %86
|
||||
%88 = OpLoad %4 %57
|
||||
%89 = OpAccessChain %78 %65 %31 %87 %88
|
||||
%90 = OpLoad %9 %89
|
||||
%91 = OpCompositeConstruct %36 %8 %8
|
||||
%92 = OpCompositeConstruct %36 %10 %10
|
||||
%93 = OpCompositeConstruct %36 %11 %11
|
||||
%94 = OpCompositeConstruct %42 %91 %92 %93
|
||||
%95 = OpCompositeConstruct %43 %94
|
||||
OpStore %59 %95
|
||||
%96 = OpLoad %4 %57
|
||||
%97 = OpIAdd %4 %96 %6
|
||||
OpStore %57 %97
|
||||
%99 = OpCompositeConstruct %36 %12 %12
|
||||
%100 = OpCompositeConstruct %36 %13 %13
|
||||
%101 = OpCompositeConstruct %36 %14 %14
|
||||
%102 = OpCompositeConstruct %42 %99 %100 %101
|
||||
%103 = OpAccessChain %98 %59 %31
|
||||
OpStore %103 %102
|
||||
%105 = OpCompositeConstruct %36 %15 %15
|
||||
%106 = OpAccessChain %104 %59 %31 %31
|
||||
OpStore %106 %105
|
||||
%107 = OpLoad %4 %57
|
||||
%108 = OpCompositeConstruct %36 %16 %16
|
||||
%109 = OpAccessChain %104 %59 %31 %107
|
||||
OpStore %109 %108
|
||||
%111 = OpAccessChain %110 %59 %31 %31 %29
|
||||
OpStore %111 %17
|
||||
%112 = OpLoad %4 %57
|
||||
%113 = OpAccessChain %110 %59 %31 %31 %112
|
||||
OpStore %113 %18
|
||||
%114 = OpLoad %4 %57
|
||||
%115 = OpAccessChain %110 %59 %31 %114 %29
|
||||
OpStore %115 %19
|
||||
%116 = OpLoad %4 %57
|
||||
%89 = OpLoad %4 %57
|
||||
%90 = OpAccessChain %79 %66 %31 %88 %89
|
||||
%91 = OpLoad %9 %90
|
||||
%92 = OpCompositeConstruct %36 %8 %8
|
||||
%93 = OpCompositeConstruct %36 %10 %10
|
||||
%94 = OpCompositeConstruct %36 %11 %11
|
||||
%95 = OpCompositeConstruct %42 %92 %93 %94
|
||||
%96 = OpCompositeConstruct %43 %95
|
||||
OpStore %59 %96
|
||||
%97 = OpLoad %4 %57
|
||||
%98 = OpIAdd %4 %97 %6
|
||||
OpStore %57 %98
|
||||
%100 = OpCompositeConstruct %36 %12 %12
|
||||
%101 = OpCompositeConstruct %36 %13 %13
|
||||
%102 = OpCompositeConstruct %36 %14 %14
|
||||
%103 = OpCompositeConstruct %42 %100 %101 %102
|
||||
%104 = OpAccessChain %99 %59 %31
|
||||
OpStore %104 %103
|
||||
%106 = OpCompositeConstruct %36 %15 %15
|
||||
%107 = OpAccessChain %105 %59 %31 %31
|
||||
OpStore %107 %106
|
||||
%108 = OpLoad %4 %57
|
||||
%109 = OpCompositeConstruct %36 %16 %16
|
||||
%110 = OpAccessChain %105 %59 %31 %108
|
||||
OpStore %110 %109
|
||||
%112 = OpAccessChain %111 %59 %31 %31 %29
|
||||
OpStore %112 %17
|
||||
%113 = OpLoad %4 %57
|
||||
%114 = OpAccessChain %111 %59 %31 %31 %113
|
||||
OpStore %114 %18
|
||||
%115 = OpLoad %4 %57
|
||||
%116 = OpAccessChain %111 %59 %31 %115 %29
|
||||
OpStore %116 %19
|
||||
%117 = OpLoad %4 %57
|
||||
%118 = OpAccessChain %110 %59 %31 %116 %117
|
||||
OpStore %118 %20
|
||||
%118 = OpLoad %4 %57
|
||||
%119 = OpAccessChain %111 %59 %31 %117 %118
|
||||
OpStore %119 %20
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%121 = OpFunction %9 None %122
|
||||
%120 = OpFunctionParameter %44
|
||||
%119 = OpLabel
|
||||
OpBranch %123
|
||||
%123 = OpLabel
|
||||
%124 = OpLoad %9 %120
|
||||
OpReturnValue %124
|
||||
%122 = OpFunction %9 None %123
|
||||
%121 = OpFunctionParameter %44
|
||||
%120 = OpLabel
|
||||
OpBranch %124
|
||||
%124 = OpLabel
|
||||
%125 = OpLoad %9 %121
|
||||
OpReturnValue %125
|
||||
OpFunctionEnd
|
||||
%127 = OpFunction %9 None %128
|
||||
%126 = OpFunctionParameter %46
|
||||
%125 = OpLabel
|
||||
OpBranch %129
|
||||
%129 = OpLabel
|
||||
%130 = OpCompositeExtract %45 %126 4
|
||||
%131 = OpCompositeExtract %9 %130 9
|
||||
OpReturnValue %131
|
||||
%128 = OpFunction %9 None %129
|
||||
%127 = OpFunctionParameter %46
|
||||
%126 = OpLabel
|
||||
OpBranch %130
|
||||
%130 = OpLabel
|
||||
%131 = OpCompositeExtract %45 %127 4
|
||||
%132 = OpCompositeExtract %9 %131 9
|
||||
OpReturnValue %132
|
||||
OpFunctionEnd
|
||||
%141 = OpFunction %2 None %63
|
||||
%135 = OpLabel
|
||||
%132 = OpVariable %44 Function %24
|
||||
%133 = OpVariable %134 Function
|
||||
%138 = OpLoad %26 %136
|
||||
%142 = OpAccessChain %64 %54 %31
|
||||
OpBranch %143
|
||||
%143 = OpLabel
|
||||
%144 = OpLoad %9 %132
|
||||
OpStore %132 %8
|
||||
%145 = OpFunctionCall %2 %62
|
||||
%147 = OpAccessChain %146 %52 %31
|
||||
%148 = OpLoad %33 %147
|
||||
%150 = OpAccessChain %149 %52 %25
|
||||
%151 = OpLoad %39 %150
|
||||
%154 = OpAccessChain %153 %52 %31 %25 %31
|
||||
%155 = OpLoad %9 %154
|
||||
%157 = OpArrayLength %26 %52 4
|
||||
%158 = OpISub %26 %157 %27
|
||||
%161 = OpAccessChain %48 %52 %160 %158 %31
|
||||
%162 = OpLoad %4 %161
|
||||
%163 = OpFunctionCall %9 %121 %132
|
||||
%164 = OpConvertFToS %4 %155
|
||||
%165 = OpCompositeConstruct %49 %162 %164 %28 %23 %22
|
||||
OpStore %133 %165
|
||||
%166 = OpIAdd %26 %138 %29
|
||||
%167 = OpAccessChain %58 %133 %166
|
||||
OpStore %167 %30
|
||||
%168 = OpAccessChain %58 %133 %138
|
||||
%169 = OpLoad %4 %168
|
||||
%170 = OpFunctionCall %9 %127 %51
|
||||
%172 = OpCompositeConstruct %171 %169 %169 %169 %169
|
||||
%173 = OpConvertSToF %47 %172
|
||||
%174 = OpMatrixTimesVector %34 %148 %173
|
||||
%175 = OpCompositeConstruct %47 %174 %10
|
||||
OpStore %139 %175
|
||||
%143 = OpFunction %2 None %64
|
||||
%137 = OpLabel
|
||||
%133 = OpVariable %44 Function %24
|
||||
%134 = OpVariable %135 Function %136
|
||||
%140 = OpLoad %26 %138
|
||||
%144 = OpAccessChain %65 %54 %31
|
||||
OpBranch %145
|
||||
%145 = OpLabel
|
||||
%146 = OpLoad %9 %133
|
||||
OpStore %133 %8
|
||||
%147 = OpFunctionCall %2 %63
|
||||
%149 = OpAccessChain %148 %52 %31
|
||||
%150 = OpLoad %33 %149
|
||||
%152 = OpAccessChain %151 %52 %25
|
||||
%153 = OpLoad %39 %152
|
||||
%156 = OpAccessChain %155 %52 %31 %25 %31
|
||||
%157 = OpLoad %9 %156
|
||||
%159 = OpArrayLength %26 %52 4
|
||||
%160 = OpISub %26 %159 %27
|
||||
%163 = OpAccessChain %48 %52 %162 %160 %31
|
||||
%164 = OpLoad %4 %163
|
||||
%165 = OpFunctionCall %9 %122 %133
|
||||
%166 = OpConvertFToS %4 %157
|
||||
%167 = OpCompositeConstruct %49 %164 %166 %28 %23 %22
|
||||
OpStore %134 %167
|
||||
%168 = OpIAdd %26 %140 %29
|
||||
%169 = OpAccessChain %58 %134 %168
|
||||
OpStore %169 %30
|
||||
%170 = OpAccessChain %58 %134 %140
|
||||
%171 = OpLoad %4 %170
|
||||
%172 = OpFunctionCall %9 %128 %51
|
||||
%174 = OpCompositeConstruct %173 %171 %171 %171 %171
|
||||
%175 = OpConvertSToF %47 %174
|
||||
%176 = OpMatrixTimesVector %34 %150 %175
|
||||
%177 = OpCompositeConstruct %47 %176 %10
|
||||
OpStore %141 %177
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%178 = OpFunction %2 None %63
|
||||
%176 = OpLabel
|
||||
OpBranch %179
|
||||
%179 = OpLabel
|
||||
%180 = OpAccessChain %153 %52 %31 %29 %27
|
||||
OpStore %180 %8
|
||||
%181 = OpCompositeConstruct %34 %24 %24 %24
|
||||
%182 = OpCompositeConstruct %34 %8 %8 %8
|
||||
%183 = OpCompositeConstruct %34 %10 %10 %10
|
||||
%184 = OpCompositeConstruct %34 %11 %11 %11
|
||||
%185 = OpCompositeConstruct %33 %181 %182 %183 %184
|
||||
%186 = OpAccessChain %146 %52 %31
|
||||
OpStore %186 %185
|
||||
%187 = OpCompositeConstruct %38 %31 %31
|
||||
%188 = OpCompositeConstruct %38 %29 %29
|
||||
%189 = OpCompositeConstruct %39 %187 %188
|
||||
%190 = OpAccessChain %149 %52 %25
|
||||
OpStore %190 %189
|
||||
%191 = OpAccessChain %48 %52 %160 %29 %31
|
||||
OpStore %191 %6
|
||||
%192 = OpCompositeConstruct %47 %24 %24 %24 %24
|
||||
OpStore %177 %192
|
||||
%180 = OpFunction %2 None %64
|
||||
%178 = OpLabel
|
||||
OpBranch %181
|
||||
%181 = OpLabel
|
||||
%182 = OpAccessChain %155 %52 %31 %29 %27
|
||||
OpStore %182 %8
|
||||
%183 = OpCompositeConstruct %34 %24 %24 %24
|
||||
%184 = OpCompositeConstruct %34 %8 %8 %8
|
||||
%185 = OpCompositeConstruct %34 %10 %10 %10
|
||||
%186 = OpCompositeConstruct %34 %11 %11 %11
|
||||
%187 = OpCompositeConstruct %33 %183 %184 %185 %186
|
||||
%188 = OpAccessChain %148 %52 %31
|
||||
OpStore %188 %187
|
||||
%189 = OpCompositeConstruct %38 %31 %31
|
||||
%190 = OpCompositeConstruct %38 %29 %29
|
||||
%191 = OpCompositeConstruct %39 %189 %190
|
||||
%192 = OpAccessChain %151 %52 %25
|
||||
OpStore %192 %191
|
||||
%193 = OpAccessChain %48 %52 %162 %29 %31
|
||||
OpStore %193 %6
|
||||
%194 = OpCompositeConstruct %47 %24 %24 %24 %24
|
||||
OpStore %179 %194
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%195 = OpFunction %2 None %63
|
||||
%194 = OpLabel
|
||||
%193 = OpVariable %58 Function
|
||||
OpBranch %196
|
||||
%196 = OpLabel
|
||||
%198 = OpAccessChain %197 %52 %27
|
||||
%199 = OpAtomicLoad %4 %198 %6 %200
|
||||
%202 = OpAccessChain %197 %52 %27
|
||||
%201 = OpAtomicIAdd %4 %202 %6 %200 %22
|
||||
OpStore %193 %201
|
||||
%204 = OpAccessChain %197 %52 %27
|
||||
%203 = OpAtomicISub %4 %204 %6 %200 %22
|
||||
OpStore %193 %203
|
||||
%206 = OpAccessChain %197 %52 %27
|
||||
%205 = OpAtomicAnd %4 %206 %6 %200 %22
|
||||
OpStore %193 %205
|
||||
%208 = OpAccessChain %197 %52 %27
|
||||
%207 = OpAtomicOr %4 %208 %6 %200 %22
|
||||
OpStore %193 %207
|
||||
%210 = OpAccessChain %197 %52 %27
|
||||
%209 = OpAtomicXor %4 %210 %6 %200 %22
|
||||
OpStore %193 %209
|
||||
%212 = OpAccessChain %197 %52 %27
|
||||
%211 = OpAtomicSMin %4 %212 %6 %200 %22
|
||||
OpStore %193 %211
|
||||
%214 = OpAccessChain %197 %52 %27
|
||||
%213 = OpAtomicSMax %4 %214 %6 %200 %22
|
||||
OpStore %193 %213
|
||||
%216 = OpAccessChain %197 %52 %27
|
||||
%215 = OpAtomicExchange %4 %216 %6 %200 %22
|
||||
OpStore %193 %215
|
||||
%217 = OpAccessChain %197 %52 %27
|
||||
OpAtomicStore %217 %6 %200 %199
|
||||
%198 = OpFunction %2 None %64
|
||||
%197 = OpLabel
|
||||
%195 = OpVariable %58 Function %196
|
||||
OpBranch %199
|
||||
%199 = OpLabel
|
||||
%201 = OpAccessChain %200 %52 %27
|
||||
%202 = OpAtomicLoad %4 %201 %6 %203
|
||||
%205 = OpAccessChain %200 %52 %27
|
||||
%204 = OpAtomicIAdd %4 %205 %6 %203 %22
|
||||
OpStore %195 %204
|
||||
%207 = OpAccessChain %200 %52 %27
|
||||
%206 = OpAtomicISub %4 %207 %6 %203 %22
|
||||
OpStore %195 %206
|
||||
%209 = OpAccessChain %200 %52 %27
|
||||
%208 = OpAtomicAnd %4 %209 %6 %203 %22
|
||||
OpStore %195 %208
|
||||
%211 = OpAccessChain %200 %52 %27
|
||||
%210 = OpAtomicOr %4 %211 %6 %203 %22
|
||||
OpStore %195 %210
|
||||
%213 = OpAccessChain %200 %52 %27
|
||||
%212 = OpAtomicXor %4 %213 %6 %203 %22
|
||||
OpStore %195 %212
|
||||
%215 = OpAccessChain %200 %52 %27
|
||||
%214 = OpAtomicSMin %4 %215 %6 %203 %22
|
||||
OpStore %195 %214
|
||||
%217 = OpAccessChain %200 %52 %27
|
||||
%216 = OpAtomicSMax %4 %217 %6 %203 %22
|
||||
OpStore %195 %216
|
||||
%219 = OpAccessChain %200 %52 %27
|
||||
%218 = OpAtomicExchange %4 %219 %6 %203 %22
|
||||
OpStore %195 %218
|
||||
%220 = OpAccessChain %200 %52 %27
|
||||
OpAtomicStore %220 %6 %203 %202
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -1,15 +1,15 @@
|
||||
; SPIR-V
|
||||
; Version: 1.1
|
||||
; Generator: rspirv
|
||||
; Bound: 429
|
||||
; Bound: 431
|
||||
OpCapability Shader
|
||||
OpCapability ImageQuery
|
||||
OpCapability ShaderNonUniform
|
||||
OpExtension "SPV_EXT_descriptor_indexing"
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Fragment %63 "main" %58 %61
|
||||
OpExecutionMode %63 OriginUpperLeft
|
||||
OpEntryPoint Fragment %65 "main" %60 %63
|
||||
OpExecutionMode %65 OriginUpperLeft
|
||||
OpMemberDecorate %9 0 Offset 0
|
||||
OpMemberDecorate %24 0 Offset 0
|
||||
OpDecorate %27 DescriptorSet 0
|
||||
@ -32,31 +32,31 @@ OpDecorate %45 DescriptorSet 0
|
||||
OpDecorate %45 Binding 8
|
||||
OpDecorate %46 Block
|
||||
OpMemberDecorate %46 0 Offset 0
|
||||
OpDecorate %58 Location 0
|
||||
OpDecorate %58 Flat
|
||||
OpDecorate %61 Location 0
|
||||
OpDecorate %91 NonUniform
|
||||
OpDecorate %114 NonUniform
|
||||
OpDecorate %60 Location 0
|
||||
OpDecorate %60 Flat
|
||||
OpDecorate %63 Location 0
|
||||
OpDecorate %93 NonUniform
|
||||
OpDecorate %116 NonUniform
|
||||
OpDecorate %141 NonUniform
|
||||
OpDecorate %118 NonUniform
|
||||
OpDecorate %143 NonUniform
|
||||
OpDecorate %181 NonUniform
|
||||
OpDecorate %210 NonUniform
|
||||
OpDecorate %226 NonUniform
|
||||
OpDecorate %242 NonUniform
|
||||
OpDecorate %263 NonUniform
|
||||
OpDecorate %145 NonUniform
|
||||
OpDecorate %183 NonUniform
|
||||
OpDecorate %212 NonUniform
|
||||
OpDecorate %228 NonUniform
|
||||
OpDecorate %244 NonUniform
|
||||
OpDecorate %265 NonUniform
|
||||
OpDecorate %287 NonUniform
|
||||
OpDecorate %267 NonUniform
|
||||
OpDecorate %289 NonUniform
|
||||
OpDecorate %311 NonUniform
|
||||
OpDecorate %291 NonUniform
|
||||
OpDecorate %313 NonUniform
|
||||
OpDecorate %335 NonUniform
|
||||
OpDecorate %315 NonUniform
|
||||
OpDecorate %337 NonUniform
|
||||
OpDecorate %359 NonUniform
|
||||
OpDecorate %339 NonUniform
|
||||
OpDecorate %361 NonUniform
|
||||
OpDecorate %383 NonUniform
|
||||
OpDecorate %363 NonUniform
|
||||
OpDecorate %385 NonUniform
|
||||
OpDecorate %407 NonUniform
|
||||
OpDecorate %387 NonUniform
|
||||
OpDecorate %409 NonUniform
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 1
|
||||
%3 = OpConstant %4 5
|
||||
@ -105,451 +105,453 @@ OpDecorate %407 NonUniform
|
||||
%45 = OpVariable %47 Uniform
|
||||
%49 = OpTypePointer Function %4
|
||||
%51 = OpTypePointer Function %26
|
||||
%53 = OpTypePointer Function %7
|
||||
%55 = OpTypePointer Function %25
|
||||
%59 = OpTypePointer Input %8
|
||||
%58 = OpVariable %59 Input
|
||||
%62 = OpTypePointer Output %25
|
||||
%61 = OpVariable %62 Output
|
||||
%64 = OpTypeFunction %2
|
||||
%65 = OpTypePointer Uniform %9
|
||||
%66 = OpConstant %8 0
|
||||
%69 = OpTypePointer Uniform %8
|
||||
%75 = OpTypeVector %7 2
|
||||
%79 = OpTypePointer UniformConstant %10
|
||||
%97 = OpTypePointer UniformConstant %21
|
||||
%100 = OpTypeSampledImage %10
|
||||
%121 = OpTypePointer UniformConstant %17
|
||||
%124 = OpTypePointer UniformConstant %21
|
||||
%127 = OpTypeSampledImage %17
|
||||
%150 = OpTypeBool
|
||||
%151 = OpConstantNull %25
|
||||
%157 = OpTypeVector %150 2
|
||||
%167 = OpConstantNull %25
|
||||
%182 = OpConstantNull %25
|
||||
%195 = OpTypePointer UniformConstant %13
|
||||
%198 = OpTypeVector %4 3
|
||||
%230 = OpTypePointer UniformConstant %15
|
||||
%389 = OpTypePointer UniformConstant %19
|
||||
%63 = OpFunction %2 None %64
|
||||
%56 = OpLabel
|
||||
%50 = OpVariable %51 Function
|
||||
%54 = OpVariable %55 Function
|
||||
%52 = OpConstantNull %26
|
||||
%54 = OpTypePointer Function %7
|
||||
%56 = OpTypePointer Function %25
|
||||
%57 = OpConstantNull %25
|
||||
%61 = OpTypePointer Input %8
|
||||
%60 = OpVariable %61 Input
|
||||
%64 = OpTypePointer Output %25
|
||||
%63 = OpVariable %64 Output
|
||||
%66 = OpTypeFunction %2
|
||||
%67 = OpTypePointer Uniform %9
|
||||
%68 = OpConstant %8 0
|
||||
%71 = OpTypePointer Uniform %8
|
||||
%77 = OpTypeVector %7 2
|
||||
%81 = OpTypePointer UniformConstant %10
|
||||
%99 = OpTypePointer UniformConstant %21
|
||||
%102 = OpTypeSampledImage %10
|
||||
%123 = OpTypePointer UniformConstant %17
|
||||
%126 = OpTypePointer UniformConstant %21
|
||||
%129 = OpTypeSampledImage %17
|
||||
%152 = OpTypeBool
|
||||
%153 = OpConstantNull %25
|
||||
%159 = OpTypeVector %152 2
|
||||
%169 = OpConstantNull %25
|
||||
%184 = OpConstantNull %25
|
||||
%197 = OpTypePointer UniformConstant %13
|
||||
%200 = OpTypeVector %4 3
|
||||
%232 = OpTypePointer UniformConstant %15
|
||||
%391 = OpTypePointer UniformConstant %19
|
||||
%65 = OpFunction %2 None %66
|
||||
%58 = OpLabel
|
||||
%50 = OpVariable %51 Function %52
|
||||
%55 = OpVariable %56 Function %57
|
||||
%48 = OpVariable %49 Function %5
|
||||
%52 = OpVariable %53 Function %6
|
||||
%60 = OpLoad %8 %58
|
||||
%57 = OpCompositeConstruct %24 %60
|
||||
%67 = OpAccessChain %65 %45 %66
|
||||
OpBranch %68
|
||||
%68 = OpLabel
|
||||
%70 = OpAccessChain %69 %67 %66
|
||||
%71 = OpLoad %8 %70
|
||||
%72 = OpCompositeExtract %8 %57 0
|
||||
%73 = OpCompositeConstruct %26 %5 %5
|
||||
OpStore %50 %73
|
||||
%74 = OpCompositeConstruct %25 %6 %6 %6 %6
|
||||
OpStore %54 %74
|
||||
%76 = OpCompositeConstruct %75 %6 %6
|
||||
%77 = OpCompositeConstruct %26 %5 %5
|
||||
%78 = OpLoad %26 %50
|
||||
%80 = OpAccessChain %79 %27 %66
|
||||
%81 = OpLoad %10 %80
|
||||
%82 = OpImageQuerySizeLod %26 %81 %66
|
||||
%83 = OpIAdd %26 %78 %82
|
||||
OpStore %50 %83
|
||||
%84 = OpLoad %26 %50
|
||||
%85 = OpAccessChain %79 %27 %71
|
||||
%86 = OpLoad %10 %85
|
||||
%87 = OpImageQuerySizeLod %26 %86 %66
|
||||
%88 = OpIAdd %26 %84 %87
|
||||
OpStore %50 %88
|
||||
%89 = OpLoad %26 %50
|
||||
%90 = OpAccessChain %79 %27 %72
|
||||
%91 = OpLoad %10 %90
|
||||
%92 = OpImageQuerySizeLod %26 %91 %66
|
||||
%93 = OpIAdd %26 %89 %92
|
||||
OpStore %50 %93
|
||||
%94 = OpLoad %25 %54
|
||||
%95 = OpAccessChain %79 %31 %66
|
||||
%96 = OpLoad %10 %95
|
||||
%98 = OpAccessChain %97 %41 %66
|
||||
%99 = OpLoad %21 %98
|
||||
%101 = OpSampledImage %100 %96 %99
|
||||
%102 = OpImageGather %25 %101 %76 %66
|
||||
%103 = OpFAdd %25 %94 %102
|
||||
OpStore %54 %103
|
||||
%104 = OpLoad %25 %54
|
||||
%105 = OpAccessChain %79 %31 %71
|
||||
%106 = OpLoad %10 %105
|
||||
%107 = OpAccessChain %97 %41 %71
|
||||
%108 = OpLoad %21 %107
|
||||
%109 = OpSampledImage %100 %106 %108
|
||||
%110 = OpImageGather %25 %109 %76 %66
|
||||
%111 = OpFAdd %25 %104 %110
|
||||
OpStore %54 %111
|
||||
%112 = OpLoad %25 %54
|
||||
%113 = OpAccessChain %79 %31 %72
|
||||
%114 = OpLoad %10 %113
|
||||
%115 = OpAccessChain %97 %41 %72
|
||||
%116 = OpLoad %21 %115
|
||||
%117 = OpSampledImage %100 %114 %116
|
||||
%118 = OpImageGather %25 %117 %76 %66
|
||||
%119 = OpFAdd %25 %112 %118
|
||||
OpStore %54 %119
|
||||
%120 = OpLoad %25 %54
|
||||
%122 = OpAccessChain %121 %37 %66
|
||||
%123 = OpLoad %17 %122
|
||||
%125 = OpAccessChain %124 %43 %66
|
||||
%126 = OpLoad %21 %125
|
||||
%128 = OpSampledImage %127 %123 %126
|
||||
%129 = OpImageDrefGather %25 %128 %76 %6
|
||||
%130 = OpFAdd %25 %120 %129
|
||||
OpStore %54 %130
|
||||
%131 = OpLoad %25 %54
|
||||
%132 = OpAccessChain %121 %37 %71
|
||||
%133 = OpLoad %17 %132
|
||||
%134 = OpAccessChain %124 %43 %71
|
||||
%135 = OpLoad %21 %134
|
||||
%136 = OpSampledImage %127 %133 %135
|
||||
%137 = OpImageDrefGather %25 %136 %76 %6
|
||||
%138 = OpFAdd %25 %131 %137
|
||||
OpStore %54 %138
|
||||
%139 = OpLoad %25 %54
|
||||
%140 = OpAccessChain %121 %37 %72
|
||||
%141 = OpLoad %17 %140
|
||||
%142 = OpAccessChain %124 %43 %72
|
||||
%143 = OpLoad %21 %142
|
||||
%144 = OpSampledImage %127 %141 %143
|
||||
%145 = OpImageDrefGather %25 %144 %76 %6
|
||||
%146 = OpFAdd %25 %139 %145
|
||||
OpStore %54 %146
|
||||
%147 = OpLoad %25 %54
|
||||
%148 = OpAccessChain %79 %27 %66
|
||||
%149 = OpLoad %10 %148
|
||||
%152 = OpImageQueryLevels %4 %149
|
||||
%153 = OpULessThan %150 %5 %152
|
||||
OpSelectionMerge %154 None
|
||||
OpBranchConditional %153 %155 %154
|
||||
%155 = OpLabel
|
||||
%156 = OpImageQuerySizeLod %26 %149 %5
|
||||
%158 = OpULessThan %157 %77 %156
|
||||
%159 = OpAll %150 %158
|
||||
OpBranchConditional %159 %160 %154
|
||||
%160 = OpLabel
|
||||
%161 = OpImageFetch %25 %149 %77 Lod %5
|
||||
OpBranch %154
|
||||
%154 = OpLabel
|
||||
%162 = OpPhi %25 %151 %68 %151 %155 %161 %160
|
||||
%163 = OpFAdd %25 %147 %162
|
||||
OpStore %54 %163
|
||||
%164 = OpLoad %25 %54
|
||||
%165 = OpAccessChain %79 %27 %71
|
||||
%166 = OpLoad %10 %165
|
||||
%168 = OpImageQueryLevels %4 %166
|
||||
%169 = OpULessThan %150 %5 %168
|
||||
OpSelectionMerge %170 None
|
||||
OpBranchConditional %169 %171 %170
|
||||
%171 = OpLabel
|
||||
%172 = OpImageQuerySizeLod %26 %166 %5
|
||||
%173 = OpULessThan %157 %77 %172
|
||||
%174 = OpAll %150 %173
|
||||
OpBranchConditional %174 %175 %170
|
||||
%175 = OpLabel
|
||||
%176 = OpImageFetch %25 %166 %77 Lod %5
|
||||
OpBranch %170
|
||||
%170 = OpLabel
|
||||
%177 = OpPhi %25 %167 %154 %167 %171 %176 %175
|
||||
%178 = OpFAdd %25 %164 %177
|
||||
OpStore %54 %178
|
||||
%179 = OpLoad %25 %54
|
||||
%180 = OpAccessChain %79 %27 %72
|
||||
%181 = OpLoad %10 %180
|
||||
%183 = OpImageQueryLevels %4 %181
|
||||
%184 = OpULessThan %150 %5 %183
|
||||
OpSelectionMerge %185 None
|
||||
OpBranchConditional %184 %186 %185
|
||||
%186 = OpLabel
|
||||
%187 = OpImageQuerySizeLod %26 %181 %5
|
||||
%188 = OpULessThan %157 %77 %187
|
||||
%189 = OpAll %150 %188
|
||||
OpBranchConditional %189 %190 %185
|
||||
%190 = OpLabel
|
||||
%191 = OpImageFetch %25 %181 %77 Lod %5
|
||||
OpBranch %185
|
||||
%185 = OpLabel
|
||||
%192 = OpPhi %25 %182 %170 %182 %186 %191 %190
|
||||
%193 = OpFAdd %25 %179 %192
|
||||
OpStore %54 %193
|
||||
%194 = OpLoad %4 %48
|
||||
%196 = OpAccessChain %195 %33 %66
|
||||
%197 = OpLoad %13 %196
|
||||
%199 = OpImageQuerySizeLod %198 %197 %66
|
||||
%200 = OpCompositeExtract %4 %199 2
|
||||
%201 = OpIAdd %4 %194 %200
|
||||
OpStore %48 %201
|
||||
%202 = OpLoad %4 %48
|
||||
%203 = OpAccessChain %195 %33 %71
|
||||
%204 = OpLoad %13 %203
|
||||
%205 = OpImageQuerySizeLod %198 %204 %66
|
||||
%206 = OpCompositeExtract %4 %205 2
|
||||
%207 = OpIAdd %4 %202 %206
|
||||
OpStore %48 %207
|
||||
%208 = OpLoad %4 %48
|
||||
%209 = OpAccessChain %195 %33 %72
|
||||
%210 = OpLoad %13 %209
|
||||
%211 = OpImageQuerySizeLod %198 %210 %66
|
||||
%212 = OpCompositeExtract %4 %211 2
|
||||
%213 = OpIAdd %4 %208 %212
|
||||
OpStore %48 %213
|
||||
%214 = OpLoad %4 %48
|
||||
%215 = OpAccessChain %79 %31 %66
|
||||
%216 = OpLoad %10 %215
|
||||
%217 = OpImageQueryLevels %4 %216
|
||||
%218 = OpIAdd %4 %214 %217
|
||||
OpStore %48 %218
|
||||
%219 = OpLoad %4 %48
|
||||
%220 = OpAccessChain %79 %31 %71
|
||||
%221 = OpLoad %10 %220
|
||||
%222 = OpImageQueryLevels %4 %221
|
||||
%223 = OpIAdd %4 %219 %222
|
||||
OpStore %48 %223
|
||||
%224 = OpLoad %4 %48
|
||||
%225 = OpAccessChain %79 %31 %72
|
||||
%226 = OpLoad %10 %225
|
||||
%227 = OpImageQueryLevels %4 %226
|
||||
%228 = OpIAdd %4 %224 %227
|
||||
OpStore %48 %228
|
||||
%229 = OpLoad %4 %48
|
||||
%231 = OpAccessChain %230 %35 %66
|
||||
%232 = OpLoad %15 %231
|
||||
%233 = OpImageQuerySamples %4 %232
|
||||
%234 = OpIAdd %4 %229 %233
|
||||
OpStore %48 %234
|
||||
%235 = OpLoad %4 %48
|
||||
%236 = OpAccessChain %230 %35 %71
|
||||
%237 = OpLoad %15 %236
|
||||
%238 = OpImageQuerySamples %4 %237
|
||||
%239 = OpIAdd %4 %235 %238
|
||||
OpStore %48 %239
|
||||
%240 = OpLoad %4 %48
|
||||
%241 = OpAccessChain %230 %35 %72
|
||||
%242 = OpLoad %15 %241
|
||||
%243 = OpImageQuerySamples %4 %242
|
||||
%244 = OpIAdd %4 %240 %243
|
||||
OpStore %48 %244
|
||||
%245 = OpLoad %25 %54
|
||||
%246 = OpAccessChain %79 %31 %66
|
||||
%247 = OpLoad %10 %246
|
||||
%248 = OpAccessChain %97 %41 %66
|
||||
%249 = OpLoad %21 %248
|
||||
%250 = OpSampledImage %100 %247 %249
|
||||
%251 = OpImageSampleImplicitLod %25 %250 %76
|
||||
%252 = OpFAdd %25 %245 %251
|
||||
OpStore %54 %252
|
||||
%253 = OpLoad %25 %54
|
||||
%254 = OpAccessChain %79 %31 %71
|
||||
%255 = OpLoad %10 %254
|
||||
%256 = OpAccessChain %97 %41 %71
|
||||
%257 = OpLoad %21 %256
|
||||
%258 = OpSampledImage %100 %255 %257
|
||||
%259 = OpImageSampleImplicitLod %25 %258 %76
|
||||
%260 = OpFAdd %25 %253 %259
|
||||
OpStore %54 %260
|
||||
%261 = OpLoad %25 %54
|
||||
%262 = OpAccessChain %79 %31 %72
|
||||
%263 = OpLoad %10 %262
|
||||
%264 = OpAccessChain %97 %41 %72
|
||||
%265 = OpLoad %21 %264
|
||||
%266 = OpSampledImage %100 %263 %265
|
||||
%267 = OpImageSampleImplicitLod %25 %266 %76
|
||||
%268 = OpFAdd %25 %261 %267
|
||||
OpStore %54 %268
|
||||
%269 = OpLoad %25 %54
|
||||
%270 = OpAccessChain %79 %31 %66
|
||||
%271 = OpLoad %10 %270
|
||||
%272 = OpAccessChain %97 %41 %66
|
||||
%273 = OpLoad %21 %272
|
||||
%274 = OpSampledImage %100 %271 %273
|
||||
%275 = OpImageSampleImplicitLod %25 %274 %76 Bias %6
|
||||
%276 = OpFAdd %25 %269 %275
|
||||
OpStore %54 %276
|
||||
%277 = OpLoad %25 %54
|
||||
%278 = OpAccessChain %79 %31 %71
|
||||
%279 = OpLoad %10 %278
|
||||
%280 = OpAccessChain %97 %41 %71
|
||||
%281 = OpLoad %21 %280
|
||||
%282 = OpSampledImage %100 %279 %281
|
||||
%283 = OpImageSampleImplicitLod %25 %282 %76 Bias %6
|
||||
%284 = OpFAdd %25 %277 %283
|
||||
OpStore %54 %284
|
||||
%285 = OpLoad %25 %54
|
||||
%286 = OpAccessChain %79 %31 %72
|
||||
%287 = OpLoad %10 %286
|
||||
%288 = OpAccessChain %97 %41 %72
|
||||
%289 = OpLoad %21 %288
|
||||
%290 = OpSampledImage %100 %287 %289
|
||||
%291 = OpImageSampleImplicitLod %25 %290 %76 Bias %6
|
||||
%292 = OpFAdd %25 %285 %291
|
||||
OpStore %54 %292
|
||||
%293 = OpLoad %7 %52
|
||||
%294 = OpAccessChain %121 %37 %66
|
||||
%295 = OpLoad %17 %294
|
||||
%296 = OpAccessChain %124 %43 %66
|
||||
%297 = OpLoad %21 %296
|
||||
%298 = OpSampledImage %127 %295 %297
|
||||
%299 = OpImageSampleDrefImplicitLod %7 %298 %76 %6
|
||||
%300 = OpFAdd %7 %293 %299
|
||||
OpStore %52 %300
|
||||
%301 = OpLoad %7 %52
|
||||
%302 = OpAccessChain %121 %37 %71
|
||||
%303 = OpLoad %17 %302
|
||||
%304 = OpAccessChain %124 %43 %71
|
||||
%305 = OpLoad %21 %304
|
||||
%306 = OpSampledImage %127 %303 %305
|
||||
%307 = OpImageSampleDrefImplicitLod %7 %306 %76 %6
|
||||
%308 = OpFAdd %7 %301 %307
|
||||
OpStore %52 %308
|
||||
%309 = OpLoad %7 %52
|
||||
%310 = OpAccessChain %121 %37 %72
|
||||
%311 = OpLoad %17 %310
|
||||
%312 = OpAccessChain %124 %43 %72
|
||||
%313 = OpLoad %21 %312
|
||||
%314 = OpSampledImage %127 %311 %313
|
||||
%315 = OpImageSampleDrefImplicitLod %7 %314 %76 %6
|
||||
%316 = OpFAdd %7 %309 %315
|
||||
OpStore %52 %316
|
||||
%317 = OpLoad %7 %52
|
||||
%318 = OpAccessChain %121 %37 %66
|
||||
%319 = OpLoad %17 %318
|
||||
%320 = OpAccessChain %124 %43 %66
|
||||
%321 = OpLoad %21 %320
|
||||
%322 = OpSampledImage %127 %319 %321
|
||||
%323 = OpImageSampleDrefExplicitLod %7 %322 %76 %6 Lod %6
|
||||
%324 = OpFAdd %7 %317 %323
|
||||
OpStore %52 %324
|
||||
%325 = OpLoad %7 %52
|
||||
%326 = OpAccessChain %121 %37 %71
|
||||
%327 = OpLoad %17 %326
|
||||
%328 = OpAccessChain %124 %43 %71
|
||||
%329 = OpLoad %21 %328
|
||||
%330 = OpSampledImage %127 %327 %329
|
||||
%331 = OpImageSampleDrefExplicitLod %7 %330 %76 %6 Lod %6
|
||||
%332 = OpFAdd %7 %325 %331
|
||||
OpStore %52 %332
|
||||
%333 = OpLoad %7 %52
|
||||
%334 = OpAccessChain %121 %37 %72
|
||||
%335 = OpLoad %17 %334
|
||||
%336 = OpAccessChain %124 %43 %72
|
||||
%337 = OpLoad %21 %336
|
||||
%338 = OpSampledImage %127 %335 %337
|
||||
%339 = OpImageSampleDrefExplicitLod %7 %338 %76 %6 Lod %6
|
||||
%340 = OpFAdd %7 %333 %339
|
||||
OpStore %52 %340
|
||||
%341 = OpLoad %25 %54
|
||||
%342 = OpAccessChain %79 %31 %66
|
||||
%343 = OpLoad %10 %342
|
||||
%344 = OpAccessChain %97 %41 %66
|
||||
%345 = OpLoad %21 %344
|
||||
%346 = OpSampledImage %100 %343 %345
|
||||
%347 = OpImageSampleExplicitLod %25 %346 %76 Grad %76 %76
|
||||
%348 = OpFAdd %25 %341 %347
|
||||
OpStore %54 %348
|
||||
%349 = OpLoad %25 %54
|
||||
%350 = OpAccessChain %79 %31 %71
|
||||
%351 = OpLoad %10 %350
|
||||
%352 = OpAccessChain %97 %41 %71
|
||||
%353 = OpLoad %21 %352
|
||||
%354 = OpSampledImage %100 %351 %353
|
||||
%355 = OpImageSampleExplicitLod %25 %354 %76 Grad %76 %76
|
||||
%356 = OpFAdd %25 %349 %355
|
||||
OpStore %54 %356
|
||||
%357 = OpLoad %25 %54
|
||||
%358 = OpAccessChain %79 %31 %72
|
||||
%359 = OpLoad %10 %358
|
||||
%360 = OpAccessChain %97 %41 %72
|
||||
%361 = OpLoad %21 %360
|
||||
%362 = OpSampledImage %100 %359 %361
|
||||
%363 = OpImageSampleExplicitLod %25 %362 %76 Grad %76 %76
|
||||
%364 = OpFAdd %25 %357 %363
|
||||
OpStore %54 %364
|
||||
%365 = OpLoad %25 %54
|
||||
%366 = OpAccessChain %79 %31 %66
|
||||
%367 = OpLoad %10 %366
|
||||
%368 = OpAccessChain %97 %41 %66
|
||||
%369 = OpLoad %21 %368
|
||||
%370 = OpSampledImage %100 %367 %369
|
||||
%371 = OpImageSampleExplicitLod %25 %370 %76 Lod %6
|
||||
%372 = OpFAdd %25 %365 %371
|
||||
OpStore %54 %372
|
||||
%373 = OpLoad %25 %54
|
||||
%374 = OpAccessChain %79 %31 %71
|
||||
%375 = OpLoad %10 %374
|
||||
%376 = OpAccessChain %97 %41 %71
|
||||
%377 = OpLoad %21 %376
|
||||
%378 = OpSampledImage %100 %375 %377
|
||||
%379 = OpImageSampleExplicitLod %25 %378 %76 Lod %6
|
||||
%380 = OpFAdd %25 %373 %379
|
||||
OpStore %54 %380
|
||||
%381 = OpLoad %25 %54
|
||||
%382 = OpAccessChain %79 %31 %72
|
||||
%383 = OpLoad %10 %382
|
||||
%384 = OpAccessChain %97 %41 %72
|
||||
%385 = OpLoad %21 %384
|
||||
%386 = OpSampledImage %100 %383 %385
|
||||
%387 = OpImageSampleExplicitLod %25 %386 %76 Lod %6
|
||||
%388 = OpFAdd %25 %381 %387
|
||||
OpStore %54 %388
|
||||
%390 = OpAccessChain %389 %39 %66
|
||||
%391 = OpLoad %19 %390
|
||||
%392 = OpLoad %25 %54
|
||||
%393 = OpImageQuerySize %26 %391
|
||||
%394 = OpULessThan %157 %77 %393
|
||||
%395 = OpAll %150 %394
|
||||
OpSelectionMerge %396 None
|
||||
OpBranchConditional %395 %397 %396
|
||||
%397 = OpLabel
|
||||
OpImageWrite %391 %77 %392
|
||||
OpBranch %396
|
||||
%396 = OpLabel
|
||||
%398 = OpAccessChain %389 %39 %71
|
||||
%399 = OpLoad %19 %398
|
||||
%400 = OpLoad %25 %54
|
||||
%401 = OpImageQuerySize %26 %399
|
||||
%402 = OpULessThan %157 %77 %401
|
||||
%403 = OpAll %150 %402
|
||||
OpSelectionMerge %404 None
|
||||
OpBranchConditional %403 %405 %404
|
||||
%405 = OpLabel
|
||||
OpImageWrite %399 %77 %400
|
||||
OpBranch %404
|
||||
%404 = OpLabel
|
||||
%406 = OpAccessChain %389 %39 %72
|
||||
%407 = OpLoad %19 %406
|
||||
%408 = OpLoad %25 %54
|
||||
%409 = OpImageQuerySize %26 %407
|
||||
%410 = OpULessThan %157 %77 %409
|
||||
%411 = OpAll %150 %410
|
||||
OpSelectionMerge %412 None
|
||||
OpBranchConditional %411 %413 %412
|
||||
%413 = OpLabel
|
||||
OpImageWrite %407 %77 %408
|
||||
OpBranch %412
|
||||
%412 = OpLabel
|
||||
%414 = OpLoad %26 %50
|
||||
%415 = OpLoad %4 %48
|
||||
%416 = OpCompositeConstruct %26 %415 %415
|
||||
%417 = OpIAdd %26 %414 %416
|
||||
%418 = OpConvertSToF %75 %417
|
||||
%419 = OpLoad %25 %54
|
||||
%420 = OpCompositeExtract %7 %418 0
|
||||
%421 = OpCompositeExtract %7 %418 1
|
||||
%422 = OpCompositeExtract %7 %418 0
|
||||
%423 = OpCompositeExtract %7 %418 1
|
||||
%424 = OpCompositeConstruct %25 %420 %421 %422 %423
|
||||
%425 = OpFAdd %25 %419 %424
|
||||
%426 = OpLoad %7 %52
|
||||
%427 = OpCompositeConstruct %25 %426 %426 %426 %426
|
||||
%428 = OpFAdd %25 %425 %427
|
||||
OpStore %61 %428
|
||||
%53 = OpVariable %54 Function %6
|
||||
%62 = OpLoad %8 %60
|
||||
%59 = OpCompositeConstruct %24 %62
|
||||
%69 = OpAccessChain %67 %45 %68
|
||||
OpBranch %70
|
||||
%70 = OpLabel
|
||||
%72 = OpAccessChain %71 %69 %68
|
||||
%73 = OpLoad %8 %72
|
||||
%74 = OpCompositeExtract %8 %59 0
|
||||
%75 = OpCompositeConstruct %26 %5 %5
|
||||
OpStore %50 %75
|
||||
%76 = OpCompositeConstruct %25 %6 %6 %6 %6
|
||||
OpStore %55 %76
|
||||
%78 = OpCompositeConstruct %77 %6 %6
|
||||
%79 = OpCompositeConstruct %26 %5 %5
|
||||
%80 = OpLoad %26 %50
|
||||
%82 = OpAccessChain %81 %27 %68
|
||||
%83 = OpLoad %10 %82
|
||||
%84 = OpImageQuerySizeLod %26 %83 %68
|
||||
%85 = OpIAdd %26 %80 %84
|
||||
OpStore %50 %85
|
||||
%86 = OpLoad %26 %50
|
||||
%87 = OpAccessChain %81 %27 %73
|
||||
%88 = OpLoad %10 %87
|
||||
%89 = OpImageQuerySizeLod %26 %88 %68
|
||||
%90 = OpIAdd %26 %86 %89
|
||||
OpStore %50 %90
|
||||
%91 = OpLoad %26 %50
|
||||
%92 = OpAccessChain %81 %27 %74
|
||||
%93 = OpLoad %10 %92
|
||||
%94 = OpImageQuerySizeLod %26 %93 %68
|
||||
%95 = OpIAdd %26 %91 %94
|
||||
OpStore %50 %95
|
||||
%96 = OpLoad %25 %55
|
||||
%97 = OpAccessChain %81 %31 %68
|
||||
%98 = OpLoad %10 %97
|
||||
%100 = OpAccessChain %99 %41 %68
|
||||
%101 = OpLoad %21 %100
|
||||
%103 = OpSampledImage %102 %98 %101
|
||||
%104 = OpImageGather %25 %103 %78 %68
|
||||
%105 = OpFAdd %25 %96 %104
|
||||
OpStore %55 %105
|
||||
%106 = OpLoad %25 %55
|
||||
%107 = OpAccessChain %81 %31 %73
|
||||
%108 = OpLoad %10 %107
|
||||
%109 = OpAccessChain %99 %41 %73
|
||||
%110 = OpLoad %21 %109
|
||||
%111 = OpSampledImage %102 %108 %110
|
||||
%112 = OpImageGather %25 %111 %78 %68
|
||||
%113 = OpFAdd %25 %106 %112
|
||||
OpStore %55 %113
|
||||
%114 = OpLoad %25 %55
|
||||
%115 = OpAccessChain %81 %31 %74
|
||||
%116 = OpLoad %10 %115
|
||||
%117 = OpAccessChain %99 %41 %74
|
||||
%118 = OpLoad %21 %117
|
||||
%119 = OpSampledImage %102 %116 %118
|
||||
%120 = OpImageGather %25 %119 %78 %68
|
||||
%121 = OpFAdd %25 %114 %120
|
||||
OpStore %55 %121
|
||||
%122 = OpLoad %25 %55
|
||||
%124 = OpAccessChain %123 %37 %68
|
||||
%125 = OpLoad %17 %124
|
||||
%127 = OpAccessChain %126 %43 %68
|
||||
%128 = OpLoad %21 %127
|
||||
%130 = OpSampledImage %129 %125 %128
|
||||
%131 = OpImageDrefGather %25 %130 %78 %6
|
||||
%132 = OpFAdd %25 %122 %131
|
||||
OpStore %55 %132
|
||||
%133 = OpLoad %25 %55
|
||||
%134 = OpAccessChain %123 %37 %73
|
||||
%135 = OpLoad %17 %134
|
||||
%136 = OpAccessChain %126 %43 %73
|
||||
%137 = OpLoad %21 %136
|
||||
%138 = OpSampledImage %129 %135 %137
|
||||
%139 = OpImageDrefGather %25 %138 %78 %6
|
||||
%140 = OpFAdd %25 %133 %139
|
||||
OpStore %55 %140
|
||||
%141 = OpLoad %25 %55
|
||||
%142 = OpAccessChain %123 %37 %74
|
||||
%143 = OpLoad %17 %142
|
||||
%144 = OpAccessChain %126 %43 %74
|
||||
%145 = OpLoad %21 %144
|
||||
%146 = OpSampledImage %129 %143 %145
|
||||
%147 = OpImageDrefGather %25 %146 %78 %6
|
||||
%148 = OpFAdd %25 %141 %147
|
||||
OpStore %55 %148
|
||||
%149 = OpLoad %25 %55
|
||||
%150 = OpAccessChain %81 %27 %68
|
||||
%151 = OpLoad %10 %150
|
||||
%154 = OpImageQueryLevels %4 %151
|
||||
%155 = OpULessThan %152 %5 %154
|
||||
OpSelectionMerge %156 None
|
||||
OpBranchConditional %155 %157 %156
|
||||
%157 = OpLabel
|
||||
%158 = OpImageQuerySizeLod %26 %151 %5
|
||||
%160 = OpULessThan %159 %79 %158
|
||||
%161 = OpAll %152 %160
|
||||
OpBranchConditional %161 %162 %156
|
||||
%162 = OpLabel
|
||||
%163 = OpImageFetch %25 %151 %79 Lod %5
|
||||
OpBranch %156
|
||||
%156 = OpLabel
|
||||
%164 = OpPhi %25 %153 %70 %153 %157 %163 %162
|
||||
%165 = OpFAdd %25 %149 %164
|
||||
OpStore %55 %165
|
||||
%166 = OpLoad %25 %55
|
||||
%167 = OpAccessChain %81 %27 %73
|
||||
%168 = OpLoad %10 %167
|
||||
%170 = OpImageQueryLevels %4 %168
|
||||
%171 = OpULessThan %152 %5 %170
|
||||
OpSelectionMerge %172 None
|
||||
OpBranchConditional %171 %173 %172
|
||||
%173 = OpLabel
|
||||
%174 = OpImageQuerySizeLod %26 %168 %5
|
||||
%175 = OpULessThan %159 %79 %174
|
||||
%176 = OpAll %152 %175
|
||||
OpBranchConditional %176 %177 %172
|
||||
%177 = OpLabel
|
||||
%178 = OpImageFetch %25 %168 %79 Lod %5
|
||||
OpBranch %172
|
||||
%172 = OpLabel
|
||||
%179 = OpPhi %25 %169 %156 %169 %173 %178 %177
|
||||
%180 = OpFAdd %25 %166 %179
|
||||
OpStore %55 %180
|
||||
%181 = OpLoad %25 %55
|
||||
%182 = OpAccessChain %81 %27 %74
|
||||
%183 = OpLoad %10 %182
|
||||
%185 = OpImageQueryLevels %4 %183
|
||||
%186 = OpULessThan %152 %5 %185
|
||||
OpSelectionMerge %187 None
|
||||
OpBranchConditional %186 %188 %187
|
||||
%188 = OpLabel
|
||||
%189 = OpImageQuerySizeLod %26 %183 %5
|
||||
%190 = OpULessThan %159 %79 %189
|
||||
%191 = OpAll %152 %190
|
||||
OpBranchConditional %191 %192 %187
|
||||
%192 = OpLabel
|
||||
%193 = OpImageFetch %25 %183 %79 Lod %5
|
||||
OpBranch %187
|
||||
%187 = OpLabel
|
||||
%194 = OpPhi %25 %184 %172 %184 %188 %193 %192
|
||||
%195 = OpFAdd %25 %181 %194
|
||||
OpStore %55 %195
|
||||
%196 = OpLoad %4 %48
|
||||
%198 = OpAccessChain %197 %33 %68
|
||||
%199 = OpLoad %13 %198
|
||||
%201 = OpImageQuerySizeLod %200 %199 %68
|
||||
%202 = OpCompositeExtract %4 %201 2
|
||||
%203 = OpIAdd %4 %196 %202
|
||||
OpStore %48 %203
|
||||
%204 = OpLoad %4 %48
|
||||
%205 = OpAccessChain %197 %33 %73
|
||||
%206 = OpLoad %13 %205
|
||||
%207 = OpImageQuerySizeLod %200 %206 %68
|
||||
%208 = OpCompositeExtract %4 %207 2
|
||||
%209 = OpIAdd %4 %204 %208
|
||||
OpStore %48 %209
|
||||
%210 = OpLoad %4 %48
|
||||
%211 = OpAccessChain %197 %33 %74
|
||||
%212 = OpLoad %13 %211
|
||||
%213 = OpImageQuerySizeLod %200 %212 %68
|
||||
%214 = OpCompositeExtract %4 %213 2
|
||||
%215 = OpIAdd %4 %210 %214
|
||||
OpStore %48 %215
|
||||
%216 = OpLoad %4 %48
|
||||
%217 = OpAccessChain %81 %31 %68
|
||||
%218 = OpLoad %10 %217
|
||||
%219 = OpImageQueryLevels %4 %218
|
||||
%220 = OpIAdd %4 %216 %219
|
||||
OpStore %48 %220
|
||||
%221 = OpLoad %4 %48
|
||||
%222 = OpAccessChain %81 %31 %73
|
||||
%223 = OpLoad %10 %222
|
||||
%224 = OpImageQueryLevels %4 %223
|
||||
%225 = OpIAdd %4 %221 %224
|
||||
OpStore %48 %225
|
||||
%226 = OpLoad %4 %48
|
||||
%227 = OpAccessChain %81 %31 %74
|
||||
%228 = OpLoad %10 %227
|
||||
%229 = OpImageQueryLevels %4 %228
|
||||
%230 = OpIAdd %4 %226 %229
|
||||
OpStore %48 %230
|
||||
%231 = OpLoad %4 %48
|
||||
%233 = OpAccessChain %232 %35 %68
|
||||
%234 = OpLoad %15 %233
|
||||
%235 = OpImageQuerySamples %4 %234
|
||||
%236 = OpIAdd %4 %231 %235
|
||||
OpStore %48 %236
|
||||
%237 = OpLoad %4 %48
|
||||
%238 = OpAccessChain %232 %35 %73
|
||||
%239 = OpLoad %15 %238
|
||||
%240 = OpImageQuerySamples %4 %239
|
||||
%241 = OpIAdd %4 %237 %240
|
||||
OpStore %48 %241
|
||||
%242 = OpLoad %4 %48
|
||||
%243 = OpAccessChain %232 %35 %74
|
||||
%244 = OpLoad %15 %243
|
||||
%245 = OpImageQuerySamples %4 %244
|
||||
%246 = OpIAdd %4 %242 %245
|
||||
OpStore %48 %246
|
||||
%247 = OpLoad %25 %55
|
||||
%248 = OpAccessChain %81 %31 %68
|
||||
%249 = OpLoad %10 %248
|
||||
%250 = OpAccessChain %99 %41 %68
|
||||
%251 = OpLoad %21 %250
|
||||
%252 = OpSampledImage %102 %249 %251
|
||||
%253 = OpImageSampleImplicitLod %25 %252 %78
|
||||
%254 = OpFAdd %25 %247 %253
|
||||
OpStore %55 %254
|
||||
%255 = OpLoad %25 %55
|
||||
%256 = OpAccessChain %81 %31 %73
|
||||
%257 = OpLoad %10 %256
|
||||
%258 = OpAccessChain %99 %41 %73
|
||||
%259 = OpLoad %21 %258
|
||||
%260 = OpSampledImage %102 %257 %259
|
||||
%261 = OpImageSampleImplicitLod %25 %260 %78
|
||||
%262 = OpFAdd %25 %255 %261
|
||||
OpStore %55 %262
|
||||
%263 = OpLoad %25 %55
|
||||
%264 = OpAccessChain %81 %31 %74
|
||||
%265 = OpLoad %10 %264
|
||||
%266 = OpAccessChain %99 %41 %74
|
||||
%267 = OpLoad %21 %266
|
||||
%268 = OpSampledImage %102 %265 %267
|
||||
%269 = OpImageSampleImplicitLod %25 %268 %78
|
||||
%270 = OpFAdd %25 %263 %269
|
||||
OpStore %55 %270
|
||||
%271 = OpLoad %25 %55
|
||||
%272 = OpAccessChain %81 %31 %68
|
||||
%273 = OpLoad %10 %272
|
||||
%274 = OpAccessChain %99 %41 %68
|
||||
%275 = OpLoad %21 %274
|
||||
%276 = OpSampledImage %102 %273 %275
|
||||
%277 = OpImageSampleImplicitLod %25 %276 %78 Bias %6
|
||||
%278 = OpFAdd %25 %271 %277
|
||||
OpStore %55 %278
|
||||
%279 = OpLoad %25 %55
|
||||
%280 = OpAccessChain %81 %31 %73
|
||||
%281 = OpLoad %10 %280
|
||||
%282 = OpAccessChain %99 %41 %73
|
||||
%283 = OpLoad %21 %282
|
||||
%284 = OpSampledImage %102 %281 %283
|
||||
%285 = OpImageSampleImplicitLod %25 %284 %78 Bias %6
|
||||
%286 = OpFAdd %25 %279 %285
|
||||
OpStore %55 %286
|
||||
%287 = OpLoad %25 %55
|
||||
%288 = OpAccessChain %81 %31 %74
|
||||
%289 = OpLoad %10 %288
|
||||
%290 = OpAccessChain %99 %41 %74
|
||||
%291 = OpLoad %21 %290
|
||||
%292 = OpSampledImage %102 %289 %291
|
||||
%293 = OpImageSampleImplicitLod %25 %292 %78 Bias %6
|
||||
%294 = OpFAdd %25 %287 %293
|
||||
OpStore %55 %294
|
||||
%295 = OpLoad %7 %53
|
||||
%296 = OpAccessChain %123 %37 %68
|
||||
%297 = OpLoad %17 %296
|
||||
%298 = OpAccessChain %126 %43 %68
|
||||
%299 = OpLoad %21 %298
|
||||
%300 = OpSampledImage %129 %297 %299
|
||||
%301 = OpImageSampleDrefImplicitLod %7 %300 %78 %6
|
||||
%302 = OpFAdd %7 %295 %301
|
||||
OpStore %53 %302
|
||||
%303 = OpLoad %7 %53
|
||||
%304 = OpAccessChain %123 %37 %73
|
||||
%305 = OpLoad %17 %304
|
||||
%306 = OpAccessChain %126 %43 %73
|
||||
%307 = OpLoad %21 %306
|
||||
%308 = OpSampledImage %129 %305 %307
|
||||
%309 = OpImageSampleDrefImplicitLod %7 %308 %78 %6
|
||||
%310 = OpFAdd %7 %303 %309
|
||||
OpStore %53 %310
|
||||
%311 = OpLoad %7 %53
|
||||
%312 = OpAccessChain %123 %37 %74
|
||||
%313 = OpLoad %17 %312
|
||||
%314 = OpAccessChain %126 %43 %74
|
||||
%315 = OpLoad %21 %314
|
||||
%316 = OpSampledImage %129 %313 %315
|
||||
%317 = OpImageSampleDrefImplicitLod %7 %316 %78 %6
|
||||
%318 = OpFAdd %7 %311 %317
|
||||
OpStore %53 %318
|
||||
%319 = OpLoad %7 %53
|
||||
%320 = OpAccessChain %123 %37 %68
|
||||
%321 = OpLoad %17 %320
|
||||
%322 = OpAccessChain %126 %43 %68
|
||||
%323 = OpLoad %21 %322
|
||||
%324 = OpSampledImage %129 %321 %323
|
||||
%325 = OpImageSampleDrefExplicitLod %7 %324 %78 %6 Lod %6
|
||||
%326 = OpFAdd %7 %319 %325
|
||||
OpStore %53 %326
|
||||
%327 = OpLoad %7 %53
|
||||
%328 = OpAccessChain %123 %37 %73
|
||||
%329 = OpLoad %17 %328
|
||||
%330 = OpAccessChain %126 %43 %73
|
||||
%331 = OpLoad %21 %330
|
||||
%332 = OpSampledImage %129 %329 %331
|
||||
%333 = OpImageSampleDrefExplicitLod %7 %332 %78 %6 Lod %6
|
||||
%334 = OpFAdd %7 %327 %333
|
||||
OpStore %53 %334
|
||||
%335 = OpLoad %7 %53
|
||||
%336 = OpAccessChain %123 %37 %74
|
||||
%337 = OpLoad %17 %336
|
||||
%338 = OpAccessChain %126 %43 %74
|
||||
%339 = OpLoad %21 %338
|
||||
%340 = OpSampledImage %129 %337 %339
|
||||
%341 = OpImageSampleDrefExplicitLod %7 %340 %78 %6 Lod %6
|
||||
%342 = OpFAdd %7 %335 %341
|
||||
OpStore %53 %342
|
||||
%343 = OpLoad %25 %55
|
||||
%344 = OpAccessChain %81 %31 %68
|
||||
%345 = OpLoad %10 %344
|
||||
%346 = OpAccessChain %99 %41 %68
|
||||
%347 = OpLoad %21 %346
|
||||
%348 = OpSampledImage %102 %345 %347
|
||||
%349 = OpImageSampleExplicitLod %25 %348 %78 Grad %78 %78
|
||||
%350 = OpFAdd %25 %343 %349
|
||||
OpStore %55 %350
|
||||
%351 = OpLoad %25 %55
|
||||
%352 = OpAccessChain %81 %31 %73
|
||||
%353 = OpLoad %10 %352
|
||||
%354 = OpAccessChain %99 %41 %73
|
||||
%355 = OpLoad %21 %354
|
||||
%356 = OpSampledImage %102 %353 %355
|
||||
%357 = OpImageSampleExplicitLod %25 %356 %78 Grad %78 %78
|
||||
%358 = OpFAdd %25 %351 %357
|
||||
OpStore %55 %358
|
||||
%359 = OpLoad %25 %55
|
||||
%360 = OpAccessChain %81 %31 %74
|
||||
%361 = OpLoad %10 %360
|
||||
%362 = OpAccessChain %99 %41 %74
|
||||
%363 = OpLoad %21 %362
|
||||
%364 = OpSampledImage %102 %361 %363
|
||||
%365 = OpImageSampleExplicitLod %25 %364 %78 Grad %78 %78
|
||||
%366 = OpFAdd %25 %359 %365
|
||||
OpStore %55 %366
|
||||
%367 = OpLoad %25 %55
|
||||
%368 = OpAccessChain %81 %31 %68
|
||||
%369 = OpLoad %10 %368
|
||||
%370 = OpAccessChain %99 %41 %68
|
||||
%371 = OpLoad %21 %370
|
||||
%372 = OpSampledImage %102 %369 %371
|
||||
%373 = OpImageSampleExplicitLod %25 %372 %78 Lod %6
|
||||
%374 = OpFAdd %25 %367 %373
|
||||
OpStore %55 %374
|
||||
%375 = OpLoad %25 %55
|
||||
%376 = OpAccessChain %81 %31 %73
|
||||
%377 = OpLoad %10 %376
|
||||
%378 = OpAccessChain %99 %41 %73
|
||||
%379 = OpLoad %21 %378
|
||||
%380 = OpSampledImage %102 %377 %379
|
||||
%381 = OpImageSampleExplicitLod %25 %380 %78 Lod %6
|
||||
%382 = OpFAdd %25 %375 %381
|
||||
OpStore %55 %382
|
||||
%383 = OpLoad %25 %55
|
||||
%384 = OpAccessChain %81 %31 %74
|
||||
%385 = OpLoad %10 %384
|
||||
%386 = OpAccessChain %99 %41 %74
|
||||
%387 = OpLoad %21 %386
|
||||
%388 = OpSampledImage %102 %385 %387
|
||||
%389 = OpImageSampleExplicitLod %25 %388 %78 Lod %6
|
||||
%390 = OpFAdd %25 %383 %389
|
||||
OpStore %55 %390
|
||||
%392 = OpAccessChain %391 %39 %68
|
||||
%393 = OpLoad %19 %392
|
||||
%394 = OpLoad %25 %55
|
||||
%395 = OpImageQuerySize %26 %393
|
||||
%396 = OpULessThan %159 %79 %395
|
||||
%397 = OpAll %152 %396
|
||||
OpSelectionMerge %398 None
|
||||
OpBranchConditional %397 %399 %398
|
||||
%399 = OpLabel
|
||||
OpImageWrite %393 %79 %394
|
||||
OpBranch %398
|
||||
%398 = OpLabel
|
||||
%400 = OpAccessChain %391 %39 %73
|
||||
%401 = OpLoad %19 %400
|
||||
%402 = OpLoad %25 %55
|
||||
%403 = OpImageQuerySize %26 %401
|
||||
%404 = OpULessThan %159 %79 %403
|
||||
%405 = OpAll %152 %404
|
||||
OpSelectionMerge %406 None
|
||||
OpBranchConditional %405 %407 %406
|
||||
%407 = OpLabel
|
||||
OpImageWrite %401 %79 %402
|
||||
OpBranch %406
|
||||
%406 = OpLabel
|
||||
%408 = OpAccessChain %391 %39 %74
|
||||
%409 = OpLoad %19 %408
|
||||
%410 = OpLoad %25 %55
|
||||
%411 = OpImageQuerySize %26 %409
|
||||
%412 = OpULessThan %159 %79 %411
|
||||
%413 = OpAll %152 %412
|
||||
OpSelectionMerge %414 None
|
||||
OpBranchConditional %413 %415 %414
|
||||
%415 = OpLabel
|
||||
OpImageWrite %409 %79 %410
|
||||
OpBranch %414
|
||||
%414 = OpLabel
|
||||
%416 = OpLoad %26 %50
|
||||
%417 = OpLoad %4 %48
|
||||
%418 = OpCompositeConstruct %26 %417 %417
|
||||
%419 = OpIAdd %26 %416 %418
|
||||
%420 = OpConvertSToF %77 %419
|
||||
%421 = OpLoad %25 %55
|
||||
%422 = OpCompositeExtract %7 %420 0
|
||||
%423 = OpCompositeExtract %7 %420 1
|
||||
%424 = OpCompositeExtract %7 %420 0
|
||||
%425 = OpCompositeExtract %7 %420 1
|
||||
%426 = OpCompositeConstruct %25 %422 %423 %424 %425
|
||||
%427 = OpFAdd %25 %421 %426
|
||||
%428 = OpLoad %7 %53
|
||||
%429 = OpCompositeConstruct %25 %428 %428 %428 %428
|
||||
%430 = OpFAdd %25 %427 %429
|
||||
OpStore %63 %430
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -1,12 +1,12 @@
|
||||
; SPIR-V
|
||||
; Version: 1.1
|
||||
; Generator: rspirv
|
||||
; Bound: 151
|
||||
; Bound: 159
|
||||
OpCapability Shader
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %40 "main"
|
||||
OpExecutionMode %40 LocalSize 1 1 1
|
||||
OpEntryPoint GLCompute %48 "main"
|
||||
OpExecutionMode %48 LocalSize 1 1 1
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 1
|
||||
%3 = OpConstant %4 0
|
||||
@ -26,190 +26,198 @@ OpExecutionMode %40 LocalSize 1 1 1
|
||||
%18 = OpTypeVector %8 4
|
||||
%20 = OpTypePointer Function %4
|
||||
%22 = OpTypePointer Function %11
|
||||
%24 = OpTypePointer Function %12
|
||||
%26 = OpTypePointer Function %13
|
||||
%28 = OpTypePointer Function %6
|
||||
%30 = OpTypePointer Function %14
|
||||
%32 = OpTypePointer Function %15
|
||||
%34 = OpTypePointer Function %16
|
||||
%36 = OpTypePointer Function %17
|
||||
%38 = OpTypePointer Function %18
|
||||
%41 = OpTypeFunction %2
|
||||
%40 = OpFunction %2 None %41
|
||||
%39 = OpLabel
|
||||
%37 = OpVariable %38 Function
|
||||
%31 = OpVariable %32 Function
|
||||
%25 = OpVariable %26 Function
|
||||
%23 = OpConstantNull %11
|
||||
%25 = OpTypePointer Function %12
|
||||
%26 = OpConstantNull %12
|
||||
%28 = OpTypePointer Function %13
|
||||
%29 = OpConstantNull %13
|
||||
%31 = OpTypePointer Function %6
|
||||
%33 = OpTypePointer Function %14
|
||||
%34 = OpConstantNull %14
|
||||
%36 = OpTypePointer Function %15
|
||||
%37 = OpConstantNull %15
|
||||
%39 = OpTypePointer Function %16
|
||||
%40 = OpConstantNull %16
|
||||
%42 = OpTypePointer Function %17
|
||||
%43 = OpConstantNull %17
|
||||
%45 = OpTypePointer Function %18
|
||||
%46 = OpConstantNull %18
|
||||
%49 = OpTypeFunction %2
|
||||
%48 = OpFunction %2 None %49
|
||||
%47 = OpLabel
|
||||
%44 = OpVariable %45 Function %46
|
||||
%35 = OpVariable %36 Function %37
|
||||
%27 = OpVariable %28 Function %29
|
||||
%19 = OpVariable %20 Function %3
|
||||
%33 = OpVariable %34 Function
|
||||
%27 = OpVariable %28 Function %5
|
||||
%21 = OpVariable %22 Function
|
||||
%35 = OpVariable %36 Function
|
||||
%29 = OpVariable %30 Function
|
||||
%23 = OpVariable %24 Function
|
||||
OpBranch %42
|
||||
%42 = OpLabel
|
||||
%43 = OpCompositeConstruct %11 %3 %3
|
||||
OpStore %21 %43
|
||||
%44 = OpCompositeConstruct %12 %3 %3 %3
|
||||
OpStore %23 %44
|
||||
%45 = OpCompositeConstruct %13 %3 %3 %3 %3
|
||||
OpStore %25 %45
|
||||
%46 = OpCompositeConstruct %14 %5 %5
|
||||
OpStore %29 %46
|
||||
%47 = OpCompositeConstruct %15 %5 %5 %5
|
||||
OpStore %31 %47
|
||||
%48 = OpCompositeConstruct %16 %5 %5 %5 %5
|
||||
OpStore %33 %48
|
||||
%49 = OpCompositeConstruct %17 %7 %7
|
||||
OpStore %35 %49
|
||||
%50 = OpCompositeConstruct %18 %7 %7 %7 %7
|
||||
OpStore %37 %50
|
||||
%51 = OpLoad %18 %37
|
||||
%52 = OpExtInst %6 %1 PackSnorm4x8 %51
|
||||
OpStore %27 %52
|
||||
%53 = OpLoad %18 %37
|
||||
%54 = OpExtInst %6 %1 PackUnorm4x8 %53
|
||||
OpStore %27 %54
|
||||
%55 = OpLoad %17 %35
|
||||
%56 = OpExtInst %6 %1 PackSnorm2x16 %55
|
||||
OpStore %27 %56
|
||||
%57 = OpLoad %17 %35
|
||||
%58 = OpExtInst %6 %1 PackUnorm2x16 %57
|
||||
OpStore %27 %58
|
||||
%59 = OpLoad %17 %35
|
||||
%60 = OpExtInst %6 %1 PackHalf2x16 %59
|
||||
OpStore %27 %60
|
||||
%61 = OpLoad %6 %27
|
||||
%62 = OpExtInst %18 %1 UnpackSnorm4x8 %61
|
||||
OpStore %37 %62
|
||||
%63 = OpLoad %6 %27
|
||||
%64 = OpExtInst %18 %1 UnpackUnorm4x8 %63
|
||||
OpStore %37 %64
|
||||
%65 = OpLoad %6 %27
|
||||
%66 = OpExtInst %17 %1 UnpackSnorm2x16 %65
|
||||
OpStore %35 %66
|
||||
%67 = OpLoad %6 %27
|
||||
%68 = OpExtInst %17 %1 UnpackUnorm2x16 %67
|
||||
OpStore %35 %68
|
||||
%69 = OpLoad %6 %27
|
||||
%70 = OpExtInst %17 %1 UnpackHalf2x16 %69
|
||||
OpStore %35 %70
|
||||
%71 = OpLoad %4 %19
|
||||
%72 = OpLoad %4 %19
|
||||
%73 = OpBitFieldInsert %4 %71 %72 %9 %10
|
||||
OpStore %19 %73
|
||||
%74 = OpLoad %11 %21
|
||||
%75 = OpLoad %11 %21
|
||||
%76 = OpBitFieldInsert %11 %74 %75 %9 %10
|
||||
OpStore %21 %76
|
||||
%77 = OpLoad %12 %23
|
||||
%78 = OpLoad %12 %23
|
||||
%79 = OpBitFieldInsert %12 %77 %78 %9 %10
|
||||
OpStore %23 %79
|
||||
%80 = OpLoad %13 %25
|
||||
%81 = OpLoad %13 %25
|
||||
%82 = OpBitFieldInsert %13 %80 %81 %9 %10
|
||||
OpStore %25 %82
|
||||
%83 = OpLoad %6 %27
|
||||
%84 = OpLoad %6 %27
|
||||
%85 = OpBitFieldInsert %6 %83 %84 %9 %10
|
||||
OpStore %27 %85
|
||||
%86 = OpLoad %14 %29
|
||||
%87 = OpLoad %14 %29
|
||||
%88 = OpBitFieldInsert %14 %86 %87 %9 %10
|
||||
OpStore %29 %88
|
||||
%89 = OpLoad %15 %31
|
||||
%90 = OpLoad %15 %31
|
||||
%91 = OpBitFieldInsert %15 %89 %90 %9 %10
|
||||
OpStore %31 %91
|
||||
%92 = OpLoad %16 %33
|
||||
%93 = OpLoad %16 %33
|
||||
%94 = OpBitFieldInsert %16 %92 %93 %9 %10
|
||||
OpStore %33 %94
|
||||
%95 = OpLoad %4 %19
|
||||
%96 = OpBitFieldSExtract %4 %95 %9 %10
|
||||
OpStore %19 %96
|
||||
%97 = OpLoad %11 %21
|
||||
%98 = OpBitFieldSExtract %11 %97 %9 %10
|
||||
OpStore %21 %98
|
||||
%99 = OpLoad %12 %23
|
||||
%100 = OpBitFieldSExtract %12 %99 %9 %10
|
||||
OpStore %23 %100
|
||||
%101 = OpLoad %13 %25
|
||||
%102 = OpBitFieldSExtract %13 %101 %9 %10
|
||||
OpStore %25 %102
|
||||
%103 = OpLoad %6 %27
|
||||
%104 = OpBitFieldUExtract %6 %103 %9 %10
|
||||
OpStore %27 %104
|
||||
%105 = OpLoad %14 %29
|
||||
%106 = OpBitFieldUExtract %14 %105 %9 %10
|
||||
OpStore %29 %106
|
||||
%107 = OpLoad %15 %31
|
||||
%108 = OpBitFieldUExtract %15 %107 %9 %10
|
||||
OpStore %31 %108
|
||||
%109 = OpLoad %16 %33
|
||||
%110 = OpBitFieldUExtract %16 %109 %9 %10
|
||||
OpStore %33 %110
|
||||
%111 = OpLoad %4 %19
|
||||
%112 = OpExtInst %4 %1 FindILsb %111
|
||||
OpStore %19 %112
|
||||
%113 = OpLoad %14 %29
|
||||
%114 = OpExtInst %14 %1 FindILsb %113
|
||||
OpStore %29 %114
|
||||
%115 = OpLoad %12 %23
|
||||
%116 = OpExtInst %12 %1 FindSMsb %115
|
||||
OpStore %23 %116
|
||||
%117 = OpLoad %6 %27
|
||||
%118 = OpExtInst %6 %1 FindUMsb %117
|
||||
OpStore %27 %118
|
||||
%38 = OpVariable %39 Function %40
|
||||
%30 = OpVariable %31 Function %5
|
||||
%21 = OpVariable %22 Function %23
|
||||
%41 = OpVariable %42 Function %43
|
||||
%32 = OpVariable %33 Function %34
|
||||
%24 = OpVariable %25 Function %26
|
||||
OpBranch %50
|
||||
%50 = OpLabel
|
||||
%51 = OpCompositeConstruct %11 %3 %3
|
||||
OpStore %21 %51
|
||||
%52 = OpCompositeConstruct %12 %3 %3 %3
|
||||
OpStore %24 %52
|
||||
%53 = OpCompositeConstruct %13 %3 %3 %3 %3
|
||||
OpStore %27 %53
|
||||
%54 = OpCompositeConstruct %14 %5 %5
|
||||
OpStore %32 %54
|
||||
%55 = OpCompositeConstruct %15 %5 %5 %5
|
||||
OpStore %35 %55
|
||||
%56 = OpCompositeConstruct %16 %5 %5 %5 %5
|
||||
OpStore %38 %56
|
||||
%57 = OpCompositeConstruct %17 %7 %7
|
||||
OpStore %41 %57
|
||||
%58 = OpCompositeConstruct %18 %7 %7 %7 %7
|
||||
OpStore %44 %58
|
||||
%59 = OpLoad %18 %44
|
||||
%60 = OpExtInst %6 %1 PackSnorm4x8 %59
|
||||
OpStore %30 %60
|
||||
%61 = OpLoad %18 %44
|
||||
%62 = OpExtInst %6 %1 PackUnorm4x8 %61
|
||||
OpStore %30 %62
|
||||
%63 = OpLoad %17 %41
|
||||
%64 = OpExtInst %6 %1 PackSnorm2x16 %63
|
||||
OpStore %30 %64
|
||||
%65 = OpLoad %17 %41
|
||||
%66 = OpExtInst %6 %1 PackUnorm2x16 %65
|
||||
OpStore %30 %66
|
||||
%67 = OpLoad %17 %41
|
||||
%68 = OpExtInst %6 %1 PackHalf2x16 %67
|
||||
OpStore %30 %68
|
||||
%69 = OpLoad %6 %30
|
||||
%70 = OpExtInst %18 %1 UnpackSnorm4x8 %69
|
||||
OpStore %44 %70
|
||||
%71 = OpLoad %6 %30
|
||||
%72 = OpExtInst %18 %1 UnpackUnorm4x8 %71
|
||||
OpStore %44 %72
|
||||
%73 = OpLoad %6 %30
|
||||
%74 = OpExtInst %17 %1 UnpackSnorm2x16 %73
|
||||
OpStore %41 %74
|
||||
%75 = OpLoad %6 %30
|
||||
%76 = OpExtInst %17 %1 UnpackUnorm2x16 %75
|
||||
OpStore %41 %76
|
||||
%77 = OpLoad %6 %30
|
||||
%78 = OpExtInst %17 %1 UnpackHalf2x16 %77
|
||||
OpStore %41 %78
|
||||
%79 = OpLoad %4 %19
|
||||
%80 = OpLoad %4 %19
|
||||
%81 = OpBitFieldInsert %4 %79 %80 %9 %10
|
||||
OpStore %19 %81
|
||||
%82 = OpLoad %11 %21
|
||||
%83 = OpLoad %11 %21
|
||||
%84 = OpBitFieldInsert %11 %82 %83 %9 %10
|
||||
OpStore %21 %84
|
||||
%85 = OpLoad %12 %24
|
||||
%86 = OpLoad %12 %24
|
||||
%87 = OpBitFieldInsert %12 %85 %86 %9 %10
|
||||
OpStore %24 %87
|
||||
%88 = OpLoad %13 %27
|
||||
%89 = OpLoad %13 %27
|
||||
%90 = OpBitFieldInsert %13 %88 %89 %9 %10
|
||||
OpStore %27 %90
|
||||
%91 = OpLoad %6 %30
|
||||
%92 = OpLoad %6 %30
|
||||
%93 = OpBitFieldInsert %6 %91 %92 %9 %10
|
||||
OpStore %30 %93
|
||||
%94 = OpLoad %14 %32
|
||||
%95 = OpLoad %14 %32
|
||||
%96 = OpBitFieldInsert %14 %94 %95 %9 %10
|
||||
OpStore %32 %96
|
||||
%97 = OpLoad %15 %35
|
||||
%98 = OpLoad %15 %35
|
||||
%99 = OpBitFieldInsert %15 %97 %98 %9 %10
|
||||
OpStore %35 %99
|
||||
%100 = OpLoad %16 %38
|
||||
%101 = OpLoad %16 %38
|
||||
%102 = OpBitFieldInsert %16 %100 %101 %9 %10
|
||||
OpStore %38 %102
|
||||
%103 = OpLoad %4 %19
|
||||
%104 = OpBitFieldSExtract %4 %103 %9 %10
|
||||
OpStore %19 %104
|
||||
%105 = OpLoad %11 %21
|
||||
%106 = OpBitFieldSExtract %11 %105 %9 %10
|
||||
OpStore %21 %106
|
||||
%107 = OpLoad %12 %24
|
||||
%108 = OpBitFieldSExtract %12 %107 %9 %10
|
||||
OpStore %24 %108
|
||||
%109 = OpLoad %13 %27
|
||||
%110 = OpBitFieldSExtract %13 %109 %9 %10
|
||||
OpStore %27 %110
|
||||
%111 = OpLoad %6 %30
|
||||
%112 = OpBitFieldUExtract %6 %111 %9 %10
|
||||
OpStore %30 %112
|
||||
%113 = OpLoad %14 %32
|
||||
%114 = OpBitFieldUExtract %14 %113 %9 %10
|
||||
OpStore %32 %114
|
||||
%115 = OpLoad %15 %35
|
||||
%116 = OpBitFieldUExtract %15 %115 %9 %10
|
||||
OpStore %35 %116
|
||||
%117 = OpLoad %16 %38
|
||||
%118 = OpBitFieldUExtract %16 %117 %9 %10
|
||||
OpStore %38 %118
|
||||
%119 = OpLoad %4 %19
|
||||
%120 = OpBitCount %4 %119
|
||||
%120 = OpExtInst %4 %1 FindILsb %119
|
||||
OpStore %19 %120
|
||||
%121 = OpLoad %11 %21
|
||||
%122 = OpBitCount %11 %121
|
||||
OpStore %21 %122
|
||||
%123 = OpLoad %12 %23
|
||||
%124 = OpBitCount %12 %123
|
||||
OpStore %23 %124
|
||||
%125 = OpLoad %13 %25
|
||||
%126 = OpBitCount %13 %125
|
||||
OpStore %25 %126
|
||||
%127 = OpLoad %6 %27
|
||||
%128 = OpBitCount %6 %127
|
||||
OpStore %27 %128
|
||||
%129 = OpLoad %14 %29
|
||||
%130 = OpBitCount %14 %129
|
||||
OpStore %29 %130
|
||||
%131 = OpLoad %15 %31
|
||||
%132 = OpBitCount %15 %131
|
||||
OpStore %31 %132
|
||||
%133 = OpLoad %16 %33
|
||||
%134 = OpBitCount %16 %133
|
||||
OpStore %33 %134
|
||||
%135 = OpLoad %4 %19
|
||||
%136 = OpBitReverse %4 %135
|
||||
OpStore %19 %136
|
||||
%137 = OpLoad %11 %21
|
||||
%138 = OpBitReverse %11 %137
|
||||
OpStore %21 %138
|
||||
%139 = OpLoad %12 %23
|
||||
%140 = OpBitReverse %12 %139
|
||||
OpStore %23 %140
|
||||
%141 = OpLoad %13 %25
|
||||
%142 = OpBitReverse %13 %141
|
||||
OpStore %25 %142
|
||||
%143 = OpLoad %6 %27
|
||||
%144 = OpBitReverse %6 %143
|
||||
OpStore %27 %144
|
||||
%145 = OpLoad %14 %29
|
||||
%146 = OpBitReverse %14 %145
|
||||
OpStore %29 %146
|
||||
%147 = OpLoad %15 %31
|
||||
%148 = OpBitReverse %15 %147
|
||||
OpStore %31 %148
|
||||
%149 = OpLoad %16 %33
|
||||
%150 = OpBitReverse %16 %149
|
||||
OpStore %33 %150
|
||||
%121 = OpLoad %14 %32
|
||||
%122 = OpExtInst %14 %1 FindILsb %121
|
||||
OpStore %32 %122
|
||||
%123 = OpLoad %12 %24
|
||||
%124 = OpExtInst %12 %1 FindSMsb %123
|
||||
OpStore %24 %124
|
||||
%125 = OpLoad %6 %30
|
||||
%126 = OpExtInst %6 %1 FindUMsb %125
|
||||
OpStore %30 %126
|
||||
%127 = OpLoad %4 %19
|
||||
%128 = OpBitCount %4 %127
|
||||
OpStore %19 %128
|
||||
%129 = OpLoad %11 %21
|
||||
%130 = OpBitCount %11 %129
|
||||
OpStore %21 %130
|
||||
%131 = OpLoad %12 %24
|
||||
%132 = OpBitCount %12 %131
|
||||
OpStore %24 %132
|
||||
%133 = OpLoad %13 %27
|
||||
%134 = OpBitCount %13 %133
|
||||
OpStore %27 %134
|
||||
%135 = OpLoad %6 %30
|
||||
%136 = OpBitCount %6 %135
|
||||
OpStore %30 %136
|
||||
%137 = OpLoad %14 %32
|
||||
%138 = OpBitCount %14 %137
|
||||
OpStore %32 %138
|
||||
%139 = OpLoad %15 %35
|
||||
%140 = OpBitCount %15 %139
|
||||
OpStore %35 %140
|
||||
%141 = OpLoad %16 %38
|
||||
%142 = OpBitCount %16 %141
|
||||
OpStore %38 %142
|
||||
%143 = OpLoad %4 %19
|
||||
%144 = OpBitReverse %4 %143
|
||||
OpStore %19 %144
|
||||
%145 = OpLoad %11 %21
|
||||
%146 = OpBitReverse %11 %145
|
||||
OpStore %21 %146
|
||||
%147 = OpLoad %12 %24
|
||||
%148 = OpBitReverse %12 %147
|
||||
OpStore %24 %148
|
||||
%149 = OpLoad %13 %27
|
||||
%150 = OpBitReverse %13 %149
|
||||
OpStore %27 %150
|
||||
%151 = OpLoad %6 %30
|
||||
%152 = OpBitReverse %6 %151
|
||||
OpStore %30 %152
|
||||
%153 = OpLoad %14 %32
|
||||
%154 = OpBitReverse %14 %153
|
||||
OpStore %32 %154
|
||||
%155 = OpLoad %15 %35
|
||||
%156 = OpBitReverse %15 %155
|
||||
OpStore %35 %156
|
||||
%157 = OpLoad %16 %38
|
||||
%158 = OpBitReverse %16 %157
|
||||
OpStore %38 %158
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -1,13 +1,13 @@
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: rspirv
|
||||
; Bound: 206
|
||||
; Bound: 213
|
||||
OpCapability Shader
|
||||
OpExtension "SPV_KHR_storage_buffer_storage_class"
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %44 "main" %41
|
||||
OpExecutionMode %44 LocalSize 64 1 1
|
||||
OpEntryPoint GLCompute %51 "main" %48
|
||||
OpExecutionMode %51 LocalSize 64 1 1
|
||||
OpSource GLSL 450
|
||||
OpName %3 "NUM_PARTICLES"
|
||||
OpMemberName %16 0 "pos"
|
||||
@ -27,17 +27,17 @@ OpName %21 "params"
|
||||
OpName %24 "particlesSrc"
|
||||
OpName %26 "particlesDst"
|
||||
OpName %27 "vPos"
|
||||
OpName %29 "vVel"
|
||||
OpName %30 "cMass"
|
||||
OpName %31 "cVel"
|
||||
OpName %32 "colVel"
|
||||
OpName %33 "cMassCount"
|
||||
OpName %35 "cVelCount"
|
||||
OpName %36 "pos"
|
||||
OpName %37 "vel"
|
||||
OpName %38 "i"
|
||||
OpName %41 "global_invocation_id"
|
||||
OpName %44 "main"
|
||||
OpName %30 "vVel"
|
||||
OpName %32 "cMass"
|
||||
OpName %34 "cVel"
|
||||
OpName %36 "colVel"
|
||||
OpName %38 "cMassCount"
|
||||
OpName %40 "cVelCount"
|
||||
OpName %41 "pos"
|
||||
OpName %43 "vel"
|
||||
OpName %45 "i"
|
||||
OpName %48 "global_invocation_id"
|
||||
OpName %51 "main"
|
||||
OpMemberDecorate %16 0 Offset 0
|
||||
OpMemberDecorate %16 1 Offset 8
|
||||
OpMemberDecorate %17 0 Offset 0
|
||||
@ -60,7 +60,7 @@ OpDecorate %19 Block
|
||||
OpDecorate %26 DescriptorSet 0
|
||||
OpDecorate %26 Binding 2
|
||||
OpDecorate %19 Block
|
||||
OpDecorate %41 BuiltIn GlobalInvocationId
|
||||
OpDecorate %48 BuiltIn GlobalInvocationId
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 0
|
||||
%3 = OpConstant %4 1500
|
||||
@ -87,249 +87,256 @@ OpDecorate %41 BuiltIn GlobalInvocationId
|
||||
%24 = OpVariable %25 StorageBuffer
|
||||
%26 = OpVariable %25 StorageBuffer
|
||||
%28 = OpTypePointer Function %15
|
||||
%34 = OpTypePointer Function %8
|
||||
%39 = OpTypePointer Function %4
|
||||
%42 = OpTypePointer Input %20
|
||||
%41 = OpVariable %42 Input
|
||||
%45 = OpTypeFunction %2
|
||||
%46 = OpTypePointer Uniform %17
|
||||
%50 = OpTypeBool
|
||||
%54 = OpTypePointer StorageBuffer %18
|
||||
%55 = OpTypePointer StorageBuffer %16
|
||||
%56 = OpTypePointer StorageBuffer %15
|
||||
%85 = OpTypePointer Uniform %6
|
||||
%99 = OpConstant %4 2
|
||||
%113 = OpConstant %4 3
|
||||
%148 = OpConstant %4 4
|
||||
%154 = OpConstant %4 5
|
||||
%160 = OpConstant %4 6
|
||||
%177 = OpTypePointer Function %6
|
||||
%44 = OpFunction %2 None %45
|
||||
%40 = OpLabel
|
||||
%38 = OpVariable %39 Function %9
|
||||
%35 = OpVariable %34 Function %7
|
||||
%31 = OpVariable %28 Function
|
||||
%27 = OpVariable %28 Function
|
||||
%36 = OpVariable %28 Function
|
||||
%32 = OpVariable %28 Function
|
||||
%29 = OpVariable %28 Function
|
||||
%37 = OpVariable %28 Function
|
||||
%33 = OpVariable %34 Function %7
|
||||
%30 = OpVariable %28 Function
|
||||
%43 = OpLoad %20 %41
|
||||
%47 = OpAccessChain %46 %21 %9
|
||||
OpBranch %48
|
||||
%48 = OpLabel
|
||||
%49 = OpCompositeExtract %4 %43 0
|
||||
%51 = OpUGreaterThanEqual %50 %49 %3
|
||||
OpSelectionMerge %52 None
|
||||
OpBranchConditional %51 %53 %52
|
||||
%53 = OpLabel
|
||||
%29 = OpConstantNull %15
|
||||
%31 = OpConstantNull %15
|
||||
%33 = OpConstantNull %15
|
||||
%35 = OpConstantNull %15
|
||||
%37 = OpConstantNull %15
|
||||
%39 = OpTypePointer Function %8
|
||||
%42 = OpConstantNull %15
|
||||
%44 = OpConstantNull %15
|
||||
%46 = OpTypePointer Function %4
|
||||
%49 = OpTypePointer Input %20
|
||||
%48 = OpVariable %49 Input
|
||||
%52 = OpTypeFunction %2
|
||||
%53 = OpTypePointer Uniform %17
|
||||
%57 = OpTypeBool
|
||||
%61 = OpTypePointer StorageBuffer %18
|
||||
%62 = OpTypePointer StorageBuffer %16
|
||||
%63 = OpTypePointer StorageBuffer %15
|
||||
%92 = OpTypePointer Uniform %6
|
||||
%106 = OpConstant %4 2
|
||||
%120 = OpConstant %4 3
|
||||
%155 = OpConstant %4 4
|
||||
%161 = OpConstant %4 5
|
||||
%167 = OpConstant %4 6
|
||||
%184 = OpTypePointer Function %6
|
||||
%51 = OpFunction %2 None %52
|
||||
%47 = OpLabel
|
||||
%45 = OpVariable %46 Function %9
|
||||
%40 = OpVariable %39 Function %7
|
||||
%34 = OpVariable %28 Function %35
|
||||
%27 = OpVariable %28 Function %29
|
||||
%41 = OpVariable %28 Function %42
|
||||
%36 = OpVariable %28 Function %37
|
||||
%30 = OpVariable %28 Function %31
|
||||
%43 = OpVariable %28 Function %44
|
||||
%38 = OpVariable %39 Function %7
|
||||
%32 = OpVariable %28 Function %33
|
||||
%50 = OpLoad %20 %48
|
||||
%54 = OpAccessChain %53 %21 %9
|
||||
OpBranch %55
|
||||
%55 = OpLabel
|
||||
%56 = OpCompositeExtract %4 %50 0
|
||||
%58 = OpUGreaterThanEqual %57 %56 %3
|
||||
OpSelectionMerge %59 None
|
||||
OpBranchConditional %58 %60 %59
|
||||
%60 = OpLabel
|
||||
OpReturn
|
||||
%52 = OpLabel
|
||||
%57 = OpAccessChain %56 %24 %9 %49 %9
|
||||
%58 = OpLoad %15 %57
|
||||
OpStore %27 %58
|
||||
%59 = OpAccessChain %56 %24 %9 %49 %11
|
||||
%60 = OpLoad %15 %59
|
||||
OpStore %29 %60
|
||||
%61 = OpCompositeConstruct %15 %5 %5
|
||||
OpStore %30 %61
|
||||
%62 = OpCompositeConstruct %15 %5 %5
|
||||
OpStore %31 %62
|
||||
%63 = OpCompositeConstruct %15 %5 %5
|
||||
OpStore %32 %63
|
||||
OpBranch %64
|
||||
%64 = OpLabel
|
||||
OpLoopMerge %65 %67 None
|
||||
OpBranch %66
|
||||
%66 = OpLabel
|
||||
%68 = OpLoad %4 %38
|
||||
%69 = OpUGreaterThanEqual %50 %68 %3
|
||||
OpSelectionMerge %70 None
|
||||
OpBranchConditional %69 %71 %70
|
||||
%59 = OpLabel
|
||||
%64 = OpAccessChain %63 %24 %9 %56 %9
|
||||
%65 = OpLoad %15 %64
|
||||
OpStore %27 %65
|
||||
%66 = OpAccessChain %63 %24 %9 %56 %11
|
||||
%67 = OpLoad %15 %66
|
||||
OpStore %30 %67
|
||||
%68 = OpCompositeConstruct %15 %5 %5
|
||||
OpStore %32 %68
|
||||
%69 = OpCompositeConstruct %15 %5 %5
|
||||
OpStore %34 %69
|
||||
%70 = OpCompositeConstruct %15 %5 %5
|
||||
OpStore %36 %70
|
||||
OpBranch %71
|
||||
%71 = OpLabel
|
||||
OpBranch %65
|
||||
%70 = OpLabel
|
||||
%72 = OpLoad %4 %38
|
||||
%73 = OpIEqual %50 %72 %49
|
||||
OpSelectionMerge %74 None
|
||||
OpBranchConditional %73 %75 %74
|
||||
%75 = OpLabel
|
||||
OpBranch %67
|
||||
OpLoopMerge %72 %74 None
|
||||
OpBranch %73
|
||||
%73 = OpLabel
|
||||
%75 = OpLoad %4 %45
|
||||
%76 = OpUGreaterThanEqual %57 %75 %3
|
||||
OpSelectionMerge %77 None
|
||||
OpBranchConditional %76 %78 %77
|
||||
%78 = OpLabel
|
||||
OpBranch %72
|
||||
%77 = OpLabel
|
||||
%79 = OpLoad %4 %45
|
||||
%80 = OpIEqual %57 %79 %56
|
||||
OpSelectionMerge %81 None
|
||||
OpBranchConditional %80 %82 %81
|
||||
%82 = OpLabel
|
||||
OpBranch %74
|
||||
%81 = OpLabel
|
||||
%83 = OpLoad %4 %45
|
||||
%84 = OpAccessChain %63 %24 %9 %83 %9
|
||||
%85 = OpLoad %15 %84
|
||||
OpStore %41 %85
|
||||
%86 = OpLoad %4 %45
|
||||
%87 = OpAccessChain %63 %24 %9 %86 %11
|
||||
%88 = OpLoad %15 %87
|
||||
OpStore %43 %88
|
||||
%89 = OpLoad %15 %41
|
||||
%90 = OpLoad %15 %27
|
||||
%91 = OpExtInst %6 %1 Distance %89 %90
|
||||
%93 = OpAccessChain %92 %54 %11
|
||||
%94 = OpLoad %6 %93
|
||||
%95 = OpFOrdLessThan %57 %91 %94
|
||||
OpSelectionMerge %96 None
|
||||
OpBranchConditional %95 %97 %96
|
||||
%97 = OpLabel
|
||||
%98 = OpLoad %15 %32
|
||||
%99 = OpLoad %15 %41
|
||||
%100 = OpFAdd %15 %98 %99
|
||||
OpStore %32 %100
|
||||
%101 = OpLoad %8 %38
|
||||
%102 = OpIAdd %8 %101 %10
|
||||
OpStore %38 %102
|
||||
OpBranch %96
|
||||
%96 = OpLabel
|
||||
%103 = OpLoad %15 %41
|
||||
%104 = OpLoad %15 %27
|
||||
%105 = OpExtInst %6 %1 Distance %103 %104
|
||||
%107 = OpAccessChain %92 %54 %106
|
||||
%108 = OpLoad %6 %107
|
||||
%109 = OpFOrdLessThan %57 %105 %108
|
||||
OpSelectionMerge %110 None
|
||||
OpBranchConditional %109 %111 %110
|
||||
%111 = OpLabel
|
||||
%112 = OpLoad %15 %36
|
||||
%113 = OpLoad %15 %41
|
||||
%114 = OpLoad %15 %27
|
||||
%115 = OpFSub %15 %113 %114
|
||||
%116 = OpFSub %15 %112 %115
|
||||
OpStore %36 %116
|
||||
OpBranch %110
|
||||
%110 = OpLabel
|
||||
%117 = OpLoad %15 %41
|
||||
%118 = OpLoad %15 %27
|
||||
%119 = OpExtInst %6 %1 Distance %117 %118
|
||||
%121 = OpAccessChain %92 %54 %120
|
||||
%122 = OpLoad %6 %121
|
||||
%123 = OpFOrdLessThan %57 %119 %122
|
||||
OpSelectionMerge %124 None
|
||||
OpBranchConditional %123 %125 %124
|
||||
%125 = OpLabel
|
||||
%126 = OpLoad %15 %34
|
||||
%127 = OpLoad %15 %43
|
||||
%128 = OpFAdd %15 %126 %127
|
||||
OpStore %34 %128
|
||||
%129 = OpLoad %8 %40
|
||||
%130 = OpIAdd %8 %129 %10
|
||||
OpStore %40 %130
|
||||
OpBranch %124
|
||||
%124 = OpLabel
|
||||
OpBranch %74
|
||||
%74 = OpLabel
|
||||
%76 = OpLoad %4 %38
|
||||
%77 = OpAccessChain %56 %24 %9 %76 %9
|
||||
%78 = OpLoad %15 %77
|
||||
OpStore %36 %78
|
||||
%79 = OpLoad %4 %38
|
||||
%80 = OpAccessChain %56 %24 %9 %79 %11
|
||||
%81 = OpLoad %15 %80
|
||||
OpStore %37 %81
|
||||
%82 = OpLoad %15 %36
|
||||
%83 = OpLoad %15 %27
|
||||
%84 = OpExtInst %6 %1 Distance %82 %83
|
||||
%86 = OpAccessChain %85 %47 %11
|
||||
%87 = OpLoad %6 %86
|
||||
%88 = OpFOrdLessThan %50 %84 %87
|
||||
OpSelectionMerge %89 None
|
||||
OpBranchConditional %88 %90 %89
|
||||
%90 = OpLabel
|
||||
%91 = OpLoad %15 %30
|
||||
%92 = OpLoad %15 %36
|
||||
%93 = OpFAdd %15 %91 %92
|
||||
OpStore %30 %93
|
||||
%94 = OpLoad %8 %33
|
||||
%95 = OpIAdd %8 %94 %10
|
||||
OpStore %33 %95
|
||||
OpBranch %89
|
||||
%89 = OpLabel
|
||||
%96 = OpLoad %15 %36
|
||||
%97 = OpLoad %15 %27
|
||||
%98 = OpExtInst %6 %1 Distance %96 %97
|
||||
%100 = OpAccessChain %85 %47 %99
|
||||
%101 = OpLoad %6 %100
|
||||
%102 = OpFOrdLessThan %50 %98 %101
|
||||
OpSelectionMerge %103 None
|
||||
OpBranchConditional %102 %104 %103
|
||||
%104 = OpLabel
|
||||
%105 = OpLoad %15 %32
|
||||
%106 = OpLoad %15 %36
|
||||
%107 = OpLoad %15 %27
|
||||
%108 = OpFSub %15 %106 %107
|
||||
%109 = OpFSub %15 %105 %108
|
||||
OpStore %32 %109
|
||||
OpBranch %103
|
||||
%103 = OpLabel
|
||||
%110 = OpLoad %15 %36
|
||||
%111 = OpLoad %15 %27
|
||||
%112 = OpExtInst %6 %1 Distance %110 %111
|
||||
%114 = OpAccessChain %85 %47 %113
|
||||
%115 = OpLoad %6 %114
|
||||
%116 = OpFOrdLessThan %50 %112 %115
|
||||
OpSelectionMerge %117 None
|
||||
OpBranchConditional %116 %118 %117
|
||||
%118 = OpLabel
|
||||
%119 = OpLoad %15 %31
|
||||
%120 = OpLoad %15 %37
|
||||
%121 = OpFAdd %15 %119 %120
|
||||
OpStore %31 %121
|
||||
%122 = OpLoad %8 %35
|
||||
%123 = OpIAdd %8 %122 %10
|
||||
OpStore %35 %123
|
||||
OpBranch %117
|
||||
%117 = OpLabel
|
||||
OpBranch %67
|
||||
%67 = OpLabel
|
||||
%124 = OpLoad %4 %38
|
||||
%125 = OpIAdd %4 %124 %11
|
||||
OpStore %38 %125
|
||||
OpBranch %64
|
||||
%65 = OpLabel
|
||||
%126 = OpLoad %8 %33
|
||||
%127 = OpSGreaterThan %50 %126 %7
|
||||
OpSelectionMerge %128 None
|
||||
OpBranchConditional %127 %129 %128
|
||||
%129 = OpLabel
|
||||
%130 = OpLoad %15 %30
|
||||
%131 = OpLoad %8 %33
|
||||
%132 = OpConvertSToF %6 %131
|
||||
%133 = OpCompositeConstruct %15 %132 %132
|
||||
%134 = OpFDiv %15 %130 %133
|
||||
%135 = OpLoad %15 %27
|
||||
%136 = OpFSub %15 %134 %135
|
||||
OpStore %30 %136
|
||||
OpBranch %128
|
||||
%128 = OpLabel
|
||||
%137 = OpLoad %8 %35
|
||||
%138 = OpSGreaterThan %50 %137 %7
|
||||
OpSelectionMerge %139 None
|
||||
OpBranchConditional %138 %140 %139
|
||||
%140 = OpLabel
|
||||
%141 = OpLoad %15 %31
|
||||
%142 = OpLoad %8 %35
|
||||
%143 = OpConvertSToF %6 %142
|
||||
%144 = OpCompositeConstruct %15 %143 %143
|
||||
%145 = OpFDiv %15 %141 %144
|
||||
OpStore %31 %145
|
||||
OpBranch %139
|
||||
%139 = OpLabel
|
||||
%146 = OpLoad %15 %29
|
||||
%147 = OpLoad %15 %30
|
||||
%149 = OpAccessChain %85 %47 %148
|
||||
%150 = OpLoad %6 %149
|
||||
%151 = OpVectorTimesScalar %15 %147 %150
|
||||
%152 = OpFAdd %15 %146 %151
|
||||
%153 = OpLoad %15 %32
|
||||
%155 = OpAccessChain %85 %47 %154
|
||||
%156 = OpLoad %6 %155
|
||||
%157 = OpVectorTimesScalar %15 %153 %156
|
||||
%158 = OpFAdd %15 %152 %157
|
||||
%159 = OpLoad %15 %31
|
||||
%161 = OpAccessChain %85 %47 %160
|
||||
%162 = OpLoad %6 %161
|
||||
%163 = OpVectorTimesScalar %15 %159 %162
|
||||
%164 = OpFAdd %15 %158 %163
|
||||
OpStore %29 %164
|
||||
%165 = OpLoad %15 %29
|
||||
%166 = OpExtInst %15 %1 Normalize %165
|
||||
%167 = OpLoad %15 %29
|
||||
%168 = OpExtInst %6 %1 Length %167
|
||||
%169 = OpExtInst %6 %1 FClamp %168 %5 %12
|
||||
%131 = OpLoad %4 %45
|
||||
%132 = OpIAdd %4 %131 %11
|
||||
OpStore %45 %132
|
||||
OpBranch %71
|
||||
%72 = OpLabel
|
||||
%133 = OpLoad %8 %38
|
||||
%134 = OpSGreaterThan %57 %133 %7
|
||||
OpSelectionMerge %135 None
|
||||
OpBranchConditional %134 %136 %135
|
||||
%136 = OpLabel
|
||||
%137 = OpLoad %15 %32
|
||||
%138 = OpLoad %8 %38
|
||||
%139 = OpConvertSToF %6 %138
|
||||
%140 = OpCompositeConstruct %15 %139 %139
|
||||
%141 = OpFDiv %15 %137 %140
|
||||
%142 = OpLoad %15 %27
|
||||
%143 = OpFSub %15 %141 %142
|
||||
OpStore %32 %143
|
||||
OpBranch %135
|
||||
%135 = OpLabel
|
||||
%144 = OpLoad %8 %40
|
||||
%145 = OpSGreaterThan %57 %144 %7
|
||||
OpSelectionMerge %146 None
|
||||
OpBranchConditional %145 %147 %146
|
||||
%147 = OpLabel
|
||||
%148 = OpLoad %15 %34
|
||||
%149 = OpLoad %8 %40
|
||||
%150 = OpConvertSToF %6 %149
|
||||
%151 = OpCompositeConstruct %15 %150 %150
|
||||
%152 = OpFDiv %15 %148 %151
|
||||
OpStore %34 %152
|
||||
OpBranch %146
|
||||
%146 = OpLabel
|
||||
%153 = OpLoad %15 %30
|
||||
%154 = OpLoad %15 %32
|
||||
%156 = OpAccessChain %92 %54 %155
|
||||
%157 = OpLoad %6 %156
|
||||
%158 = OpVectorTimesScalar %15 %154 %157
|
||||
%159 = OpFAdd %15 %153 %158
|
||||
%160 = OpLoad %15 %36
|
||||
%162 = OpAccessChain %92 %54 %161
|
||||
%163 = OpLoad %6 %162
|
||||
%164 = OpVectorTimesScalar %15 %160 %163
|
||||
%165 = OpFAdd %15 %159 %164
|
||||
%166 = OpLoad %15 %34
|
||||
%168 = OpAccessChain %92 %54 %167
|
||||
%169 = OpLoad %6 %168
|
||||
%170 = OpVectorTimesScalar %15 %166 %169
|
||||
OpStore %29 %170
|
||||
%171 = OpLoad %15 %27
|
||||
%172 = OpLoad %15 %29
|
||||
%173 = OpAccessChain %85 %47 %9
|
||||
%174 = OpLoad %6 %173
|
||||
%175 = OpVectorTimesScalar %15 %172 %174
|
||||
%176 = OpFAdd %15 %171 %175
|
||||
OpStore %27 %176
|
||||
%178 = OpAccessChain %177 %27 %9
|
||||
%179 = OpLoad %6 %178
|
||||
%180 = OpFOrdLessThan %50 %179 %13
|
||||
OpSelectionMerge %181 None
|
||||
OpBranchConditional %180 %182 %181
|
||||
%182 = OpLabel
|
||||
%183 = OpAccessChain %177 %27 %9
|
||||
OpStore %183 %14
|
||||
OpBranch %181
|
||||
%181 = OpLabel
|
||||
%184 = OpAccessChain %177 %27 %9
|
||||
%185 = OpLoad %6 %184
|
||||
%186 = OpFOrdGreaterThan %50 %185 %14
|
||||
OpSelectionMerge %187 None
|
||||
OpBranchConditional %186 %188 %187
|
||||
%171 = OpFAdd %15 %165 %170
|
||||
OpStore %30 %171
|
||||
%172 = OpLoad %15 %30
|
||||
%173 = OpExtInst %15 %1 Normalize %172
|
||||
%174 = OpLoad %15 %30
|
||||
%175 = OpExtInst %6 %1 Length %174
|
||||
%176 = OpExtInst %6 %1 FClamp %175 %5 %12
|
||||
%177 = OpVectorTimesScalar %15 %173 %176
|
||||
OpStore %30 %177
|
||||
%178 = OpLoad %15 %27
|
||||
%179 = OpLoad %15 %30
|
||||
%180 = OpAccessChain %92 %54 %9
|
||||
%181 = OpLoad %6 %180
|
||||
%182 = OpVectorTimesScalar %15 %179 %181
|
||||
%183 = OpFAdd %15 %178 %182
|
||||
OpStore %27 %183
|
||||
%185 = OpAccessChain %184 %27 %9
|
||||
%186 = OpLoad %6 %185
|
||||
%187 = OpFOrdLessThan %57 %186 %13
|
||||
OpSelectionMerge %188 None
|
||||
OpBranchConditional %187 %189 %188
|
||||
%189 = OpLabel
|
||||
%190 = OpAccessChain %184 %27 %9
|
||||
OpStore %190 %14
|
||||
OpBranch %188
|
||||
%188 = OpLabel
|
||||
%189 = OpAccessChain %177 %27 %9
|
||||
OpStore %189 %13
|
||||
OpBranch %187
|
||||
%187 = OpLabel
|
||||
%190 = OpAccessChain %177 %27 %11
|
||||
%191 = OpLoad %6 %190
|
||||
%192 = OpFOrdLessThan %50 %191 %13
|
||||
OpSelectionMerge %193 None
|
||||
OpBranchConditional %192 %194 %193
|
||||
%191 = OpAccessChain %184 %27 %9
|
||||
%192 = OpLoad %6 %191
|
||||
%193 = OpFOrdGreaterThan %57 %192 %14
|
||||
OpSelectionMerge %194 None
|
||||
OpBranchConditional %193 %195 %194
|
||||
%195 = OpLabel
|
||||
%196 = OpAccessChain %184 %27 %9
|
||||
OpStore %196 %13
|
||||
OpBranch %194
|
||||
%194 = OpLabel
|
||||
%195 = OpAccessChain %177 %27 %11
|
||||
OpStore %195 %14
|
||||
OpBranch %193
|
||||
%193 = OpLabel
|
||||
%196 = OpAccessChain %177 %27 %11
|
||||
%197 = OpLoad %6 %196
|
||||
%198 = OpFOrdGreaterThan %50 %197 %14
|
||||
OpSelectionMerge %199 None
|
||||
OpBranchConditional %198 %200 %199
|
||||
%197 = OpAccessChain %184 %27 %11
|
||||
%198 = OpLoad %6 %197
|
||||
%199 = OpFOrdLessThan %57 %198 %13
|
||||
OpSelectionMerge %200 None
|
||||
OpBranchConditional %199 %201 %200
|
||||
%201 = OpLabel
|
||||
%202 = OpAccessChain %184 %27 %11
|
||||
OpStore %202 %14
|
||||
OpBranch %200
|
||||
%200 = OpLabel
|
||||
%201 = OpAccessChain %177 %27 %11
|
||||
OpStore %201 %13
|
||||
OpBranch %199
|
||||
%199 = OpLabel
|
||||
%202 = OpLoad %15 %27
|
||||
%203 = OpAccessChain %56 %26 %9 %49 %9
|
||||
OpStore %203 %202
|
||||
%204 = OpLoad %15 %29
|
||||
%205 = OpAccessChain %56 %26 %9 %49 %11
|
||||
OpStore %205 %204
|
||||
%203 = OpAccessChain %184 %27 %11
|
||||
%204 = OpLoad %6 %203
|
||||
%205 = OpFOrdGreaterThan %57 %204 %14
|
||||
OpSelectionMerge %206 None
|
||||
OpBranchConditional %205 %207 %206
|
||||
%207 = OpLabel
|
||||
%208 = OpAccessChain %184 %27 %11
|
||||
OpStore %208 %13
|
||||
OpBranch %206
|
||||
%206 = OpLabel
|
||||
%209 = OpLoad %15 %27
|
||||
%210 = OpAccessChain %63 %26 %9 %56 %9
|
||||
OpStore %210 %209
|
||||
%211 = OpLoad %15 %30
|
||||
%212 = OpAccessChain %63 %26 %9 %56 %11
|
||||
OpStore %212 %211
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -1,29 +1,29 @@
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: rspirv
|
||||
; Bound: 59
|
||||
; Bound: 60
|
||||
OpCapability Shader
|
||||
OpExtension "SPV_KHR_storage_buffer_storage_class"
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %48 "main" %45
|
||||
OpExecutionMode %48 LocalSize 1 1 1
|
||||
OpEntryPoint GLCompute %49 "main" %46
|
||||
OpExecutionMode %49 LocalSize 1 1 1
|
||||
OpSource GLSL 450
|
||||
OpMemberName %9 0 "data"
|
||||
OpName %9 "PrimeIndices"
|
||||
OpName %11 "v_indices"
|
||||
OpName %13 "n"
|
||||
OpName %15 "i"
|
||||
OpName %17 "n_base"
|
||||
OpName %18 "collatz_iterations"
|
||||
OpName %45 "global_id"
|
||||
OpName %48 "main"
|
||||
OpName %16 "i"
|
||||
OpName %18 "n_base"
|
||||
OpName %19 "collatz_iterations"
|
||||
OpName %46 "global_id"
|
||||
OpName %49 "main"
|
||||
OpDecorate %8 ArrayStride 4
|
||||
OpMemberDecorate %9 0 Offset 0
|
||||
OpDecorate %11 DescriptorSet 0
|
||||
OpDecorate %11 Binding 0
|
||||
OpDecorate %9 Block
|
||||
OpDecorate %45 BuiltIn GlobalInvocationId
|
||||
OpDecorate %46 BuiltIn GlobalInvocationId
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 0
|
||||
%3 = OpConstant %4 0
|
||||
@ -36,71 +36,72 @@ OpDecorate %45 BuiltIn GlobalInvocationId
|
||||
%12 = OpTypePointer StorageBuffer %9
|
||||
%11 = OpVariable %12 StorageBuffer
|
||||
%14 = OpTypePointer Function %4
|
||||
%19 = OpTypeFunction %4 %4
|
||||
%26 = OpTypeBool
|
||||
%46 = OpTypePointer Input %10
|
||||
%45 = OpVariable %46 Input
|
||||
%49 = OpTypeFunction %2
|
||||
%51 = OpTypePointer StorageBuffer %8
|
||||
%53 = OpTypePointer StorageBuffer %4
|
||||
%18 = OpFunction %4 None %19
|
||||
%17 = OpFunctionParameter %4
|
||||
%16 = OpLabel
|
||||
%13 = OpVariable %14 Function
|
||||
%15 = OpVariable %14 Function %3
|
||||
OpBranch %20
|
||||
%20 = OpLabel
|
||||
OpStore %13 %17
|
||||
%15 = OpConstantNull %4
|
||||
%20 = OpTypeFunction %4 %4
|
||||
%27 = OpTypeBool
|
||||
%47 = OpTypePointer Input %10
|
||||
%46 = OpVariable %47 Input
|
||||
%50 = OpTypeFunction %2
|
||||
%52 = OpTypePointer StorageBuffer %8
|
||||
%54 = OpTypePointer StorageBuffer %4
|
||||
%19 = OpFunction %4 None %20
|
||||
%18 = OpFunctionParameter %4
|
||||
%17 = OpLabel
|
||||
%13 = OpVariable %14 Function %15
|
||||
%16 = OpVariable %14 Function %3
|
||||
OpBranch %21
|
||||
%21 = OpLabel
|
||||
OpLoopMerge %22 %24 None
|
||||
OpBranch %23
|
||||
%23 = OpLabel
|
||||
%25 = OpLoad %4 %13
|
||||
%27 = OpUGreaterThan %26 %25 %5
|
||||
OpSelectionMerge %28 None
|
||||
OpBranchConditional %27 %28 %29
|
||||
%29 = OpLabel
|
||||
OpStore %13 %18
|
||||
OpBranch %22
|
||||
%28 = OpLabel
|
||||
%30 = OpLoad %4 %13
|
||||
%31 = OpUMod %4 %30 %6
|
||||
%32 = OpIEqual %26 %31 %3
|
||||
OpSelectionMerge %33 None
|
||||
OpBranchConditional %32 %34 %35
|
||||
%34 = OpLabel
|
||||
%36 = OpLoad %4 %13
|
||||
%37 = OpUDiv %4 %36 %6
|
||||
OpStore %13 %37
|
||||
OpBranch %33
|
||||
%35 = OpLabel
|
||||
%38 = OpLoad %4 %13
|
||||
%39 = OpIMul %4 %7 %38
|
||||
%40 = OpIAdd %4 %39 %5
|
||||
OpStore %13 %40
|
||||
OpBranch %33
|
||||
%33 = OpLabel
|
||||
%41 = OpLoad %4 %15
|
||||
%42 = OpIAdd %4 %41 %5
|
||||
OpStore %15 %42
|
||||
%22 = OpLabel
|
||||
OpLoopMerge %23 %25 None
|
||||
OpBranch %24
|
||||
%24 = OpLabel
|
||||
OpBranch %21
|
||||
%22 = OpLabel
|
||||
%43 = OpLoad %4 %15
|
||||
OpReturnValue %43
|
||||
%26 = OpLoad %4 %13
|
||||
%28 = OpUGreaterThan %27 %26 %5
|
||||
OpSelectionMerge %29 None
|
||||
OpBranchConditional %28 %29 %30
|
||||
%30 = OpLabel
|
||||
OpBranch %23
|
||||
%29 = OpLabel
|
||||
%31 = OpLoad %4 %13
|
||||
%32 = OpUMod %4 %31 %6
|
||||
%33 = OpIEqual %27 %32 %3
|
||||
OpSelectionMerge %34 None
|
||||
OpBranchConditional %33 %35 %36
|
||||
%35 = OpLabel
|
||||
%37 = OpLoad %4 %13
|
||||
%38 = OpUDiv %4 %37 %6
|
||||
OpStore %13 %38
|
||||
OpBranch %34
|
||||
%36 = OpLabel
|
||||
%39 = OpLoad %4 %13
|
||||
%40 = OpIMul %4 %7 %39
|
||||
%41 = OpIAdd %4 %40 %5
|
||||
OpStore %13 %41
|
||||
OpBranch %34
|
||||
%34 = OpLabel
|
||||
%42 = OpLoad %4 %16
|
||||
%43 = OpIAdd %4 %42 %5
|
||||
OpStore %16 %43
|
||||
OpBranch %25
|
||||
%25 = OpLabel
|
||||
OpBranch %22
|
||||
%23 = OpLabel
|
||||
%44 = OpLoad %4 %16
|
||||
OpReturnValue %44
|
||||
OpFunctionEnd
|
||||
%48 = OpFunction %2 None %49
|
||||
%44 = OpLabel
|
||||
%47 = OpLoad %10 %45
|
||||
OpBranch %50
|
||||
%50 = OpLabel
|
||||
%52 = OpCompositeExtract %4 %47 0
|
||||
%54 = OpCompositeExtract %4 %47 0
|
||||
%55 = OpAccessChain %53 %11 %3 %54
|
||||
%56 = OpLoad %4 %55
|
||||
%57 = OpFunctionCall %4 %18 %56
|
||||
%58 = OpAccessChain %53 %11 %3 %52
|
||||
OpStore %58 %57
|
||||
%49 = OpFunction %2 None %50
|
||||
%45 = OpLabel
|
||||
%48 = OpLoad %10 %46
|
||||
OpBranch %51
|
||||
%51 = OpLabel
|
||||
%53 = OpCompositeExtract %4 %48 0
|
||||
%55 = OpCompositeExtract %4 %48 0
|
||||
%56 = OpAccessChain %54 %11 %3 %55
|
||||
%57 = OpLoad %4 %56
|
||||
%58 = OpFunctionCall %4 %19 %57
|
||||
%59 = OpAccessChain %54 %11 %3 %53
|
||||
OpStore %59 %58
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -1,13 +1,13 @@
|
||||
; SPIR-V
|
||||
; Version: 1.1
|
||||
; Generator: rspirv
|
||||
; Bound: 67
|
||||
; Bound: 68
|
||||
OpCapability Shader
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %42 "main" %39
|
||||
OpExecutionMode %42 LocalSize 1 1 1
|
||||
OpDecorate %39 BuiltIn GlobalInvocationId
|
||||
OpEntryPoint GLCompute %43 "main" %40
|
||||
OpExecutionMode %43 LocalSize 1 1 1
|
||||
OpDecorate %40 BuiltIn GlobalInvocationId
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 1
|
||||
%3 = OpConstant %4 1
|
||||
@ -20,12 +20,13 @@ OpDecorate %39 BuiltIn GlobalInvocationId
|
||||
%14 = OpTypeFunction %2 %4
|
||||
%20 = OpTypeFunction %2
|
||||
%37 = OpTypePointer Function %4
|
||||
%40 = OpTypePointer Input %10
|
||||
%39 = OpVariable %40 Input
|
||||
%44 = OpConstant %9 2
|
||||
%45 = OpConstant %9 1
|
||||
%46 = OpConstant %9 72
|
||||
%47 = OpConstant %9 264
|
||||
%38 = OpConstantNull %4
|
||||
%41 = OpTypePointer Input %10
|
||||
%40 = OpVariable %41 Input
|
||||
%45 = OpConstant %9 2
|
||||
%46 = OpConstant %9 1
|
||||
%47 = OpConstant %9 72
|
||||
%48 = OpConstant %9 264
|
||||
%13 = OpFunction %2 None %14
|
||||
%12 = OpFunctionParameter %4
|
||||
%11 = OpLabel
|
||||
@ -74,62 +75,62 @@ OpBranch %29
|
||||
%30 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%42 = OpFunction %2 None %20
|
||||
%38 = OpLabel
|
||||
%36 = OpVariable %37 Function
|
||||
%41 = OpLoad %10 %39
|
||||
OpBranch %43
|
||||
%43 = OpLabel
|
||||
OpControlBarrier %44 %45 %46
|
||||
OpControlBarrier %44 %44 %47
|
||||
OpSelectionMerge %48 None
|
||||
OpSwitch %3 %49
|
||||
%43 = OpFunction %2 None %20
|
||||
%39 = OpLabel
|
||||
%36 = OpVariable %37 Function %38
|
||||
%42 = OpLoad %10 %40
|
||||
OpBranch %44
|
||||
%44 = OpLabel
|
||||
OpControlBarrier %45 %46 %47
|
||||
OpControlBarrier %45 %45 %48
|
||||
OpSelectionMerge %49 None
|
||||
OpSwitch %3 %50
|
||||
%50 = OpLabel
|
||||
OpStore %36 %3
|
||||
OpBranch %49
|
||||
%49 = OpLabel
|
||||
OpStore %36 %3
|
||||
OpBranch %48
|
||||
%48 = OpLabel
|
||||
%50 = OpLoad %4 %36
|
||||
OpSelectionMerge %51 None
|
||||
OpSwitch %50 %52 1 %53 2 %54 3 %55 4 %56
|
||||
%53 = OpLabel
|
||||
OpStore %36 %5
|
||||
OpBranch %51
|
||||
%51 = OpLoad %4 %36
|
||||
OpSelectionMerge %52 None
|
||||
OpSwitch %51 %53 1 %54 2 %55 3 %56 4 %57
|
||||
%54 = OpLabel
|
||||
OpStore %36 %3
|
||||
OpBranch %51
|
||||
OpStore %36 %5
|
||||
OpBranch %52
|
||||
%55 = OpLabel
|
||||
OpStore %36 %6
|
||||
OpBranch %56
|
||||
OpStore %36 %3
|
||||
OpBranch %52
|
||||
%56 = OpLabel
|
||||
OpBranch %51
|
||||
%52 = OpLabel
|
||||
OpStore %36 %7
|
||||
OpBranch %51
|
||||
%51 = OpLabel
|
||||
OpSelectionMerge %57 None
|
||||
OpSwitch %8 %58 0 %59
|
||||
%59 = OpLabel
|
||||
OpBranch %57
|
||||
%58 = OpLabel
|
||||
OpStore %36 %6
|
||||
OpBranch %57
|
||||
%57 = OpLabel
|
||||
%60 = OpLoad %4 %36
|
||||
OpSelectionMerge %61 None
|
||||
OpSwitch %60 %62 1 %63 2 %64 3 %65 4 %66
|
||||
%63 = OpLabel
|
||||
OpStore %36 %5
|
||||
OpBranch %61
|
||||
OpBranch %52
|
||||
%53 = OpLabel
|
||||
OpStore %36 %7
|
||||
OpBranch %52
|
||||
%52 = OpLabel
|
||||
OpSelectionMerge %58 None
|
||||
OpSwitch %8 %59 0 %60
|
||||
%60 = OpLabel
|
||||
OpBranch %58
|
||||
%59 = OpLabel
|
||||
OpBranch %58
|
||||
%58 = OpLabel
|
||||
%61 = OpLoad %4 %36
|
||||
OpSelectionMerge %62 None
|
||||
OpSwitch %61 %63 1 %64 2 %65 3 %66 4 %67
|
||||
%64 = OpLabel
|
||||
OpStore %36 %5
|
||||
OpBranch %62
|
||||
%65 = OpLabel
|
||||
OpStore %36 %3
|
||||
OpReturn
|
||||
%65 = OpLabel
|
||||
OpStore %36 %6
|
||||
OpBranch %66
|
||||
%66 = OpLabel
|
||||
OpStore %36 %6
|
||||
OpBranch %67
|
||||
%67 = OpLabel
|
||||
OpReturn
|
||||
%62 = OpLabel
|
||||
%63 = OpLabel
|
||||
OpStore %36 %7
|
||||
OpReturn
|
||||
%61 = OpLabel
|
||||
%62 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -1,14 +1,14 @@
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: rspirv
|
||||
; Bound: 110
|
||||
; Bound: 111
|
||||
OpCapability Shader
|
||||
OpCapability SampleRateShading
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %45 "vert_main" %29 %31 %33 %35 %37 %39 %40 %41 %42
|
||||
OpEntryPoint Fragment %108 "frag_main" %87 %90 %93 %96 %99 %102 %104 %106
|
||||
OpExecutionMode %108 OriginUpperLeft
|
||||
OpEntryPoint Vertex %46 "vert_main" %30 %32 %34 %36 %38 %40 %41 %42 %43
|
||||
OpEntryPoint Fragment %109 "frag_main" %88 %91 %94 %97 %100 %103 %105 %107
|
||||
OpExecutionMode %109 OriginUpperLeft
|
||||
OpSource GLSL 450
|
||||
OpMemberName %25 0 "position"
|
||||
OpMemberName %25 1 "_flat"
|
||||
@ -20,24 +20,24 @@ OpMemberName %25 6 "perspective_centroid"
|
||||
OpMemberName %25 7 "perspective_sample"
|
||||
OpName %25 "FragmentInput"
|
||||
OpName %26 "out"
|
||||
OpName %29 "position"
|
||||
OpName %31 "_flat"
|
||||
OpName %33 "_linear"
|
||||
OpName %35 "linear_centroid"
|
||||
OpName %37 "linear_sample"
|
||||
OpName %39 "perspective"
|
||||
OpName %40 "perspective_centroid"
|
||||
OpName %41 "perspective_sample"
|
||||
OpName %45 "vert_main"
|
||||
OpName %87 "position"
|
||||
OpName %90 "_flat"
|
||||
OpName %93 "_linear"
|
||||
OpName %96 "linear_centroid"
|
||||
OpName %99 "linear_sample"
|
||||
OpName %102 "perspective"
|
||||
OpName %104 "perspective_centroid"
|
||||
OpName %106 "perspective_sample"
|
||||
OpName %108 "frag_main"
|
||||
OpName %30 "position"
|
||||
OpName %32 "_flat"
|
||||
OpName %34 "_linear"
|
||||
OpName %36 "linear_centroid"
|
||||
OpName %38 "linear_sample"
|
||||
OpName %40 "perspective"
|
||||
OpName %41 "perspective_centroid"
|
||||
OpName %42 "perspective_sample"
|
||||
OpName %46 "vert_main"
|
||||
OpName %88 "position"
|
||||
OpName %91 "_flat"
|
||||
OpName %94 "_linear"
|
||||
OpName %97 "linear_centroid"
|
||||
OpName %100 "linear_sample"
|
||||
OpName %103 "perspective"
|
||||
OpName %105 "perspective_centroid"
|
||||
OpName %107 "perspective_sample"
|
||||
OpName %109 "frag_main"
|
||||
OpMemberDecorate %25 0 Offset 0
|
||||
OpMemberDecorate %25 1 Offset 16
|
||||
OpMemberDecorate %25 2 Offset 20
|
||||
@ -46,39 +46,39 @@ OpMemberDecorate %25 4 Offset 32
|
||||
OpMemberDecorate %25 5 Offset 48
|
||||
OpMemberDecorate %25 6 Offset 64
|
||||
OpMemberDecorate %25 7 Offset 68
|
||||
OpDecorate %29 BuiltIn Position
|
||||
OpDecorate %31 Location 0
|
||||
OpDecorate %31 Flat
|
||||
OpDecorate %33 Location 1
|
||||
OpDecorate %33 NoPerspective
|
||||
OpDecorate %35 Location 2
|
||||
OpDecorate %35 NoPerspective
|
||||
OpDecorate %35 Centroid
|
||||
OpDecorate %37 Location 3
|
||||
OpDecorate %37 NoPerspective
|
||||
OpDecorate %37 Sample
|
||||
OpDecorate %39 Location 4
|
||||
OpDecorate %40 Location 5
|
||||
OpDecorate %40 Centroid
|
||||
OpDecorate %41 Location 6
|
||||
OpDecorate %41 Sample
|
||||
OpDecorate %42 BuiltIn PointSize
|
||||
OpDecorate %87 BuiltIn FragCoord
|
||||
OpDecorate %90 Location 0
|
||||
OpDecorate %90 Flat
|
||||
OpDecorate %93 Location 1
|
||||
OpDecorate %93 NoPerspective
|
||||
OpDecorate %96 Location 2
|
||||
OpDecorate %96 NoPerspective
|
||||
OpDecorate %96 Centroid
|
||||
OpDecorate %99 Location 3
|
||||
OpDecorate %99 NoPerspective
|
||||
OpDecorate %99 Sample
|
||||
OpDecorate %102 Location 4
|
||||
OpDecorate %104 Location 5
|
||||
OpDecorate %104 Centroid
|
||||
OpDecorate %106 Location 6
|
||||
OpDecorate %106 Sample
|
||||
OpDecorate %30 BuiltIn Position
|
||||
OpDecorate %32 Location 0
|
||||
OpDecorate %32 Flat
|
||||
OpDecorate %34 Location 1
|
||||
OpDecorate %34 NoPerspective
|
||||
OpDecorate %36 Location 2
|
||||
OpDecorate %36 NoPerspective
|
||||
OpDecorate %36 Centroid
|
||||
OpDecorate %38 Location 3
|
||||
OpDecorate %38 NoPerspective
|
||||
OpDecorate %38 Sample
|
||||
OpDecorate %40 Location 4
|
||||
OpDecorate %41 Location 5
|
||||
OpDecorate %41 Centroid
|
||||
OpDecorate %42 Location 6
|
||||
OpDecorate %42 Sample
|
||||
OpDecorate %43 BuiltIn PointSize
|
||||
OpDecorate %88 BuiltIn FragCoord
|
||||
OpDecorate %91 Location 0
|
||||
OpDecorate %91 Flat
|
||||
OpDecorate %94 Location 1
|
||||
OpDecorate %94 NoPerspective
|
||||
OpDecorate %97 Location 2
|
||||
OpDecorate %97 NoPerspective
|
||||
OpDecorate %97 Centroid
|
||||
OpDecorate %100 Location 3
|
||||
OpDecorate %100 NoPerspective
|
||||
OpDecorate %100 Sample
|
||||
OpDecorate %103 Location 4
|
||||
OpDecorate %105 Location 5
|
||||
OpDecorate %105 Centroid
|
||||
OpDecorate %107 Location 6
|
||||
OpDecorate %107 Sample
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeFloat 32
|
||||
%3 = OpConstant %4 2.0
|
||||
@ -104,110 +104,111 @@ OpDecorate %106 Sample
|
||||
%24 = OpTypeVector %4 3
|
||||
%25 = OpTypeStruct %22 %9 %4 %23 %24 %22 %4 %4
|
||||
%27 = OpTypePointer Function %25
|
||||
%30 = OpTypePointer Output %22
|
||||
%29 = OpVariable %30 Output
|
||||
%32 = OpTypePointer Output %9
|
||||
%31 = OpVariable %32 Output
|
||||
%34 = OpTypePointer Output %4
|
||||
%33 = OpVariable %34 Output
|
||||
%36 = OpTypePointer Output %23
|
||||
%35 = OpVariable %36 Output
|
||||
%38 = OpTypePointer Output %24
|
||||
%37 = OpVariable %38 Output
|
||||
%39 = OpVariable %30 Output
|
||||
%40 = OpVariable %34 Output
|
||||
%41 = OpVariable %34 Output
|
||||
%43 = OpTypePointer Output %4
|
||||
%42 = OpVariable %43 Output
|
||||
%44 = OpConstant %4 1.0
|
||||
%46 = OpTypeFunction %2
|
||||
%48 = OpTypePointer Function %22
|
||||
%50 = OpConstant %9 0
|
||||
%52 = OpTypePointer Function %9
|
||||
%53 = OpConstant %9 1
|
||||
%55 = OpTypePointer Function %4
|
||||
%56 = OpConstant %9 2
|
||||
%58 = OpTypePointer Function %23
|
||||
%60 = OpConstant %9 3
|
||||
%62 = OpTypePointer Function %24
|
||||
%64 = OpConstant %9 4
|
||||
%67 = OpConstant %9 5
|
||||
%69 = OpConstant %9 6
|
||||
%71 = OpConstant %9 7
|
||||
%88 = OpTypePointer Input %22
|
||||
%87 = OpVariable %88 Input
|
||||
%91 = OpTypePointer Input %9
|
||||
%90 = OpVariable %91 Input
|
||||
%94 = OpTypePointer Input %4
|
||||
%93 = OpVariable %94 Input
|
||||
%97 = OpTypePointer Input %23
|
||||
%96 = OpVariable %97 Input
|
||||
%100 = OpTypePointer Input %24
|
||||
%99 = OpVariable %100 Input
|
||||
%102 = OpVariable %88 Input
|
||||
%104 = OpVariable %94 Input
|
||||
%106 = OpVariable %94 Input
|
||||
%45 = OpFunction %2 None %46
|
||||
%28 = OpLabel
|
||||
%26 = OpVariable %27 Function
|
||||
OpStore %42 %44
|
||||
OpBranch %47
|
||||
%47 = OpLabel
|
||||
%49 = OpCompositeConstruct %22 %3 %5 %6 %7
|
||||
%51 = OpAccessChain %48 %26 %50
|
||||
OpStore %51 %49
|
||||
%54 = OpAccessChain %52 %26 %53
|
||||
OpStore %54 %8
|
||||
%57 = OpAccessChain %55 %26 %56
|
||||
OpStore %57 %10
|
||||
%59 = OpCompositeConstruct %23 %11 %12
|
||||
%61 = OpAccessChain %58 %26 %60
|
||||
OpStore %61 %59
|
||||
%63 = OpCompositeConstruct %24 %13 %14 %15
|
||||
%65 = OpAccessChain %62 %26 %64
|
||||
OpStore %65 %63
|
||||
%66 = OpCompositeConstruct %22 %16 %17 %18 %19
|
||||
%68 = OpAccessChain %48 %26 %67
|
||||
OpStore %68 %66
|
||||
%70 = OpAccessChain %55 %26 %69
|
||||
OpStore %70 %20
|
||||
%72 = OpAccessChain %55 %26 %71
|
||||
OpStore %72 %21
|
||||
%73 = OpLoad %25 %26
|
||||
%74 = OpCompositeExtract %22 %73 0
|
||||
OpStore %29 %74
|
||||
%75 = OpAccessChain %43 %29 %53
|
||||
%76 = OpLoad %4 %75
|
||||
%77 = OpFNegate %4 %76
|
||||
OpStore %75 %77
|
||||
%78 = OpCompositeExtract %9 %73 1
|
||||
OpStore %31 %78
|
||||
%79 = OpCompositeExtract %4 %73 2
|
||||
OpStore %33 %79
|
||||
%80 = OpCompositeExtract %23 %73 3
|
||||
OpStore %35 %80
|
||||
%81 = OpCompositeExtract %24 %73 4
|
||||
OpStore %37 %81
|
||||
%82 = OpCompositeExtract %22 %73 5
|
||||
OpStore %39 %82
|
||||
%83 = OpCompositeExtract %4 %73 6
|
||||
%28 = OpConstantNull %25
|
||||
%31 = OpTypePointer Output %22
|
||||
%30 = OpVariable %31 Output
|
||||
%33 = OpTypePointer Output %9
|
||||
%32 = OpVariable %33 Output
|
||||
%35 = OpTypePointer Output %4
|
||||
%34 = OpVariable %35 Output
|
||||
%37 = OpTypePointer Output %23
|
||||
%36 = OpVariable %37 Output
|
||||
%39 = OpTypePointer Output %24
|
||||
%38 = OpVariable %39 Output
|
||||
%40 = OpVariable %31 Output
|
||||
%41 = OpVariable %35 Output
|
||||
%42 = OpVariable %35 Output
|
||||
%44 = OpTypePointer Output %4
|
||||
%43 = OpVariable %44 Output
|
||||
%45 = OpConstant %4 1.0
|
||||
%47 = OpTypeFunction %2
|
||||
%49 = OpTypePointer Function %22
|
||||
%51 = OpConstant %9 0
|
||||
%53 = OpTypePointer Function %9
|
||||
%54 = OpConstant %9 1
|
||||
%56 = OpTypePointer Function %4
|
||||
%57 = OpConstant %9 2
|
||||
%59 = OpTypePointer Function %23
|
||||
%61 = OpConstant %9 3
|
||||
%63 = OpTypePointer Function %24
|
||||
%65 = OpConstant %9 4
|
||||
%68 = OpConstant %9 5
|
||||
%70 = OpConstant %9 6
|
||||
%72 = OpConstant %9 7
|
||||
%89 = OpTypePointer Input %22
|
||||
%88 = OpVariable %89 Input
|
||||
%92 = OpTypePointer Input %9
|
||||
%91 = OpVariable %92 Input
|
||||
%95 = OpTypePointer Input %4
|
||||
%94 = OpVariable %95 Input
|
||||
%98 = OpTypePointer Input %23
|
||||
%97 = OpVariable %98 Input
|
||||
%101 = OpTypePointer Input %24
|
||||
%100 = OpVariable %101 Input
|
||||
%103 = OpVariable %89 Input
|
||||
%105 = OpVariable %95 Input
|
||||
%107 = OpVariable %95 Input
|
||||
%46 = OpFunction %2 None %47
|
||||
%29 = OpLabel
|
||||
%26 = OpVariable %27 Function %28
|
||||
OpStore %43 %45
|
||||
OpBranch %48
|
||||
%48 = OpLabel
|
||||
%50 = OpCompositeConstruct %22 %3 %5 %6 %7
|
||||
%52 = OpAccessChain %49 %26 %51
|
||||
OpStore %52 %50
|
||||
%55 = OpAccessChain %53 %26 %54
|
||||
OpStore %55 %8
|
||||
%58 = OpAccessChain %56 %26 %57
|
||||
OpStore %58 %10
|
||||
%60 = OpCompositeConstruct %23 %11 %12
|
||||
%62 = OpAccessChain %59 %26 %61
|
||||
OpStore %62 %60
|
||||
%64 = OpCompositeConstruct %24 %13 %14 %15
|
||||
%66 = OpAccessChain %63 %26 %65
|
||||
OpStore %66 %64
|
||||
%67 = OpCompositeConstruct %22 %16 %17 %18 %19
|
||||
%69 = OpAccessChain %49 %26 %68
|
||||
OpStore %69 %67
|
||||
%71 = OpAccessChain %56 %26 %70
|
||||
OpStore %71 %20
|
||||
%73 = OpAccessChain %56 %26 %72
|
||||
OpStore %73 %21
|
||||
%74 = OpLoad %25 %26
|
||||
%75 = OpCompositeExtract %22 %74 0
|
||||
OpStore %30 %75
|
||||
%76 = OpAccessChain %44 %30 %54
|
||||
%77 = OpLoad %4 %76
|
||||
%78 = OpFNegate %4 %77
|
||||
OpStore %76 %78
|
||||
%79 = OpCompositeExtract %9 %74 1
|
||||
OpStore %32 %79
|
||||
%80 = OpCompositeExtract %4 %74 2
|
||||
OpStore %34 %80
|
||||
%81 = OpCompositeExtract %23 %74 3
|
||||
OpStore %36 %81
|
||||
%82 = OpCompositeExtract %24 %74 4
|
||||
OpStore %38 %82
|
||||
%83 = OpCompositeExtract %22 %74 5
|
||||
OpStore %40 %83
|
||||
%84 = OpCompositeExtract %4 %73 7
|
||||
%84 = OpCompositeExtract %4 %74 6
|
||||
OpStore %41 %84
|
||||
%85 = OpCompositeExtract %4 %74 7
|
||||
OpStore %42 %85
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%108 = OpFunction %2 None %46
|
||||
%85 = OpLabel
|
||||
%89 = OpLoad %22 %87
|
||||
%92 = OpLoad %9 %90
|
||||
%95 = OpLoad %4 %93
|
||||
%98 = OpLoad %23 %96
|
||||
%101 = OpLoad %24 %99
|
||||
%103 = OpLoad %22 %102
|
||||
%105 = OpLoad %4 %104
|
||||
%107 = OpLoad %4 %106
|
||||
%86 = OpCompositeConstruct %25 %89 %92 %95 %98 %101 %103 %105 %107
|
||||
OpBranch %109
|
||||
%109 = OpLabel
|
||||
%109 = OpFunction %2 None %47
|
||||
%86 = OpLabel
|
||||
%90 = OpLoad %22 %88
|
||||
%93 = OpLoad %9 %91
|
||||
%96 = OpLoad %4 %94
|
||||
%99 = OpLoad %23 %97
|
||||
%102 = OpLoad %24 %100
|
||||
%104 = OpLoad %22 %103
|
||||
%106 = OpLoad %4 %105
|
||||
%108 = OpLoad %4 %107
|
||||
%87 = OpCompositeConstruct %25 %90 %93 %96 %99 %102 %104 %106 %108
|
||||
OpBranch %110
|
||||
%110 = OpLabel
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -1,12 +1,12 @@
|
||||
; SPIR-V
|
||||
; Version: 1.1
|
||||
; Generator: rspirv
|
||||
; Bound: 501
|
||||
; Bound: 502
|
||||
OpCapability Shader
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint GLCompute %489 "main"
|
||||
OpExecutionMode %489 LocalSize 1 1 1
|
||||
OpEntryPoint GLCompute %490 "main"
|
||||
OpExecutionMode %490 LocalSize 1 1 1
|
||||
OpMemberDecorate %30 0 Offset 0
|
||||
OpMemberDecorate %30 1 Offset 16
|
||||
OpDecorate %35 ArrayStride 32
|
||||
@ -67,14 +67,15 @@ OpDecorate %36 ArrayStride 4
|
||||
%98 = OpTypeFunction %29 %29
|
||||
%100 = OpTypeVector %10 3
|
||||
%107 = OpTypePointer Function %30
|
||||
%110 = OpTypeFunction %4
|
||||
%127 = OpTypePointer Function %26
|
||||
%128 = OpTypePointer Function %4
|
||||
%133 = OpTypeFunction %2
|
||||
%136 = OpTypeVector %10 2
|
||||
%152 = OpTypeVector %8 2
|
||||
%163 = OpTypeVector %20 3
|
||||
%458 = OpTypePointer Function %8
|
||||
%108 = OpConstantNull %30
|
||||
%111 = OpTypeFunction %4
|
||||
%128 = OpTypePointer Function %26
|
||||
%129 = OpTypePointer Function %4
|
||||
%134 = OpTypeFunction %2
|
||||
%137 = OpTypeVector %10 2
|
||||
%153 = OpTypeVector %8 2
|
||||
%164 = OpTypeVector %20 3
|
||||
%459 = OpTypePointer Function %8
|
||||
%55 = OpFunction %26 None %56
|
||||
%54 = OpLabel
|
||||
OpBranch %57
|
||||
@ -133,423 +134,423 @@ OpBranch %99
|
||||
%105 = OpSelect %29 %102 %104 %103
|
||||
OpReturnValue %105
|
||||
OpFunctionEnd
|
||||
%109 = OpFunction %4 None %110
|
||||
%108 = OpLabel
|
||||
%106 = OpVariable %107 Function
|
||||
OpBranch %111
|
||||
%111 = OpLabel
|
||||
%112 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%113 = OpCompositeConstruct %30 %112 %7
|
||||
OpStore %106 %113
|
||||
%114 = OpCompositeConstruct %31 %3 %5
|
||||
%115 = OpCompositeConstruct %31 %5 %3
|
||||
%116 = OpCompositeConstruct %32 %114 %115
|
||||
%117 = OpCompositeConstruct %26 %3 %5 %5 %5
|
||||
%118 = OpCompositeConstruct %26 %5 %3 %5 %5
|
||||
%119 = OpCompositeConstruct %26 %5 %5 %3 %5
|
||||
%120 = OpCompositeConstruct %26 %5 %5 %5 %3
|
||||
%121 = OpCompositeConstruct %33 %117 %118 %119 %120
|
||||
%122 = OpCompositeConstruct %34 %19 %19
|
||||
%123 = OpCompositeConstruct %31 %5 %5
|
||||
%110 = OpFunction %4 None %111
|
||||
%109 = OpLabel
|
||||
%106 = OpVariable %107 Function %108
|
||||
OpBranch %112
|
||||
%112 = OpLabel
|
||||
%113 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%114 = OpCompositeConstruct %30 %113 %7
|
||||
OpStore %106 %114
|
||||
%115 = OpCompositeConstruct %31 %3 %5
|
||||
%116 = OpCompositeConstruct %31 %5 %3
|
||||
%117 = OpCompositeConstruct %32 %115 %116
|
||||
%118 = OpCompositeConstruct %26 %3 %5 %5 %5
|
||||
%119 = OpCompositeConstruct %26 %5 %3 %5 %5
|
||||
%120 = OpCompositeConstruct %26 %5 %5 %3 %5
|
||||
%121 = OpCompositeConstruct %26 %5 %5 %5 %3
|
||||
%122 = OpCompositeConstruct %33 %118 %119 %120 %121
|
||||
%123 = OpCompositeConstruct %34 %19 %19
|
||||
%124 = OpCompositeConstruct %31 %5 %5
|
||||
%125 = OpCompositeConstruct %32 %123 %124
|
||||
%126 = OpCompositeConstruct %36 %11 %7 %18 %21
|
||||
%129 = OpAccessChain %128 %106 %19 %19
|
||||
%130 = OpLoad %4 %129
|
||||
OpReturnValue %130
|
||||
%125 = OpCompositeConstruct %31 %5 %5
|
||||
%126 = OpCompositeConstruct %32 %124 %125
|
||||
%127 = OpCompositeConstruct %36 %11 %7 %18 %21
|
||||
%130 = OpAccessChain %129 %106 %19 %19
|
||||
%131 = OpLoad %4 %130
|
||||
OpReturnValue %131
|
||||
OpFunctionEnd
|
||||
%132 = OpFunction %2 None %133
|
||||
%131 = OpLabel
|
||||
OpBranch %134
|
||||
%134 = OpLabel
|
||||
%135 = OpLogicalNot %10 %9
|
||||
%137 = OpCompositeConstruct %136 %9 %9
|
||||
%138 = OpLogicalNot %136 %137
|
||||
%139 = OpLogicalOr %10 %9 %12
|
||||
%140 = OpLogicalAnd %10 %9 %12
|
||||
%141 = OpLogicalOr %10 %9 %12
|
||||
%142 = OpCompositeConstruct %100 %9 %9 %9
|
||||
%143 = OpCompositeConstruct %100 %12 %12 %12
|
||||
%144 = OpLogicalOr %100 %142 %143
|
||||
%145 = OpLogicalAnd %10 %9 %12
|
||||
%146 = OpCompositeConstruct %28 %9 %9 %9 %9
|
||||
%147 = OpCompositeConstruct %28 %12 %12 %12 %12
|
||||
%148 = OpLogicalAnd %28 %146 %147
|
||||
%133 = OpFunction %2 None %134
|
||||
%132 = OpLabel
|
||||
OpBranch %135
|
||||
%135 = OpLabel
|
||||
%136 = OpLogicalNot %10 %9
|
||||
%138 = OpCompositeConstruct %137 %9 %9
|
||||
%139 = OpLogicalNot %137 %138
|
||||
%140 = OpLogicalOr %10 %9 %12
|
||||
%141 = OpLogicalAnd %10 %9 %12
|
||||
%142 = OpLogicalOr %10 %9 %12
|
||||
%143 = OpCompositeConstruct %100 %9 %9 %9
|
||||
%144 = OpCompositeConstruct %100 %12 %12 %12
|
||||
%145 = OpLogicalOr %100 %143 %144
|
||||
%146 = OpLogicalAnd %10 %9 %12
|
||||
%147 = OpCompositeConstruct %28 %9 %9 %9 %9
|
||||
%148 = OpCompositeConstruct %28 %12 %12 %12 %12
|
||||
%149 = OpLogicalAnd %28 %147 %148
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%150 = OpFunction %2 None %133
|
||||
%149 = OpLabel
|
||||
OpBranch %151
|
||||
%151 = OpLabel
|
||||
%153 = OpCompositeConstruct %152 %7 %7
|
||||
%154 = OpSNegate %152 %153
|
||||
%155 = OpCompositeConstruct %31 %3 %3
|
||||
%156 = OpFNegate %31 %155
|
||||
%157 = OpIAdd %8 %18 %7
|
||||
%158 = OpIAdd %20 %24 %25
|
||||
%159 = OpFAdd %4 %14 %3
|
||||
%160 = OpCompositeConstruct %152 %18 %18
|
||||
%161 = OpCompositeConstruct %152 %7 %7
|
||||
%162 = OpIAdd %152 %160 %161
|
||||
%164 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%165 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%166 = OpIAdd %163 %164 %165
|
||||
%167 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%168 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%169 = OpFAdd %26 %167 %168
|
||||
%170 = OpISub %8 %18 %7
|
||||
%171 = OpISub %20 %24 %25
|
||||
%172 = OpFSub %4 %14 %3
|
||||
%173 = OpCompositeConstruct %152 %18 %18
|
||||
%174 = OpCompositeConstruct %152 %7 %7
|
||||
%175 = OpISub %152 %173 %174
|
||||
%176 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%177 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%178 = OpISub %163 %176 %177
|
||||
%179 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%180 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%181 = OpFSub %26 %179 %180
|
||||
%182 = OpIMul %8 %18 %7
|
||||
%183 = OpIMul %20 %24 %25
|
||||
%184 = OpFMul %4 %14 %3
|
||||
%185 = OpCompositeConstruct %152 %18 %18
|
||||
%186 = OpCompositeConstruct %152 %7 %7
|
||||
%187 = OpIMul %152 %185 %186
|
||||
%188 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%189 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%190 = OpIMul %163 %188 %189
|
||||
%191 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%192 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%193 = OpFMul %26 %191 %192
|
||||
%194 = OpSDiv %8 %18 %7
|
||||
%195 = OpUDiv %20 %24 %25
|
||||
%196 = OpFDiv %4 %14 %3
|
||||
%197 = OpCompositeConstruct %152 %18 %18
|
||||
%198 = OpCompositeConstruct %152 %7 %7
|
||||
%199 = OpSDiv %152 %197 %198
|
||||
%200 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%201 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%202 = OpUDiv %163 %200 %201
|
||||
%203 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%204 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%205 = OpFDiv %26 %203 %204
|
||||
%206 = OpSRem %8 %18 %7
|
||||
%207 = OpUMod %20 %24 %25
|
||||
%208 = OpFRem %4 %14 %3
|
||||
%209 = OpCompositeConstruct %152 %18 %18
|
||||
%210 = OpCompositeConstruct %152 %7 %7
|
||||
%211 = OpSRem %152 %209 %210
|
||||
%212 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%213 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%214 = OpUMod %163 %212 %213
|
||||
%215 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%216 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%217 = OpFRem %26 %215 %216
|
||||
%218 = OpCompositeConstruct %152 %18 %18
|
||||
%219 = OpCompositeConstruct %152 %7 %7
|
||||
%220 = OpIAdd %152 %218 %219
|
||||
%221 = OpCompositeConstruct %152 %7 %7
|
||||
%222 = OpCompositeConstruct %152 %18 %18
|
||||
%223 = OpIAdd %152 %222 %221
|
||||
%224 = OpCompositeConstruct %34 %24 %24
|
||||
%225 = OpCompositeConstruct %34 %25 %25
|
||||
%226 = OpIAdd %34 %224 %225
|
||||
%227 = OpCompositeConstruct %34 %25 %25
|
||||
%228 = OpCompositeConstruct %34 %24 %24
|
||||
%229 = OpIAdd %34 %228 %227
|
||||
%230 = OpCompositeConstruct %31 %14 %14
|
||||
%231 = OpCompositeConstruct %31 %3 %3
|
||||
%232 = OpFAdd %31 %230 %231
|
||||
%233 = OpCompositeConstruct %31 %3 %3
|
||||
%234 = OpCompositeConstruct %31 %14 %14
|
||||
%235 = OpFAdd %31 %234 %233
|
||||
%236 = OpCompositeConstruct %152 %18 %18
|
||||
%237 = OpCompositeConstruct %152 %7 %7
|
||||
%238 = OpISub %152 %236 %237
|
||||
%239 = OpCompositeConstruct %152 %7 %7
|
||||
%240 = OpCompositeConstruct %152 %18 %18
|
||||
%241 = OpISub %152 %240 %239
|
||||
%242 = OpCompositeConstruct %34 %24 %24
|
||||
%243 = OpCompositeConstruct %34 %25 %25
|
||||
%244 = OpISub %34 %242 %243
|
||||
%245 = OpCompositeConstruct %34 %25 %25
|
||||
%246 = OpCompositeConstruct %34 %24 %24
|
||||
%247 = OpISub %34 %246 %245
|
||||
%248 = OpCompositeConstruct %31 %14 %14
|
||||
%249 = OpCompositeConstruct %31 %3 %3
|
||||
%250 = OpFSub %31 %248 %249
|
||||
%251 = OpCompositeConstruct %31 %3 %3
|
||||
%252 = OpCompositeConstruct %31 %14 %14
|
||||
%253 = OpFSub %31 %252 %251
|
||||
%254 = OpCompositeConstruct %152 %18 %18
|
||||
%256 = OpCompositeConstruct %152 %7 %7
|
||||
%255 = OpIMul %152 %254 %256
|
||||
%257 = OpCompositeConstruct %152 %7 %7
|
||||
%259 = OpCompositeConstruct %152 %18 %18
|
||||
%258 = OpIMul %152 %257 %259
|
||||
%260 = OpCompositeConstruct %34 %24 %24
|
||||
%262 = OpCompositeConstruct %34 %25 %25
|
||||
%261 = OpIMul %34 %260 %262
|
||||
%151 = OpFunction %2 None %134
|
||||
%150 = OpLabel
|
||||
OpBranch %152
|
||||
%152 = OpLabel
|
||||
%154 = OpCompositeConstruct %153 %7 %7
|
||||
%155 = OpSNegate %153 %154
|
||||
%156 = OpCompositeConstruct %31 %3 %3
|
||||
%157 = OpFNegate %31 %156
|
||||
%158 = OpIAdd %8 %18 %7
|
||||
%159 = OpIAdd %20 %24 %25
|
||||
%160 = OpFAdd %4 %14 %3
|
||||
%161 = OpCompositeConstruct %153 %18 %18
|
||||
%162 = OpCompositeConstruct %153 %7 %7
|
||||
%163 = OpIAdd %153 %161 %162
|
||||
%165 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%166 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%167 = OpIAdd %164 %165 %166
|
||||
%168 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%169 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%170 = OpFAdd %26 %168 %169
|
||||
%171 = OpISub %8 %18 %7
|
||||
%172 = OpISub %20 %24 %25
|
||||
%173 = OpFSub %4 %14 %3
|
||||
%174 = OpCompositeConstruct %153 %18 %18
|
||||
%175 = OpCompositeConstruct %153 %7 %7
|
||||
%176 = OpISub %153 %174 %175
|
||||
%177 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%178 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%179 = OpISub %164 %177 %178
|
||||
%180 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%181 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%182 = OpFSub %26 %180 %181
|
||||
%183 = OpIMul %8 %18 %7
|
||||
%184 = OpIMul %20 %24 %25
|
||||
%185 = OpFMul %4 %14 %3
|
||||
%186 = OpCompositeConstruct %153 %18 %18
|
||||
%187 = OpCompositeConstruct %153 %7 %7
|
||||
%188 = OpIMul %153 %186 %187
|
||||
%189 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%190 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%191 = OpIMul %164 %189 %190
|
||||
%192 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%193 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%194 = OpFMul %26 %192 %193
|
||||
%195 = OpSDiv %8 %18 %7
|
||||
%196 = OpUDiv %20 %24 %25
|
||||
%197 = OpFDiv %4 %14 %3
|
||||
%198 = OpCompositeConstruct %153 %18 %18
|
||||
%199 = OpCompositeConstruct %153 %7 %7
|
||||
%200 = OpSDiv %153 %198 %199
|
||||
%201 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%202 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%203 = OpUDiv %164 %201 %202
|
||||
%204 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%205 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%206 = OpFDiv %26 %204 %205
|
||||
%207 = OpSRem %8 %18 %7
|
||||
%208 = OpUMod %20 %24 %25
|
||||
%209 = OpFRem %4 %14 %3
|
||||
%210 = OpCompositeConstruct %153 %18 %18
|
||||
%211 = OpCompositeConstruct %153 %7 %7
|
||||
%212 = OpSRem %153 %210 %211
|
||||
%213 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%214 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%215 = OpUMod %164 %213 %214
|
||||
%216 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%217 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%218 = OpFRem %26 %216 %217
|
||||
%219 = OpCompositeConstruct %153 %18 %18
|
||||
%220 = OpCompositeConstruct %153 %7 %7
|
||||
%221 = OpIAdd %153 %219 %220
|
||||
%222 = OpCompositeConstruct %153 %7 %7
|
||||
%223 = OpCompositeConstruct %153 %18 %18
|
||||
%224 = OpIAdd %153 %223 %222
|
||||
%225 = OpCompositeConstruct %34 %24 %24
|
||||
%226 = OpCompositeConstruct %34 %25 %25
|
||||
%227 = OpIAdd %34 %225 %226
|
||||
%228 = OpCompositeConstruct %34 %25 %25
|
||||
%229 = OpCompositeConstruct %34 %24 %24
|
||||
%230 = OpIAdd %34 %229 %228
|
||||
%231 = OpCompositeConstruct %31 %14 %14
|
||||
%232 = OpCompositeConstruct %31 %3 %3
|
||||
%233 = OpFAdd %31 %231 %232
|
||||
%234 = OpCompositeConstruct %31 %3 %3
|
||||
%235 = OpCompositeConstruct %31 %14 %14
|
||||
%236 = OpFAdd %31 %235 %234
|
||||
%237 = OpCompositeConstruct %153 %18 %18
|
||||
%238 = OpCompositeConstruct %153 %7 %7
|
||||
%239 = OpISub %153 %237 %238
|
||||
%240 = OpCompositeConstruct %153 %7 %7
|
||||
%241 = OpCompositeConstruct %153 %18 %18
|
||||
%242 = OpISub %153 %241 %240
|
||||
%243 = OpCompositeConstruct %34 %24 %24
|
||||
%244 = OpCompositeConstruct %34 %25 %25
|
||||
%245 = OpISub %34 %243 %244
|
||||
%246 = OpCompositeConstruct %34 %25 %25
|
||||
%247 = OpCompositeConstruct %34 %24 %24
|
||||
%248 = OpISub %34 %247 %246
|
||||
%249 = OpCompositeConstruct %31 %14 %14
|
||||
%250 = OpCompositeConstruct %31 %3 %3
|
||||
%251 = OpFSub %31 %249 %250
|
||||
%252 = OpCompositeConstruct %31 %3 %3
|
||||
%253 = OpCompositeConstruct %31 %14 %14
|
||||
%254 = OpFSub %31 %253 %252
|
||||
%255 = OpCompositeConstruct %153 %18 %18
|
||||
%257 = OpCompositeConstruct %153 %7 %7
|
||||
%256 = OpIMul %153 %255 %257
|
||||
%258 = OpCompositeConstruct %153 %7 %7
|
||||
%260 = OpCompositeConstruct %153 %18 %18
|
||||
%259 = OpIMul %153 %258 %260
|
||||
%261 = OpCompositeConstruct %34 %24 %24
|
||||
%263 = OpCompositeConstruct %34 %25 %25
|
||||
%265 = OpCompositeConstruct %34 %24 %24
|
||||
%264 = OpIMul %34 %263 %265
|
||||
%266 = OpCompositeConstruct %31 %14 %14
|
||||
%267 = OpVectorTimesScalar %31 %266 %3
|
||||
%268 = OpCompositeConstruct %31 %3 %3
|
||||
%269 = OpVectorTimesScalar %31 %268 %14
|
||||
%270 = OpCompositeConstruct %152 %18 %18
|
||||
%271 = OpCompositeConstruct %152 %7 %7
|
||||
%272 = OpSDiv %152 %270 %271
|
||||
%273 = OpCompositeConstruct %152 %7 %7
|
||||
%274 = OpCompositeConstruct %152 %18 %18
|
||||
%275 = OpSDiv %152 %274 %273
|
||||
%276 = OpCompositeConstruct %34 %24 %24
|
||||
%277 = OpCompositeConstruct %34 %25 %25
|
||||
%278 = OpUDiv %34 %276 %277
|
||||
%279 = OpCompositeConstruct %34 %25 %25
|
||||
%280 = OpCompositeConstruct %34 %24 %24
|
||||
%281 = OpUDiv %34 %280 %279
|
||||
%282 = OpCompositeConstruct %31 %14 %14
|
||||
%283 = OpCompositeConstruct %31 %3 %3
|
||||
%284 = OpFDiv %31 %282 %283
|
||||
%285 = OpCompositeConstruct %31 %3 %3
|
||||
%286 = OpCompositeConstruct %31 %14 %14
|
||||
%287 = OpFDiv %31 %286 %285
|
||||
%288 = OpCompositeConstruct %152 %18 %18
|
||||
%289 = OpCompositeConstruct %152 %7 %7
|
||||
%290 = OpSRem %152 %288 %289
|
||||
%291 = OpCompositeConstruct %152 %7 %7
|
||||
%292 = OpCompositeConstruct %152 %18 %18
|
||||
%293 = OpSRem %152 %292 %291
|
||||
%294 = OpCompositeConstruct %34 %24 %24
|
||||
%295 = OpCompositeConstruct %34 %25 %25
|
||||
%296 = OpUMod %34 %294 %295
|
||||
%297 = OpCompositeConstruct %34 %25 %25
|
||||
%298 = OpCompositeConstruct %34 %24 %24
|
||||
%299 = OpUMod %34 %298 %297
|
||||
%300 = OpCompositeConstruct %31 %14 %14
|
||||
%301 = OpCompositeConstruct %31 %3 %3
|
||||
%302 = OpFRem %31 %300 %301
|
||||
%303 = OpCompositeConstruct %31 %3 %3
|
||||
%304 = OpCompositeConstruct %31 %14 %14
|
||||
%305 = OpFRem %31 %304 %303
|
||||
%307 = OpCompositeExtract %29 %51 0
|
||||
%262 = OpIMul %34 %261 %263
|
||||
%264 = OpCompositeConstruct %34 %25 %25
|
||||
%266 = OpCompositeConstruct %34 %24 %24
|
||||
%265 = OpIMul %34 %264 %266
|
||||
%267 = OpCompositeConstruct %31 %14 %14
|
||||
%268 = OpVectorTimesScalar %31 %267 %3
|
||||
%269 = OpCompositeConstruct %31 %3 %3
|
||||
%270 = OpVectorTimesScalar %31 %269 %14
|
||||
%271 = OpCompositeConstruct %153 %18 %18
|
||||
%272 = OpCompositeConstruct %153 %7 %7
|
||||
%273 = OpSDiv %153 %271 %272
|
||||
%274 = OpCompositeConstruct %153 %7 %7
|
||||
%275 = OpCompositeConstruct %153 %18 %18
|
||||
%276 = OpSDiv %153 %275 %274
|
||||
%277 = OpCompositeConstruct %34 %24 %24
|
||||
%278 = OpCompositeConstruct %34 %25 %25
|
||||
%279 = OpUDiv %34 %277 %278
|
||||
%280 = OpCompositeConstruct %34 %25 %25
|
||||
%281 = OpCompositeConstruct %34 %24 %24
|
||||
%282 = OpUDiv %34 %281 %280
|
||||
%283 = OpCompositeConstruct %31 %14 %14
|
||||
%284 = OpCompositeConstruct %31 %3 %3
|
||||
%285 = OpFDiv %31 %283 %284
|
||||
%286 = OpCompositeConstruct %31 %3 %3
|
||||
%287 = OpCompositeConstruct %31 %14 %14
|
||||
%288 = OpFDiv %31 %287 %286
|
||||
%289 = OpCompositeConstruct %153 %18 %18
|
||||
%290 = OpCompositeConstruct %153 %7 %7
|
||||
%291 = OpSRem %153 %289 %290
|
||||
%292 = OpCompositeConstruct %153 %7 %7
|
||||
%293 = OpCompositeConstruct %153 %18 %18
|
||||
%294 = OpSRem %153 %293 %292
|
||||
%295 = OpCompositeConstruct %34 %24 %24
|
||||
%296 = OpCompositeConstruct %34 %25 %25
|
||||
%297 = OpUMod %34 %295 %296
|
||||
%298 = OpCompositeConstruct %34 %25 %25
|
||||
%299 = OpCompositeConstruct %34 %24 %24
|
||||
%300 = OpUMod %34 %299 %298
|
||||
%301 = OpCompositeConstruct %31 %14 %14
|
||||
%302 = OpCompositeConstruct %31 %3 %3
|
||||
%303 = OpFRem %31 %301 %302
|
||||
%304 = OpCompositeConstruct %31 %3 %3
|
||||
%305 = OpCompositeConstruct %31 %14 %14
|
||||
%306 = OpFRem %31 %305 %304
|
||||
%308 = OpCompositeExtract %29 %51 0
|
||||
%309 = OpFAdd %29 %307 %308
|
||||
%310 = OpCompositeExtract %29 %51 1
|
||||
%309 = OpCompositeExtract %29 %51 0
|
||||
%310 = OpFAdd %29 %308 %309
|
||||
%311 = OpCompositeExtract %29 %51 1
|
||||
%312 = OpFAdd %29 %310 %311
|
||||
%313 = OpCompositeExtract %29 %51 2
|
||||
%312 = OpCompositeExtract %29 %51 1
|
||||
%313 = OpFAdd %29 %311 %312
|
||||
%314 = OpCompositeExtract %29 %51 2
|
||||
%315 = OpFAdd %29 %313 %314
|
||||
%306 = OpCompositeConstruct %37 %309 %312 %315
|
||||
%317 = OpCompositeExtract %29 %51 0
|
||||
%315 = OpCompositeExtract %29 %51 2
|
||||
%316 = OpFAdd %29 %314 %315
|
||||
%307 = OpCompositeConstruct %37 %310 %313 %316
|
||||
%318 = OpCompositeExtract %29 %51 0
|
||||
%319 = OpFSub %29 %317 %318
|
||||
%320 = OpCompositeExtract %29 %51 1
|
||||
%319 = OpCompositeExtract %29 %51 0
|
||||
%320 = OpFSub %29 %318 %319
|
||||
%321 = OpCompositeExtract %29 %51 1
|
||||
%322 = OpFSub %29 %320 %321
|
||||
%323 = OpCompositeExtract %29 %51 2
|
||||
%322 = OpCompositeExtract %29 %51 1
|
||||
%323 = OpFSub %29 %321 %322
|
||||
%324 = OpCompositeExtract %29 %51 2
|
||||
%325 = OpFSub %29 %323 %324
|
||||
%316 = OpCompositeConstruct %37 %319 %322 %325
|
||||
%326 = OpMatrixTimesScalar %37 %51 %3
|
||||
%327 = OpMatrixTimesScalar %37 %51 %14
|
||||
%328 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%329 = OpMatrixTimesVector %29 %52 %328
|
||||
%330 = OpCompositeConstruct %29 %14 %14 %14
|
||||
%331 = OpVectorTimesMatrix %26 %330 %52
|
||||
%332 = OpMatrixTimesMatrix %37 %52 %53
|
||||
%325 = OpCompositeExtract %29 %51 2
|
||||
%326 = OpFSub %29 %324 %325
|
||||
%317 = OpCompositeConstruct %37 %320 %323 %326
|
||||
%327 = OpMatrixTimesScalar %37 %51 %3
|
||||
%328 = OpMatrixTimesScalar %37 %51 %14
|
||||
%329 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%330 = OpMatrixTimesVector %29 %52 %329
|
||||
%331 = OpCompositeConstruct %29 %14 %14 %14
|
||||
%332 = OpVectorTimesMatrix %26 %331 %52
|
||||
%333 = OpMatrixTimesMatrix %37 %52 %53
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%334 = OpFunction %2 None %133
|
||||
%333 = OpLabel
|
||||
OpBranch %335
|
||||
%335 = OpLabel
|
||||
%336 = OpNot %8 %7
|
||||
%337 = OpNot %20 %25
|
||||
%338 = OpCompositeConstruct %152 %7 %7
|
||||
%339 = OpNot %152 %338
|
||||
%340 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%341 = OpNot %163 %340
|
||||
%342 = OpBitwiseOr %8 %18 %7
|
||||
%343 = OpBitwiseOr %20 %24 %25
|
||||
%344 = OpCompositeConstruct %152 %18 %18
|
||||
%345 = OpCompositeConstruct %152 %7 %7
|
||||
%346 = OpBitwiseOr %152 %344 %345
|
||||
%347 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%348 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%349 = OpBitwiseOr %163 %347 %348
|
||||
%350 = OpBitwiseAnd %8 %18 %7
|
||||
%351 = OpBitwiseAnd %20 %24 %25
|
||||
%352 = OpCompositeConstruct %152 %18 %18
|
||||
%353 = OpCompositeConstruct %152 %7 %7
|
||||
%354 = OpBitwiseAnd %152 %352 %353
|
||||
%355 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%356 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%357 = OpBitwiseAnd %163 %355 %356
|
||||
%358 = OpBitwiseXor %8 %18 %7
|
||||
%359 = OpBitwiseXor %20 %24 %25
|
||||
%360 = OpCompositeConstruct %152 %18 %18
|
||||
%361 = OpCompositeConstruct %152 %7 %7
|
||||
%362 = OpBitwiseXor %152 %360 %361
|
||||
%363 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%364 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%365 = OpBitwiseXor %163 %363 %364
|
||||
%366 = OpShiftLeftLogical %8 %18 %25
|
||||
%367 = OpShiftLeftLogical %20 %24 %25
|
||||
%368 = OpCompositeConstruct %152 %18 %18
|
||||
%369 = OpCompositeConstruct %34 %25 %25
|
||||
%370 = OpShiftLeftLogical %152 %368 %369
|
||||
%371 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%372 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%373 = OpShiftLeftLogical %163 %371 %372
|
||||
%374 = OpShiftRightArithmetic %8 %18 %25
|
||||
%375 = OpShiftRightLogical %20 %24 %25
|
||||
%376 = OpCompositeConstruct %152 %18 %18
|
||||
%377 = OpCompositeConstruct %34 %25 %25
|
||||
%378 = OpShiftRightArithmetic %152 %376 %377
|
||||
%379 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%380 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%381 = OpShiftRightLogical %163 %379 %380
|
||||
%335 = OpFunction %2 None %134
|
||||
%334 = OpLabel
|
||||
OpBranch %336
|
||||
%336 = OpLabel
|
||||
%337 = OpNot %8 %7
|
||||
%338 = OpNot %20 %25
|
||||
%339 = OpCompositeConstruct %153 %7 %7
|
||||
%340 = OpNot %153 %339
|
||||
%341 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%342 = OpNot %164 %341
|
||||
%343 = OpBitwiseOr %8 %18 %7
|
||||
%344 = OpBitwiseOr %20 %24 %25
|
||||
%345 = OpCompositeConstruct %153 %18 %18
|
||||
%346 = OpCompositeConstruct %153 %7 %7
|
||||
%347 = OpBitwiseOr %153 %345 %346
|
||||
%348 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%349 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%350 = OpBitwiseOr %164 %348 %349
|
||||
%351 = OpBitwiseAnd %8 %18 %7
|
||||
%352 = OpBitwiseAnd %20 %24 %25
|
||||
%353 = OpCompositeConstruct %153 %18 %18
|
||||
%354 = OpCompositeConstruct %153 %7 %7
|
||||
%355 = OpBitwiseAnd %153 %353 %354
|
||||
%356 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%357 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%358 = OpBitwiseAnd %164 %356 %357
|
||||
%359 = OpBitwiseXor %8 %18 %7
|
||||
%360 = OpBitwiseXor %20 %24 %25
|
||||
%361 = OpCompositeConstruct %153 %18 %18
|
||||
%362 = OpCompositeConstruct %153 %7 %7
|
||||
%363 = OpBitwiseXor %153 %361 %362
|
||||
%364 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%365 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%366 = OpBitwiseXor %164 %364 %365
|
||||
%367 = OpShiftLeftLogical %8 %18 %25
|
||||
%368 = OpShiftLeftLogical %20 %24 %25
|
||||
%369 = OpCompositeConstruct %153 %18 %18
|
||||
%370 = OpCompositeConstruct %34 %25 %25
|
||||
%371 = OpShiftLeftLogical %153 %369 %370
|
||||
%372 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%373 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%374 = OpShiftLeftLogical %164 %372 %373
|
||||
%375 = OpShiftRightArithmetic %8 %18 %25
|
||||
%376 = OpShiftRightLogical %20 %24 %25
|
||||
%377 = OpCompositeConstruct %153 %18 %18
|
||||
%378 = OpCompositeConstruct %34 %25 %25
|
||||
%379 = OpShiftRightArithmetic %153 %377 %378
|
||||
%380 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%381 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%382 = OpShiftRightLogical %164 %380 %381
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%383 = OpFunction %2 None %133
|
||||
%382 = OpLabel
|
||||
OpBranch %384
|
||||
%384 = OpLabel
|
||||
%385 = OpIEqual %10 %18 %7
|
||||
%386 = OpIEqual %10 %24 %25
|
||||
%387 = OpFOrdEqual %10 %14 %3
|
||||
%388 = OpCompositeConstruct %152 %18 %18
|
||||
%389 = OpCompositeConstruct %152 %7 %7
|
||||
%390 = OpIEqual %136 %388 %389
|
||||
%391 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%392 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%393 = OpIEqual %100 %391 %392
|
||||
%394 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%395 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%396 = OpFOrdEqual %28 %394 %395
|
||||
%397 = OpINotEqual %10 %18 %7
|
||||
%398 = OpINotEqual %10 %24 %25
|
||||
%399 = OpFOrdNotEqual %10 %14 %3
|
||||
%400 = OpCompositeConstruct %152 %18 %18
|
||||
%401 = OpCompositeConstruct %152 %7 %7
|
||||
%402 = OpINotEqual %136 %400 %401
|
||||
%403 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%404 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%405 = OpINotEqual %100 %403 %404
|
||||
%406 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%407 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%408 = OpFOrdNotEqual %28 %406 %407
|
||||
%409 = OpSLessThan %10 %18 %7
|
||||
%410 = OpULessThan %10 %24 %25
|
||||
%411 = OpFOrdLessThan %10 %14 %3
|
||||
%412 = OpCompositeConstruct %152 %18 %18
|
||||
%413 = OpCompositeConstruct %152 %7 %7
|
||||
%414 = OpSLessThan %136 %412 %413
|
||||
%415 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%416 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%417 = OpULessThan %100 %415 %416
|
||||
%418 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%419 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%420 = OpFOrdLessThan %28 %418 %419
|
||||
%421 = OpSLessThanEqual %10 %18 %7
|
||||
%422 = OpULessThanEqual %10 %24 %25
|
||||
%423 = OpFOrdLessThanEqual %10 %14 %3
|
||||
%424 = OpCompositeConstruct %152 %18 %18
|
||||
%425 = OpCompositeConstruct %152 %7 %7
|
||||
%426 = OpSLessThanEqual %136 %424 %425
|
||||
%427 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%428 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%429 = OpULessThanEqual %100 %427 %428
|
||||
%430 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%431 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%432 = OpFOrdLessThanEqual %28 %430 %431
|
||||
%433 = OpSGreaterThan %10 %18 %7
|
||||
%434 = OpUGreaterThan %10 %24 %25
|
||||
%435 = OpFOrdGreaterThan %10 %14 %3
|
||||
%436 = OpCompositeConstruct %152 %18 %18
|
||||
%437 = OpCompositeConstruct %152 %7 %7
|
||||
%438 = OpSGreaterThan %136 %436 %437
|
||||
%439 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%440 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%441 = OpUGreaterThan %100 %439 %440
|
||||
%442 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%443 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%444 = OpFOrdGreaterThan %28 %442 %443
|
||||
%445 = OpSGreaterThanEqual %10 %18 %7
|
||||
%446 = OpUGreaterThanEqual %10 %24 %25
|
||||
%447 = OpFOrdGreaterThanEqual %10 %14 %3
|
||||
%448 = OpCompositeConstruct %152 %18 %18
|
||||
%449 = OpCompositeConstruct %152 %7 %7
|
||||
%450 = OpSGreaterThanEqual %136 %448 %449
|
||||
%451 = OpCompositeConstruct %163 %24 %24 %24
|
||||
%452 = OpCompositeConstruct %163 %25 %25 %25
|
||||
%453 = OpUGreaterThanEqual %100 %451 %452
|
||||
%454 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%455 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%456 = OpFOrdGreaterThanEqual %28 %454 %455
|
||||
%384 = OpFunction %2 None %134
|
||||
%383 = OpLabel
|
||||
OpBranch %385
|
||||
%385 = OpLabel
|
||||
%386 = OpIEqual %10 %18 %7
|
||||
%387 = OpIEqual %10 %24 %25
|
||||
%388 = OpFOrdEqual %10 %14 %3
|
||||
%389 = OpCompositeConstruct %153 %18 %18
|
||||
%390 = OpCompositeConstruct %153 %7 %7
|
||||
%391 = OpIEqual %137 %389 %390
|
||||
%392 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%393 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%394 = OpIEqual %100 %392 %393
|
||||
%395 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%396 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%397 = OpFOrdEqual %28 %395 %396
|
||||
%398 = OpINotEqual %10 %18 %7
|
||||
%399 = OpINotEqual %10 %24 %25
|
||||
%400 = OpFOrdNotEqual %10 %14 %3
|
||||
%401 = OpCompositeConstruct %153 %18 %18
|
||||
%402 = OpCompositeConstruct %153 %7 %7
|
||||
%403 = OpINotEqual %137 %401 %402
|
||||
%404 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%405 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%406 = OpINotEqual %100 %404 %405
|
||||
%407 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%408 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%409 = OpFOrdNotEqual %28 %407 %408
|
||||
%410 = OpSLessThan %10 %18 %7
|
||||
%411 = OpULessThan %10 %24 %25
|
||||
%412 = OpFOrdLessThan %10 %14 %3
|
||||
%413 = OpCompositeConstruct %153 %18 %18
|
||||
%414 = OpCompositeConstruct %153 %7 %7
|
||||
%415 = OpSLessThan %137 %413 %414
|
||||
%416 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%417 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%418 = OpULessThan %100 %416 %417
|
||||
%419 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%420 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%421 = OpFOrdLessThan %28 %419 %420
|
||||
%422 = OpSLessThanEqual %10 %18 %7
|
||||
%423 = OpULessThanEqual %10 %24 %25
|
||||
%424 = OpFOrdLessThanEqual %10 %14 %3
|
||||
%425 = OpCompositeConstruct %153 %18 %18
|
||||
%426 = OpCompositeConstruct %153 %7 %7
|
||||
%427 = OpSLessThanEqual %137 %425 %426
|
||||
%428 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%429 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%430 = OpULessThanEqual %100 %428 %429
|
||||
%431 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%432 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%433 = OpFOrdLessThanEqual %28 %431 %432
|
||||
%434 = OpSGreaterThan %10 %18 %7
|
||||
%435 = OpUGreaterThan %10 %24 %25
|
||||
%436 = OpFOrdGreaterThan %10 %14 %3
|
||||
%437 = OpCompositeConstruct %153 %18 %18
|
||||
%438 = OpCompositeConstruct %153 %7 %7
|
||||
%439 = OpSGreaterThan %137 %437 %438
|
||||
%440 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%441 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%442 = OpUGreaterThan %100 %440 %441
|
||||
%443 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%444 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%445 = OpFOrdGreaterThan %28 %443 %444
|
||||
%446 = OpSGreaterThanEqual %10 %18 %7
|
||||
%447 = OpUGreaterThanEqual %10 %24 %25
|
||||
%448 = OpFOrdGreaterThanEqual %10 %14 %3
|
||||
%449 = OpCompositeConstruct %153 %18 %18
|
||||
%450 = OpCompositeConstruct %153 %7 %7
|
||||
%451 = OpSGreaterThanEqual %137 %449 %450
|
||||
%452 = OpCompositeConstruct %164 %24 %24 %24
|
||||
%453 = OpCompositeConstruct %164 %25 %25 %25
|
||||
%454 = OpUGreaterThanEqual %100 %452 %453
|
||||
%455 = OpCompositeConstruct %26 %14 %14 %14 %14
|
||||
%456 = OpCompositeConstruct %26 %3 %3 %3 %3
|
||||
%457 = OpFOrdGreaterThanEqual %28 %455 %456
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%460 = OpFunction %2 None %133
|
||||
%459 = OpLabel
|
||||
%457 = OpVariable %458 Function %7
|
||||
OpBranch %461
|
||||
%461 = OpLabel
|
||||
%462 = OpLoad %8 %457
|
||||
%463 = OpIAdd %8 %462 %7
|
||||
OpStore %457 %463
|
||||
%464 = OpLoad %8 %457
|
||||
%465 = OpISub %8 %464 %7
|
||||
OpStore %457 %465
|
||||
%466 = OpLoad %8 %457
|
||||
%467 = OpLoad %8 %457
|
||||
%468 = OpIMul %8 %466 %467
|
||||
OpStore %457 %468
|
||||
%469 = OpLoad %8 %457
|
||||
%470 = OpLoad %8 %457
|
||||
%471 = OpSDiv %8 %469 %470
|
||||
OpStore %457 %471
|
||||
%472 = OpLoad %8 %457
|
||||
%473 = OpSRem %8 %472 %7
|
||||
OpStore %457 %473
|
||||
%474 = OpLoad %8 %457
|
||||
%475 = OpBitwiseAnd %8 %474 %11
|
||||
OpStore %457 %475
|
||||
%476 = OpLoad %8 %457
|
||||
%477 = OpBitwiseOr %8 %476 %11
|
||||
OpStore %457 %477
|
||||
%478 = OpLoad %8 %457
|
||||
%479 = OpBitwiseXor %8 %478 %11
|
||||
OpStore %457 %479
|
||||
%480 = OpLoad %8 %457
|
||||
%481 = OpShiftLeftLogical %8 %480 %24
|
||||
OpStore %457 %481
|
||||
%482 = OpLoad %8 %457
|
||||
%483 = OpShiftRightArithmetic %8 %482 %25
|
||||
OpStore %457 %483
|
||||
%484 = OpLoad %8 %457
|
||||
%485 = OpIAdd %8 %484 %7
|
||||
OpStore %457 %485
|
||||
%486 = OpLoad %8 %457
|
||||
%487 = OpISub %8 %486 %7
|
||||
OpStore %457 %487
|
||||
%461 = OpFunction %2 None %134
|
||||
%460 = OpLabel
|
||||
%458 = OpVariable %459 Function %7
|
||||
OpBranch %462
|
||||
%462 = OpLabel
|
||||
%463 = OpLoad %8 %458
|
||||
%464 = OpIAdd %8 %463 %7
|
||||
OpStore %458 %464
|
||||
%465 = OpLoad %8 %458
|
||||
%466 = OpISub %8 %465 %7
|
||||
OpStore %458 %466
|
||||
%467 = OpLoad %8 %458
|
||||
%468 = OpLoad %8 %458
|
||||
%469 = OpIMul %8 %467 %468
|
||||
OpStore %458 %469
|
||||
%470 = OpLoad %8 %458
|
||||
%471 = OpLoad %8 %458
|
||||
%472 = OpSDiv %8 %470 %471
|
||||
OpStore %458 %472
|
||||
%473 = OpLoad %8 %458
|
||||
%474 = OpSRem %8 %473 %7
|
||||
OpStore %458 %474
|
||||
%475 = OpLoad %8 %458
|
||||
%476 = OpBitwiseAnd %8 %475 %11
|
||||
OpStore %458 %476
|
||||
%477 = OpLoad %8 %458
|
||||
%478 = OpBitwiseOr %8 %477 %11
|
||||
OpStore %458 %478
|
||||
%479 = OpLoad %8 %458
|
||||
%480 = OpBitwiseXor %8 %479 %11
|
||||
OpStore %458 %480
|
||||
%481 = OpLoad %8 %458
|
||||
%482 = OpShiftLeftLogical %8 %481 %24
|
||||
OpStore %458 %482
|
||||
%483 = OpLoad %8 %458
|
||||
%484 = OpShiftRightArithmetic %8 %483 %25
|
||||
OpStore %458 %484
|
||||
%485 = OpLoad %8 %458
|
||||
%486 = OpIAdd %8 %485 %7
|
||||
OpStore %458 %486
|
||||
%487 = OpLoad %8 %458
|
||||
%488 = OpISub %8 %487 %7
|
||||
OpStore %458 %488
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%489 = OpFunction %2 None %133
|
||||
%488 = OpLabel
|
||||
OpBranch %490
|
||||
%490 = OpLabel
|
||||
%491 = OpFunctionCall %26 %55
|
||||
%492 = OpFunctionCall %26 %80
|
||||
%493 = OpVectorShuffle %29 %40 %40 0 1 2
|
||||
%494 = OpFunctionCall %29 %97 %493
|
||||
%495 = OpFunctionCall %4 %109
|
||||
%496 = OpFunctionCall %2 %132
|
||||
%497 = OpFunctionCall %2 %150
|
||||
%498 = OpFunctionCall %2 %334
|
||||
%499 = OpFunctionCall %2 %383
|
||||
%500 = OpFunctionCall %2 %460
|
||||
%490 = OpFunction %2 None %134
|
||||
%489 = OpLabel
|
||||
OpBranch %491
|
||||
%491 = OpLabel
|
||||
%492 = OpFunctionCall %26 %55
|
||||
%493 = OpFunctionCall %26 %80
|
||||
%494 = OpVectorShuffle %29 %40 %40 0 1 2
|
||||
%495 = OpFunctionCall %29 %97 %494
|
||||
%496 = OpFunctionCall %4 %110
|
||||
%497 = OpFunctionCall %2 %133
|
||||
%498 = OpFunctionCall %2 %151
|
||||
%499 = OpFunctionCall %2 %335
|
||||
%500 = OpFunctionCall %2 %384
|
||||
%501 = OpFunctionCall %2 %461
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -1,7 +1,7 @@
|
||||
; SPIR-V
|
||||
; Version: 1.2
|
||||
; Generator: rspirv
|
||||
; Bound: 41
|
||||
; Bound: 42
|
||||
OpCapability Shader
|
||||
OpCapability Linkage
|
||||
OpExtension "SPV_KHR_storage_buffer_storage_class"
|
||||
@ -12,13 +12,13 @@ OpMemberName %8 0 "arr"
|
||||
OpName %8 "DynamicArray"
|
||||
OpName %11 "dynamic_array"
|
||||
OpName %12 "v"
|
||||
OpName %15 "f"
|
||||
OpName %22 "i"
|
||||
OpName %23 "v"
|
||||
OpName %24 "index_unsized"
|
||||
OpName %33 "i"
|
||||
OpName %34 "v"
|
||||
OpName %35 "index_dynamic_array"
|
||||
OpName %16 "f"
|
||||
OpName %23 "i"
|
||||
OpName %24 "v"
|
||||
OpName %25 "index_unsized"
|
||||
OpName %34 "i"
|
||||
OpName %35 "v"
|
||||
OpName %36 "index_dynamic_array"
|
||||
OpDecorate %7 ArrayStride 4
|
||||
OpMemberDecorate %8 0 Offset 0
|
||||
OpDecorate %11 DescriptorSet 0
|
||||
@ -35,43 +35,44 @@ OpDecorate %8 Block
|
||||
%10 = OpTypePointer StorageBuffer %7
|
||||
%11 = OpVariable %9 StorageBuffer
|
||||
%13 = OpTypePointer Function %5
|
||||
%16 = OpTypeFunction %2
|
||||
%18 = OpTypePointer Function %4
|
||||
%19 = OpConstant %6 0
|
||||
%25 = OpTypeFunction %2 %4 %6
|
||||
%27 = OpTypePointer StorageBuffer %6
|
||||
%15 = OpFunction %2 None %16
|
||||
%14 = OpLabel
|
||||
%12 = OpVariable %13 Function
|
||||
OpBranch %17
|
||||
%17 = OpLabel
|
||||
%20 = OpAccessChain %18 %12 %19
|
||||
OpStore %20 %3
|
||||
%14 = OpConstantNull %5
|
||||
%17 = OpTypeFunction %2
|
||||
%19 = OpTypePointer Function %4
|
||||
%20 = OpConstant %6 0
|
||||
%26 = OpTypeFunction %2 %4 %6
|
||||
%28 = OpTypePointer StorageBuffer %6
|
||||
%16 = OpFunction %2 None %17
|
||||
%15 = OpLabel
|
||||
%12 = OpVariable %13 Function %14
|
||||
OpBranch %18
|
||||
%18 = OpLabel
|
||||
%21 = OpAccessChain %19 %12 %20
|
||||
OpStore %21 %3
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%24 = OpFunction %2 None %25
|
||||
%22 = OpFunctionParameter %4
|
||||
%23 = OpFunctionParameter %6
|
||||
%21 = OpLabel
|
||||
OpBranch %26
|
||||
%26 = OpLabel
|
||||
%28 = OpAccessChain %27 %11 %19 %22
|
||||
%29 = OpLoad %6 %28
|
||||
%30 = OpIAdd %6 %29 %23
|
||||
%31 = OpAccessChain %27 %11 %19 %22
|
||||
OpStore %31 %30
|
||||
%25 = OpFunction %2 None %26
|
||||
%23 = OpFunctionParameter %4
|
||||
%24 = OpFunctionParameter %6
|
||||
%22 = OpLabel
|
||||
OpBranch %27
|
||||
%27 = OpLabel
|
||||
%29 = OpAccessChain %28 %11 %20 %23
|
||||
%30 = OpLoad %6 %29
|
||||
%31 = OpIAdd %6 %30 %24
|
||||
%32 = OpAccessChain %28 %11 %20 %23
|
||||
OpStore %32 %31
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%35 = OpFunction %2 None %25
|
||||
%33 = OpFunctionParameter %4
|
||||
%34 = OpFunctionParameter %6
|
||||
%32 = OpLabel
|
||||
OpBranch %36
|
||||
%36 = OpLabel
|
||||
%37 = OpAccessChain %27 %11 %19 %33
|
||||
%38 = OpLoad %6 %37
|
||||
%39 = OpIAdd %6 %38 %34
|
||||
%40 = OpAccessChain %27 %11 %19 %33
|
||||
OpStore %40 %39
|
||||
%36 = OpFunction %2 None %26
|
||||
%34 = OpFunctionParameter %4
|
||||
%35 = OpFunctionParameter %6
|
||||
%33 = OpLabel
|
||||
OpBranch %37
|
||||
%37 = OpLabel
|
||||
%38 = OpAccessChain %28 %11 %20 %34
|
||||
%39 = OpLoad %6 %38
|
||||
%40 = OpIAdd %6 %39 %35
|
||||
%41 = OpAccessChain %28 %11 %20 %34
|
||||
OpStore %41 %40
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -1,7 +1,7 @@
|
||||
; SPIR-V
|
||||
; Version: 1.1
|
||||
; Generator: rspirv
|
||||
; Bound: 99
|
||||
; Bound: 101
|
||||
OpCapability Shader
|
||||
OpCapability ImageQuery
|
||||
OpCapability Linkage
|
||||
@ -18,11 +18,11 @@ OpName %26 "in_uniform"
|
||||
OpName %29 "image_2d_array"
|
||||
OpName %31 "in_workgroup"
|
||||
OpName %33 "in_private"
|
||||
OpName %35 "in_function"
|
||||
OpName %38 "c"
|
||||
OpName %39 "i"
|
||||
OpName %40 "l"
|
||||
OpName %41 "mock_function"
|
||||
OpName %36 "in_function"
|
||||
OpName %40 "c"
|
||||
OpName %41 "i"
|
||||
OpName %42 "l"
|
||||
OpName %43 "mock_function"
|
||||
OpDecorate %14 ArrayStride 16
|
||||
OpMemberDecorate %15 0 Offset 0
|
||||
OpDecorate %16 ArrayStride 16
|
||||
@ -73,76 +73,78 @@ OpDecorate %29 Binding 2
|
||||
%32 = OpTypePointer Workgroup %19
|
||||
%31 = OpVariable %32 Workgroup
|
||||
%34 = OpTypePointer Private %20
|
||||
%33 = OpVariable %34 Private
|
||||
%36 = OpTypePointer Function %22
|
||||
%42 = OpTypeFunction %13 %21 %4 %4
|
||||
%43 = OpTypePointer StorageBuffer %15
|
||||
%45 = OpTypeInt 32 0
|
||||
%44 = OpConstant %45 0
|
||||
%47 = OpTypePointer Uniform %17
|
||||
%54 = OpTypePointer StorageBuffer %14
|
||||
%55 = OpTypePointer StorageBuffer %13
|
||||
%58 = OpTypePointer Uniform %16
|
||||
%59 = OpTypePointer Uniform %13
|
||||
%63 = OpTypeVector %4 3
|
||||
%65 = OpTypeBool
|
||||
%66 = OpConstantNull %13
|
||||
%72 = OpTypeVector %65 3
|
||||
%79 = OpTypePointer Workgroup %10
|
||||
%80 = OpConstant %45 29
|
||||
%86 = OpTypePointer Private %10
|
||||
%87 = OpConstant %45 39
|
||||
%93 = OpTypePointer Function %13
|
||||
%94 = OpConstant %45 1
|
||||
%41 = OpFunction %13 None %42
|
||||
%38 = OpFunctionParameter %21
|
||||
%39 = OpFunctionParameter %4
|
||||
%40 = OpFunctionParameter %4
|
||||
%37 = OpLabel
|
||||
%35 = OpVariable %36 Function
|
||||
%46 = OpAccessChain %43 %23 %44
|
||||
%48 = OpAccessChain %47 %26 %44
|
||||
%49 = OpLoad %18 %29
|
||||
OpBranch %50
|
||||
%50 = OpLabel
|
||||
%51 = OpCompositeConstruct %13 %9 %11 %11 %12
|
||||
%52 = OpCompositeConstruct %13 %11 %9 %11 %12
|
||||
%53 = OpCompositeConstruct %22 %51 %52
|
||||
OpStore %35 %53
|
||||
%56 = OpAccessChain %55 %46 %44 %39
|
||||
%57 = OpLoad %13 %56
|
||||
%60 = OpAccessChain %59 %48 %44 %39
|
||||
%61 = OpLoad %13 %60
|
||||
%62 = OpFAdd %13 %57 %61
|
||||
%64 = OpCompositeConstruct %63 %38 %39
|
||||
%67 = OpImageQueryLevels %4 %49
|
||||
%68 = OpULessThan %65 %40 %67
|
||||
OpSelectionMerge %69 None
|
||||
OpBranchConditional %68 %70 %69
|
||||
%70 = OpLabel
|
||||
%71 = OpImageQuerySizeLod %63 %49 %40
|
||||
%73 = OpULessThan %72 %64 %71
|
||||
%74 = OpAll %65 %73
|
||||
OpBranchConditional %74 %75 %69
|
||||
%75 = OpLabel
|
||||
%76 = OpImageFetch %13 %49 %64 Lod %40
|
||||
OpBranch %69
|
||||
%69 = OpLabel
|
||||
%77 = OpPhi %13 %66 %50 %66 %70 %76 %75
|
||||
%78 = OpFAdd %13 %62 %77
|
||||
%81 = OpExtInst %45 %1 UMin %39 %80
|
||||
%82 = OpAccessChain %79 %31 %81
|
||||
%83 = OpLoad %10 %82
|
||||
%84 = OpCompositeConstruct %13 %83 %83 %83 %83
|
||||
%85 = OpFAdd %13 %78 %84
|
||||
%88 = OpExtInst %45 %1 UMin %39 %87
|
||||
%89 = OpAccessChain %86 %33 %88
|
||||
%90 = OpLoad %10 %89
|
||||
%91 = OpCompositeConstruct %13 %90 %90 %90 %90
|
||||
%92 = OpFAdd %13 %85 %91
|
||||
%95 = OpExtInst %45 %1 UMin %39 %94
|
||||
%96 = OpAccessChain %93 %35 %95
|
||||
%97 = OpLoad %13 %96
|
||||
%98 = OpFAdd %13 %92 %97
|
||||
OpReturnValue %98
|
||||
%35 = OpConstantNull %20
|
||||
%33 = OpVariable %34 Private %35
|
||||
%37 = OpTypePointer Function %22
|
||||
%38 = OpConstantNull %22
|
||||
%44 = OpTypeFunction %13 %21 %4 %4
|
||||
%45 = OpTypePointer StorageBuffer %15
|
||||
%47 = OpTypeInt 32 0
|
||||
%46 = OpConstant %47 0
|
||||
%49 = OpTypePointer Uniform %17
|
||||
%56 = OpTypePointer StorageBuffer %14
|
||||
%57 = OpTypePointer StorageBuffer %13
|
||||
%60 = OpTypePointer Uniform %16
|
||||
%61 = OpTypePointer Uniform %13
|
||||
%65 = OpTypeVector %4 3
|
||||
%67 = OpTypeBool
|
||||
%68 = OpConstantNull %13
|
||||
%74 = OpTypeVector %67 3
|
||||
%81 = OpTypePointer Workgroup %10
|
||||
%82 = OpConstant %47 29
|
||||
%88 = OpTypePointer Private %10
|
||||
%89 = OpConstant %47 39
|
||||
%95 = OpTypePointer Function %13
|
||||
%96 = OpConstant %47 1
|
||||
%43 = OpFunction %13 None %44
|
||||
%40 = OpFunctionParameter %21
|
||||
%41 = OpFunctionParameter %4
|
||||
%42 = OpFunctionParameter %4
|
||||
%39 = OpLabel
|
||||
%36 = OpVariable %37 Function %38
|
||||
%48 = OpAccessChain %45 %23 %46
|
||||
%50 = OpAccessChain %49 %26 %46
|
||||
%51 = OpLoad %18 %29
|
||||
OpBranch %52
|
||||
%52 = OpLabel
|
||||
%53 = OpCompositeConstruct %13 %9 %11 %11 %12
|
||||
%54 = OpCompositeConstruct %13 %11 %9 %11 %12
|
||||
%55 = OpCompositeConstruct %22 %53 %54
|
||||
OpStore %36 %55
|
||||
%58 = OpAccessChain %57 %48 %46 %41
|
||||
%59 = OpLoad %13 %58
|
||||
%62 = OpAccessChain %61 %50 %46 %41
|
||||
%63 = OpLoad %13 %62
|
||||
%64 = OpFAdd %13 %59 %63
|
||||
%66 = OpCompositeConstruct %65 %40 %41
|
||||
%69 = OpImageQueryLevels %4 %51
|
||||
%70 = OpULessThan %67 %42 %69
|
||||
OpSelectionMerge %71 None
|
||||
OpBranchConditional %70 %72 %71
|
||||
%72 = OpLabel
|
||||
%73 = OpImageQuerySizeLod %65 %51 %42
|
||||
%75 = OpULessThan %74 %66 %73
|
||||
%76 = OpAll %67 %75
|
||||
OpBranchConditional %76 %77 %71
|
||||
%77 = OpLabel
|
||||
%78 = OpImageFetch %13 %51 %66 Lod %42
|
||||
OpBranch %71
|
||||
%71 = OpLabel
|
||||
%79 = OpPhi %13 %68 %52 %68 %72 %78 %77
|
||||
%80 = OpFAdd %13 %64 %79
|
||||
%83 = OpExtInst %47 %1 UMin %41 %82
|
||||
%84 = OpAccessChain %81 %31 %83
|
||||
%85 = OpLoad %10 %84
|
||||
%86 = OpCompositeConstruct %13 %85 %85 %85 %85
|
||||
%87 = OpFAdd %13 %80 %86
|
||||
%90 = OpExtInst %47 %1 UMin %41 %89
|
||||
%91 = OpAccessChain %88 %33 %90
|
||||
%92 = OpLoad %10 %91
|
||||
%93 = OpCompositeConstruct %13 %92 %92 %92 %92
|
||||
%94 = OpFAdd %13 %87 %93
|
||||
%97 = OpExtInst %47 %1 UMin %41 %96
|
||||
%98 = OpAccessChain %95 %36 %97
|
||||
%99 = OpLoad %13 %98
|
||||
%100 = OpFAdd %13 %94 %99
|
||||
OpReturnValue %100
|
||||
OpFunctionEnd
|
@ -1,16 +1,16 @@
|
||||
; SPIR-V
|
||||
; Version: 1.2
|
||||
; Generator: rspirv
|
||||
; Bound: 261
|
||||
; Bound: 262
|
||||
OpCapability Shader
|
||||
OpExtension "SPV_KHR_storage_buffer_storage_class"
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %93 "vs_main" %83 %86 %88 %90 %92
|
||||
OpEntryPoint Fragment %147 "fs_main" %138 %141 %144 %146
|
||||
OpEntryPoint Fragment %211 "fs_main_without_storage" %204 %206 %208 %210
|
||||
OpExecutionMode %147 OriginUpperLeft
|
||||
OpExecutionMode %211 OriginUpperLeft
|
||||
OpEntryPoint Vertex %94 "vs_main" %84 %87 %89 %91 %93
|
||||
OpEntryPoint Fragment %148 "fs_main" %139 %142 %145 %147
|
||||
OpEntryPoint Fragment %212 "fs_main_without_storage" %205 %207 %209 %211
|
||||
OpExecutionMode %148 OriginUpperLeft
|
||||
OpExecutionMode %212 OriginUpperLeft
|
||||
OpSource GLSL 450
|
||||
OpName %11 "c_max_lights"
|
||||
OpMemberName %18 0 "view_proj"
|
||||
@ -38,24 +38,24 @@ OpName %48 "light_id"
|
||||
OpName %49 "homogeneous_coords"
|
||||
OpName %50 "fetch_shadow"
|
||||
OpName %80 "out"
|
||||
OpName %83 "position"
|
||||
OpName %86 "normal"
|
||||
OpName %88 "proj_position"
|
||||
OpName %90 "world_normal"
|
||||
OpName %92 "world_position"
|
||||
OpName %93 "vs_main"
|
||||
OpName %133 "color"
|
||||
OpName %134 "i"
|
||||
OpName %138 "proj_position"
|
||||
OpName %141 "world_normal"
|
||||
OpName %144 "world_position"
|
||||
OpName %147 "fs_main"
|
||||
OpName %200 "color"
|
||||
OpName %201 "i"
|
||||
OpName %204 "proj_position"
|
||||
OpName %206 "world_normal"
|
||||
OpName %208 "world_position"
|
||||
OpName %211 "fs_main_without_storage"
|
||||
OpName %84 "position"
|
||||
OpName %87 "normal"
|
||||
OpName %89 "proj_position"
|
||||
OpName %91 "world_normal"
|
||||
OpName %93 "world_position"
|
||||
OpName %94 "vs_main"
|
||||
OpName %134 "color"
|
||||
OpName %135 "i"
|
||||
OpName %139 "proj_position"
|
||||
OpName %142 "world_normal"
|
||||
OpName %145 "world_position"
|
||||
OpName %148 "fs_main"
|
||||
OpName %201 "color"
|
||||
OpName %202 "i"
|
||||
OpName %205 "proj_position"
|
||||
OpName %207 "world_normal"
|
||||
OpName %209 "world_position"
|
||||
OpName %212 "fs_main_without_storage"
|
||||
OpMemberDecorate %18 0 Offset 0
|
||||
OpMemberDecorate %18 0 ColMajor
|
||||
OpMemberDecorate %18 0 MatrixStride 16
|
||||
@ -95,21 +95,21 @@ OpDecorate %43 DescriptorSet 0
|
||||
OpDecorate %43 Binding 2
|
||||
OpDecorate %45 DescriptorSet 0
|
||||
OpDecorate %45 Binding 3
|
||||
OpDecorate %83 Location 0
|
||||
OpDecorate %83 Flat
|
||||
OpDecorate %86 Location 1
|
||||
OpDecorate %86 Flat
|
||||
OpDecorate %88 BuiltIn Position
|
||||
OpDecorate %90 Location 0
|
||||
OpDecorate %92 Location 1
|
||||
OpDecorate %138 BuiltIn FragCoord
|
||||
OpDecorate %141 Location 0
|
||||
OpDecorate %144 Location 1
|
||||
OpDecorate %146 Location 0
|
||||
OpDecorate %204 BuiltIn FragCoord
|
||||
OpDecorate %206 Location 0
|
||||
OpDecorate %208 Location 1
|
||||
OpDecorate %210 Location 0
|
||||
OpDecorate %84 Location 0
|
||||
OpDecorate %84 Flat
|
||||
OpDecorate %87 Location 1
|
||||
OpDecorate %87 Flat
|
||||
OpDecorate %89 BuiltIn Position
|
||||
OpDecorate %91 Location 0
|
||||
OpDecorate %93 Location 1
|
||||
OpDecorate %139 BuiltIn FragCoord
|
||||
OpDecorate %142 Location 0
|
||||
OpDecorate %145 Location 1
|
||||
OpDecorate %147 Location 0
|
||||
OpDecorate %205 BuiltIn FragCoord
|
||||
OpDecorate %207 Location 0
|
||||
OpDecorate %209 Location 1
|
||||
OpDecorate %211 Location 0
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 1
|
||||
%3 = OpConstant %4 10
|
||||
@ -163,37 +163,38 @@ OpDecorate %210 Location 0
|
||||
%60 = OpTypeBool
|
||||
%75 = OpTypeSampledImage %27
|
||||
%81 = OpTypePointer Function %21
|
||||
%84 = OpTypePointer Input %22
|
||||
%83 = OpVariable %84 Input
|
||||
%86 = OpVariable %84 Input
|
||||
%89 = OpTypePointer Output %16
|
||||
%88 = OpVariable %89 Output
|
||||
%91 = OpTypePointer Output %20
|
||||
%90 = OpVariable %91 Output
|
||||
%92 = OpVariable %89 Output
|
||||
%94 = OpTypeFunction %2
|
||||
%98 = OpTypePointer Uniform %15
|
||||
%105 = OpTypePointer Function %20
|
||||
%113 = OpTypeVector %4 3
|
||||
%118 = OpTypePointer Function %16
|
||||
%119 = OpConstant %12 2
|
||||
%127 = OpTypePointer Output %6
|
||||
%135 = OpTypePointer Function %12
|
||||
%139 = OpTypePointer Input %16
|
||||
%138 = OpVariable %139 Input
|
||||
%142 = OpTypePointer Input %20
|
||||
%141 = OpVariable %142 Input
|
||||
%144 = OpVariable %139 Input
|
||||
%146 = OpVariable %89 Output
|
||||
%161 = OpTypePointer Uniform %17
|
||||
%162 = OpTypePointer Uniform %12
|
||||
%170 = OpTypePointer StorageBuffer %24
|
||||
%196 = OpTypePointer Uniform %16
|
||||
%204 = OpVariable %139 Input
|
||||
%206 = OpVariable %142 Input
|
||||
%208 = OpVariable %139 Input
|
||||
%210 = OpVariable %89 Output
|
||||
%232 = OpTypePointer Uniform %24
|
||||
%82 = OpConstantNull %21
|
||||
%85 = OpTypePointer Input %22
|
||||
%84 = OpVariable %85 Input
|
||||
%87 = OpVariable %85 Input
|
||||
%90 = OpTypePointer Output %16
|
||||
%89 = OpVariable %90 Output
|
||||
%92 = OpTypePointer Output %20
|
||||
%91 = OpVariable %92 Output
|
||||
%93 = OpVariable %90 Output
|
||||
%95 = OpTypeFunction %2
|
||||
%99 = OpTypePointer Uniform %15
|
||||
%106 = OpTypePointer Function %20
|
||||
%114 = OpTypeVector %4 3
|
||||
%119 = OpTypePointer Function %16
|
||||
%120 = OpConstant %12 2
|
||||
%128 = OpTypePointer Output %6
|
||||
%136 = OpTypePointer Function %12
|
||||
%140 = OpTypePointer Input %16
|
||||
%139 = OpVariable %140 Input
|
||||
%143 = OpTypePointer Input %20
|
||||
%142 = OpVariable %143 Input
|
||||
%145 = OpVariable %140 Input
|
||||
%147 = OpVariable %90 Output
|
||||
%162 = OpTypePointer Uniform %17
|
||||
%163 = OpTypePointer Uniform %12
|
||||
%171 = OpTypePointer StorageBuffer %24
|
||||
%197 = OpTypePointer Uniform %16
|
||||
%205 = OpVariable %140 Input
|
||||
%207 = OpVariable %143 Input
|
||||
%209 = OpVariable %140 Input
|
||||
%211 = OpVariable %90 Output
|
||||
%233 = OpTypePointer Uniform %24
|
||||
%50 = OpFunction %6 None %51
|
||||
%48 = OpFunctionParameter %12
|
||||
%49 = OpFunctionParameter %16
|
||||
@ -226,190 +227,190 @@ OpReturnValue %7
|
||||
%79 = OpImageSampleDrefExplicitLod %6 %78 %77 %74 Lod %5
|
||||
OpReturnValue %79
|
||||
OpFunctionEnd
|
||||
%93 = OpFunction %2 None %94
|
||||
%82 = OpLabel
|
||||
%80 = OpVariable %81 Function
|
||||
%85 = OpLoad %22 %83
|
||||
%87 = OpLoad %22 %86
|
||||
%95 = OpAccessChain %55 %31 %13
|
||||
%96 = OpAccessChain %54 %34 %13
|
||||
OpBranch %97
|
||||
%97 = OpLabel
|
||||
%99 = OpAccessChain %98 %96 %13
|
||||
%100 = OpLoad %15 %99
|
||||
%101 = OpAccessChain %98 %96 %13
|
||||
%102 = OpLoad %15 %101
|
||||
%103 = OpConvertSToF %16 %85
|
||||
%104 = OpMatrixTimesVector %16 %102 %103
|
||||
%106 = OpCompositeExtract %16 %100 0
|
||||
%107 = OpVectorShuffle %20 %106 %106 0 1 2
|
||||
%108 = OpCompositeExtract %16 %100 1
|
||||
%109 = OpVectorShuffle %20 %108 %108 0 1 2
|
||||
%110 = OpCompositeExtract %16 %100 2
|
||||
%111 = OpVectorShuffle %20 %110 %110 0 1 2
|
||||
%112 = OpCompositeConstruct %23 %107 %109 %111
|
||||
%114 = OpVectorShuffle %113 %87 %87 0 1 2
|
||||
%115 = OpConvertSToF %20 %114
|
||||
%116 = OpMatrixTimesVector %20 %112 %115
|
||||
%117 = OpAccessChain %105 %80 %14
|
||||
OpStore %117 %116
|
||||
%120 = OpAccessChain %118 %80 %119
|
||||
OpStore %120 %104
|
||||
%121 = OpAccessChain %98 %95 %13
|
||||
%122 = OpLoad %15 %121
|
||||
%123 = OpMatrixTimesVector %16 %122 %104
|
||||
%124 = OpAccessChain %118 %80 %13
|
||||
OpStore %124 %123
|
||||
%125 = OpLoad %21 %80
|
||||
%126 = OpCompositeExtract %16 %125 0
|
||||
OpStore %88 %126
|
||||
%128 = OpAccessChain %127 %88 %14
|
||||
%129 = OpLoad %6 %128
|
||||
%130 = OpFNegate %6 %129
|
||||
OpStore %128 %130
|
||||
%131 = OpCompositeExtract %20 %125 1
|
||||
OpStore %90 %131
|
||||
%132 = OpCompositeExtract %16 %125 2
|
||||
OpStore %92 %132
|
||||
%94 = OpFunction %2 None %95
|
||||
%83 = OpLabel
|
||||
%80 = OpVariable %81 Function %82
|
||||
%86 = OpLoad %22 %84
|
||||
%88 = OpLoad %22 %87
|
||||
%96 = OpAccessChain %55 %31 %13
|
||||
%97 = OpAccessChain %54 %34 %13
|
||||
OpBranch %98
|
||||
%98 = OpLabel
|
||||
%100 = OpAccessChain %99 %97 %13
|
||||
%101 = OpLoad %15 %100
|
||||
%102 = OpAccessChain %99 %97 %13
|
||||
%103 = OpLoad %15 %102
|
||||
%104 = OpConvertSToF %16 %86
|
||||
%105 = OpMatrixTimesVector %16 %103 %104
|
||||
%107 = OpCompositeExtract %16 %101 0
|
||||
%108 = OpVectorShuffle %20 %107 %107 0 1 2
|
||||
%109 = OpCompositeExtract %16 %101 1
|
||||
%110 = OpVectorShuffle %20 %109 %109 0 1 2
|
||||
%111 = OpCompositeExtract %16 %101 2
|
||||
%112 = OpVectorShuffle %20 %111 %111 0 1 2
|
||||
%113 = OpCompositeConstruct %23 %108 %110 %112
|
||||
%115 = OpVectorShuffle %114 %88 %88 0 1 2
|
||||
%116 = OpConvertSToF %20 %115
|
||||
%117 = OpMatrixTimesVector %20 %113 %116
|
||||
%118 = OpAccessChain %106 %80 %14
|
||||
OpStore %118 %117
|
||||
%121 = OpAccessChain %119 %80 %120
|
||||
OpStore %121 %105
|
||||
%122 = OpAccessChain %99 %96 %13
|
||||
%123 = OpLoad %15 %122
|
||||
%124 = OpMatrixTimesVector %16 %123 %105
|
||||
%125 = OpAccessChain %119 %80 %13
|
||||
OpStore %125 %124
|
||||
%126 = OpLoad %21 %80
|
||||
%127 = OpCompositeExtract %16 %126 0
|
||||
OpStore %89 %127
|
||||
%129 = OpAccessChain %128 %89 %14
|
||||
%130 = OpLoad %6 %129
|
||||
%131 = OpFNegate %6 %130
|
||||
OpStore %129 %131
|
||||
%132 = OpCompositeExtract %20 %126 1
|
||||
OpStore %91 %132
|
||||
%133 = OpCompositeExtract %16 %126 2
|
||||
OpStore %93 %133
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%147 = OpFunction %2 None %94
|
||||
%136 = OpLabel
|
||||
%133 = OpVariable %105 Function %30
|
||||
%134 = OpVariable %135 Function %13
|
||||
%140 = OpLoad %16 %138
|
||||
%143 = OpLoad %20 %141
|
||||
%145 = OpLoad %16 %144
|
||||
%137 = OpCompositeConstruct %21 %140 %143 %145
|
||||
%148 = OpAccessChain %55 %31 %13
|
||||
%149 = OpAccessChain %54 %34 %13
|
||||
%150 = OpAccessChain %57 %37 %13
|
||||
%151 = OpLoad %27 %43
|
||||
%152 = OpLoad %28 %45
|
||||
OpBranch %153
|
||||
%153 = OpLabel
|
||||
%154 = OpCompositeExtract %20 %137 1
|
||||
%155 = OpExtInst %20 %1 Normalize %154
|
||||
OpBranch %156
|
||||
%156 = OpLabel
|
||||
OpLoopMerge %157 %159 None
|
||||
OpBranch %158
|
||||
%158 = OpLabel
|
||||
%160 = OpLoad %12 %134
|
||||
%163 = OpAccessChain %162 %148 %14 %13
|
||||
%164 = OpLoad %12 %163
|
||||
%165 = OpExtInst %12 %1 UMin %164 %11
|
||||
%166 = OpULessThan %60 %160 %165
|
||||
OpSelectionMerge %167 None
|
||||
OpBranchConditional %166 %167 %168
|
||||
%168 = OpLabel
|
||||
%148 = OpFunction %2 None %95
|
||||
%137 = OpLabel
|
||||
%134 = OpVariable %106 Function %30
|
||||
%135 = OpVariable %136 Function %13
|
||||
%141 = OpLoad %16 %139
|
||||
%144 = OpLoad %20 %142
|
||||
%146 = OpLoad %16 %145
|
||||
%138 = OpCompositeConstruct %21 %141 %144 %146
|
||||
%149 = OpAccessChain %55 %31 %13
|
||||
%150 = OpAccessChain %54 %34 %13
|
||||
%151 = OpAccessChain %57 %37 %13
|
||||
%152 = OpLoad %27 %43
|
||||
%153 = OpLoad %28 %45
|
||||
OpBranch %154
|
||||
%154 = OpLabel
|
||||
%155 = OpCompositeExtract %20 %138 1
|
||||
%156 = OpExtInst %20 %1 Normalize %155
|
||||
OpBranch %157
|
||||
%167 = OpLabel
|
||||
%169 = OpLoad %12 %134
|
||||
%171 = OpAccessChain %170 %150 %169
|
||||
%172 = OpLoad %24 %171
|
||||
%173 = OpLoad %12 %134
|
||||
%174 = OpCompositeExtract %15 %172 0
|
||||
%175 = OpCompositeExtract %16 %137 2
|
||||
%176 = OpMatrixTimesVector %16 %174 %175
|
||||
%177 = OpFunctionCall %6 %50 %173 %176
|
||||
%178 = OpCompositeExtract %16 %172 1
|
||||
%179 = OpVectorShuffle %20 %178 %178 0 1 2
|
||||
%180 = OpCompositeExtract %16 %137 2
|
||||
%181 = OpVectorShuffle %20 %180 %180 0 1 2
|
||||
%182 = OpFSub %20 %179 %181
|
||||
%183 = OpExtInst %20 %1 Normalize %182
|
||||
%184 = OpDot %6 %155 %183
|
||||
%185 = OpExtInst %6 %1 FMax %5 %184
|
||||
%186 = OpLoad %20 %133
|
||||
%187 = OpFMul %6 %177 %185
|
||||
%188 = OpCompositeExtract %16 %172 2
|
||||
%189 = OpVectorShuffle %20 %188 %188 0 1 2
|
||||
%190 = OpVectorTimesScalar %20 %189 %187
|
||||
%191 = OpFAdd %20 %186 %190
|
||||
OpStore %133 %191
|
||||
%157 = OpLabel
|
||||
OpLoopMerge %158 %160 None
|
||||
OpBranch %159
|
||||
%159 = OpLabel
|
||||
%192 = OpLoad %12 %134
|
||||
%193 = OpIAdd %12 %192 %14
|
||||
OpStore %134 %193
|
||||
OpBranch %156
|
||||
%157 = OpLabel
|
||||
%194 = OpLoad %20 %133
|
||||
%195 = OpCompositeConstruct %16 %194 %7
|
||||
%197 = OpAccessChain %196 %149 %14
|
||||
%198 = OpLoad %16 %197
|
||||
%199 = OpFMul %16 %195 %198
|
||||
OpStore %146 %199
|
||||
%161 = OpLoad %12 %135
|
||||
%164 = OpAccessChain %163 %149 %14 %13
|
||||
%165 = OpLoad %12 %164
|
||||
%166 = OpExtInst %12 %1 UMin %165 %11
|
||||
%167 = OpULessThan %60 %161 %166
|
||||
OpSelectionMerge %168 None
|
||||
OpBranchConditional %167 %168 %169
|
||||
%169 = OpLabel
|
||||
OpBranch %158
|
||||
%168 = OpLabel
|
||||
%170 = OpLoad %12 %135
|
||||
%172 = OpAccessChain %171 %151 %170
|
||||
%173 = OpLoad %24 %172
|
||||
%174 = OpLoad %12 %135
|
||||
%175 = OpCompositeExtract %15 %173 0
|
||||
%176 = OpCompositeExtract %16 %138 2
|
||||
%177 = OpMatrixTimesVector %16 %175 %176
|
||||
%178 = OpFunctionCall %6 %50 %174 %177
|
||||
%179 = OpCompositeExtract %16 %173 1
|
||||
%180 = OpVectorShuffle %20 %179 %179 0 1 2
|
||||
%181 = OpCompositeExtract %16 %138 2
|
||||
%182 = OpVectorShuffle %20 %181 %181 0 1 2
|
||||
%183 = OpFSub %20 %180 %182
|
||||
%184 = OpExtInst %20 %1 Normalize %183
|
||||
%185 = OpDot %6 %156 %184
|
||||
%186 = OpExtInst %6 %1 FMax %5 %185
|
||||
%187 = OpLoad %20 %134
|
||||
%188 = OpFMul %6 %178 %186
|
||||
%189 = OpCompositeExtract %16 %173 2
|
||||
%190 = OpVectorShuffle %20 %189 %189 0 1 2
|
||||
%191 = OpVectorTimesScalar %20 %190 %188
|
||||
%192 = OpFAdd %20 %187 %191
|
||||
OpStore %134 %192
|
||||
OpBranch %160
|
||||
%160 = OpLabel
|
||||
%193 = OpLoad %12 %135
|
||||
%194 = OpIAdd %12 %193 %14
|
||||
OpStore %135 %194
|
||||
OpBranch %157
|
||||
%158 = OpLabel
|
||||
%195 = OpLoad %20 %134
|
||||
%196 = OpCompositeConstruct %16 %195 %7
|
||||
%198 = OpAccessChain %197 %150 %14
|
||||
%199 = OpLoad %16 %198
|
||||
%200 = OpFMul %16 %196 %199
|
||||
OpStore %147 %200
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%211 = OpFunction %2 None %94
|
||||
%202 = OpLabel
|
||||
%200 = OpVariable %105 Function %30
|
||||
%201 = OpVariable %135 Function %13
|
||||
%205 = OpLoad %16 %204
|
||||
%207 = OpLoad %20 %206
|
||||
%209 = OpLoad %16 %208
|
||||
%203 = OpCompositeConstruct %21 %205 %207 %209
|
||||
%212 = OpAccessChain %55 %31 %13
|
||||
%213 = OpAccessChain %54 %34 %13
|
||||
%214 = OpAccessChain %56 %40 %13
|
||||
%215 = OpLoad %27 %43
|
||||
%216 = OpLoad %28 %45
|
||||
OpBranch %217
|
||||
%217 = OpLabel
|
||||
%218 = OpCompositeExtract %20 %203 1
|
||||
%219 = OpExtInst %20 %1 Normalize %218
|
||||
OpBranch %220
|
||||
%220 = OpLabel
|
||||
OpLoopMerge %221 %223 None
|
||||
OpBranch %222
|
||||
%222 = OpLabel
|
||||
%224 = OpLoad %12 %201
|
||||
%225 = OpAccessChain %162 %212 %14 %13
|
||||
%226 = OpLoad %12 %225
|
||||
%227 = OpExtInst %12 %1 UMin %226 %11
|
||||
%228 = OpULessThan %60 %224 %227
|
||||
OpSelectionMerge %229 None
|
||||
OpBranchConditional %228 %229 %230
|
||||
%230 = OpLabel
|
||||
%212 = OpFunction %2 None %95
|
||||
%203 = OpLabel
|
||||
%201 = OpVariable %106 Function %30
|
||||
%202 = OpVariable %136 Function %13
|
||||
%206 = OpLoad %16 %205
|
||||
%208 = OpLoad %20 %207
|
||||
%210 = OpLoad %16 %209
|
||||
%204 = OpCompositeConstruct %21 %206 %208 %210
|
||||
%213 = OpAccessChain %55 %31 %13
|
||||
%214 = OpAccessChain %54 %34 %13
|
||||
%215 = OpAccessChain %56 %40 %13
|
||||
%216 = OpLoad %27 %43
|
||||
%217 = OpLoad %28 %45
|
||||
OpBranch %218
|
||||
%218 = OpLabel
|
||||
%219 = OpCompositeExtract %20 %204 1
|
||||
%220 = OpExtInst %20 %1 Normalize %219
|
||||
OpBranch %221
|
||||
%229 = OpLabel
|
||||
%231 = OpLoad %12 %201
|
||||
%233 = OpAccessChain %232 %214 %231
|
||||
%234 = OpLoad %24 %233
|
||||
%235 = OpLoad %12 %201
|
||||
%236 = OpCompositeExtract %15 %234 0
|
||||
%237 = OpCompositeExtract %16 %203 2
|
||||
%238 = OpMatrixTimesVector %16 %236 %237
|
||||
%239 = OpFunctionCall %6 %50 %235 %238
|
||||
%240 = OpCompositeExtract %16 %234 1
|
||||
%241 = OpVectorShuffle %20 %240 %240 0 1 2
|
||||
%242 = OpCompositeExtract %16 %203 2
|
||||
%243 = OpVectorShuffle %20 %242 %242 0 1 2
|
||||
%244 = OpFSub %20 %241 %243
|
||||
%245 = OpExtInst %20 %1 Normalize %244
|
||||
%246 = OpDot %6 %219 %245
|
||||
%247 = OpExtInst %6 %1 FMax %5 %246
|
||||
%248 = OpLoad %20 %200
|
||||
%249 = OpFMul %6 %239 %247
|
||||
%250 = OpCompositeExtract %16 %234 2
|
||||
%251 = OpVectorShuffle %20 %250 %250 0 1 2
|
||||
%252 = OpVectorTimesScalar %20 %251 %249
|
||||
%253 = OpFAdd %20 %248 %252
|
||||
OpStore %200 %253
|
||||
%221 = OpLabel
|
||||
OpLoopMerge %222 %224 None
|
||||
OpBranch %223
|
||||
%223 = OpLabel
|
||||
%254 = OpLoad %12 %201
|
||||
%255 = OpIAdd %12 %254 %14
|
||||
OpStore %201 %255
|
||||
OpBranch %220
|
||||
%221 = OpLabel
|
||||
%256 = OpLoad %20 %200
|
||||
%257 = OpCompositeConstruct %16 %256 %7
|
||||
%258 = OpAccessChain %196 %213 %14
|
||||
%259 = OpLoad %16 %258
|
||||
%260 = OpFMul %16 %257 %259
|
||||
OpStore %210 %260
|
||||
%225 = OpLoad %12 %202
|
||||
%226 = OpAccessChain %163 %213 %14 %13
|
||||
%227 = OpLoad %12 %226
|
||||
%228 = OpExtInst %12 %1 UMin %227 %11
|
||||
%229 = OpULessThan %60 %225 %228
|
||||
OpSelectionMerge %230 None
|
||||
OpBranchConditional %229 %230 %231
|
||||
%231 = OpLabel
|
||||
OpBranch %222
|
||||
%230 = OpLabel
|
||||
%232 = OpLoad %12 %202
|
||||
%234 = OpAccessChain %233 %215 %232
|
||||
%235 = OpLoad %24 %234
|
||||
%236 = OpLoad %12 %202
|
||||
%237 = OpCompositeExtract %15 %235 0
|
||||
%238 = OpCompositeExtract %16 %204 2
|
||||
%239 = OpMatrixTimesVector %16 %237 %238
|
||||
%240 = OpFunctionCall %6 %50 %236 %239
|
||||
%241 = OpCompositeExtract %16 %235 1
|
||||
%242 = OpVectorShuffle %20 %241 %241 0 1 2
|
||||
%243 = OpCompositeExtract %16 %204 2
|
||||
%244 = OpVectorShuffle %20 %243 %243 0 1 2
|
||||
%245 = OpFSub %20 %242 %244
|
||||
%246 = OpExtInst %20 %1 Normalize %245
|
||||
%247 = OpDot %6 %220 %246
|
||||
%248 = OpExtInst %6 %1 FMax %5 %247
|
||||
%249 = OpLoad %20 %201
|
||||
%250 = OpFMul %6 %240 %248
|
||||
%251 = OpCompositeExtract %16 %235 2
|
||||
%252 = OpVectorShuffle %20 %251 %251 0 1 2
|
||||
%253 = OpVectorTimesScalar %20 %252 %250
|
||||
%254 = OpFAdd %20 %249 %253
|
||||
OpStore %201 %254
|
||||
OpBranch %224
|
||||
%224 = OpLabel
|
||||
%255 = OpLoad %12 %202
|
||||
%256 = OpIAdd %12 %255 %14
|
||||
OpStore %202 %256
|
||||
OpBranch %221
|
||||
%222 = OpLabel
|
||||
%257 = OpLoad %20 %201
|
||||
%258 = OpCompositeConstruct %16 %257 %7
|
||||
%259 = OpAccessChain %197 %214 %14
|
||||
%260 = OpLoad %16 %259
|
||||
%261 = OpFMul %16 %258 %260
|
||||
OpStore %211 %261
|
||||
OpReturn
|
||||
OpFunctionEnd
|
@ -1,13 +1,13 @@
|
||||
; SPIR-V
|
||||
; Version: 1.0
|
||||
; Generator: rspirv
|
||||
; Bound: 96
|
||||
; Bound: 98
|
||||
OpCapability Shader
|
||||
%1 = OpExtInstImport "GLSL.std.450"
|
||||
OpMemoryModel Logical GLSL450
|
||||
OpEntryPoint Vertex %37 "vs_main" %30 %33 %35
|
||||
OpEntryPoint Fragment %88 "fs_main" %81 %84 %87
|
||||
OpExecutionMode %88 OriginUpperLeft
|
||||
OpEntryPoint Vertex %39 "vs_main" %32 %35 %37
|
||||
OpEntryPoint Fragment %90 "fs_main" %83 %86 %89
|
||||
OpExecutionMode %90 OriginUpperLeft
|
||||
OpMemberDecorate %12 0 Offset 0
|
||||
OpMemberDecorate %12 1 Offset 16
|
||||
OpMemberDecorate %14 0 Offset 0
|
||||
@ -24,12 +24,12 @@ OpDecorate %22 DescriptorSet 0
|
||||
OpDecorate %22 Binding 1
|
||||
OpDecorate %24 DescriptorSet 0
|
||||
OpDecorate %24 Binding 2
|
||||
OpDecorate %30 BuiltIn VertexIndex
|
||||
OpDecorate %33 BuiltIn Position
|
||||
OpDecorate %35 Location 0
|
||||
OpDecorate %81 BuiltIn FragCoord
|
||||
OpDecorate %84 Location 0
|
||||
OpDecorate %87 Location 0
|
||||
OpDecorate %32 BuiltIn VertexIndex
|
||||
OpDecorate %35 BuiltIn Position
|
||||
OpDecorate %37 Location 0
|
||||
OpDecorate %83 BuiltIn FragCoord
|
||||
OpDecorate %86 Location 0
|
||||
OpDecorate %89 Location 0
|
||||
%2 = OpTypeVoid
|
||||
%4 = OpTypeInt 32 1
|
||||
%3 = OpConstant %4 2
|
||||
@ -55,83 +55,85 @@ OpDecorate %87 Location 0
|
||||
%25 = OpTypePointer UniformConstant %18
|
||||
%24 = OpVariable %25 UniformConstant
|
||||
%27 = OpTypePointer Function %4
|
||||
%31 = OpTypePointer Input %15
|
||||
%30 = OpVariable %31 Input
|
||||
%34 = OpTypePointer Output %10
|
||||
%33 = OpVariable %34 Output
|
||||
%36 = OpTypePointer Output %11
|
||||
%28 = OpConstantNull %4
|
||||
%30 = OpConstantNull %4
|
||||
%33 = OpTypePointer Input %15
|
||||
%32 = OpVariable %33 Input
|
||||
%36 = OpTypePointer Output %10
|
||||
%35 = OpVariable %36 Output
|
||||
%38 = OpTypeFunction %2
|
||||
%39 = OpTypePointer Uniform %14
|
||||
%40 = OpConstant %15 0
|
||||
%56 = OpTypePointer Uniform %13
|
||||
%57 = OpTypePointer Uniform %10
|
||||
%58 = OpConstant %15 1
|
||||
%65 = OpConstant %15 2
|
||||
%82 = OpTypePointer Input %10
|
||||
%81 = OpVariable %82 Input
|
||||
%85 = OpTypePointer Input %11
|
||||
%84 = OpVariable %85 Input
|
||||
%87 = OpVariable %34 Output
|
||||
%93 = OpTypeSampledImage %17
|
||||
%37 = OpFunction %2 None %38
|
||||
%29 = OpLabel
|
||||
%26 = OpVariable %27 Function
|
||||
%28 = OpVariable %27 Function
|
||||
%32 = OpLoad %15 %30
|
||||
%41 = OpAccessChain %39 %19 %40
|
||||
OpBranch %42
|
||||
%42 = OpLabel
|
||||
%43 = OpBitcast %4 %32
|
||||
%44 = OpSDiv %4 %43 %3
|
||||
OpStore %26 %44
|
||||
%45 = OpBitcast %4 %32
|
||||
%46 = OpBitwiseAnd %4 %45 %5
|
||||
OpStore %28 %46
|
||||
%47 = OpLoad %4 %26
|
||||
%48 = OpConvertSToF %7 %47
|
||||
%49 = OpFMul %7 %48 %6
|
||||
%50 = OpFSub %7 %49 %8
|
||||
%51 = OpLoad %4 %28
|
||||
%52 = OpConvertSToF %7 %51
|
||||
%53 = OpFMul %7 %52 %6
|
||||
%54 = OpFSub %7 %53 %8
|
||||
%55 = OpCompositeConstruct %10 %50 %54 %9 %8
|
||||
%59 = OpAccessChain %57 %41 %58 %40
|
||||
%60 = OpLoad %10 %59
|
||||
%61 = OpVectorShuffle %11 %60 %60 0 1 2
|
||||
%62 = OpAccessChain %57 %41 %58 %58
|
||||
%63 = OpLoad %10 %62
|
||||
%64 = OpVectorShuffle %11 %63 %63 0 1 2
|
||||
%66 = OpAccessChain %57 %41 %58 %65
|
||||
%67 = OpLoad %10 %66
|
||||
%68 = OpVectorShuffle %11 %67 %67 0 1 2
|
||||
%69 = OpCompositeConstruct %16 %61 %64 %68
|
||||
%70 = OpTranspose %16 %69
|
||||
%71 = OpAccessChain %56 %41 %40
|
||||
%72 = OpLoad %13 %71
|
||||
%73 = OpMatrixTimesVector %10 %72 %55
|
||||
%74 = OpVectorShuffle %11 %73 %73 0 1 2
|
||||
%75 = OpMatrixTimesVector %11 %70 %74
|
||||
%76 = OpCompositeConstruct %12 %55 %75
|
||||
%77 = OpCompositeExtract %10 %76 0
|
||||
OpStore %33 %77
|
||||
%78 = OpCompositeExtract %11 %76 1
|
||||
OpStore %35 %78
|
||||
%38 = OpTypePointer Output %11
|
||||
%37 = OpVariable %38 Output
|
||||
%40 = OpTypeFunction %2
|
||||
%41 = OpTypePointer Uniform %14
|
||||
%42 = OpConstant %15 0
|
||||
%58 = OpTypePointer Uniform %13
|
||||
%59 = OpTypePointer Uniform %10
|
||||
%60 = OpConstant %15 1
|
||||
%67 = OpConstant %15 2
|
||||
%84 = OpTypePointer Input %10
|
||||
%83 = OpVariable %84 Input
|
||||
%87 = OpTypePointer Input %11
|
||||
%86 = OpVariable %87 Input
|
||||
%89 = OpVariable %36 Output
|
||||
%95 = OpTypeSampledImage %17
|
||||
%39 = OpFunction %2 None %40
|
||||
%31 = OpLabel
|
||||
%26 = OpVariable %27 Function %28
|
||||
%29 = OpVariable %27 Function %30
|
||||
%34 = OpLoad %15 %32
|
||||
%43 = OpAccessChain %41 %19 %42
|
||||
OpBranch %44
|
||||
%44 = OpLabel
|
||||
%45 = OpBitcast %4 %34
|
||||
%46 = OpSDiv %4 %45 %3
|
||||
OpStore %26 %46
|
||||
%47 = OpBitcast %4 %34
|
||||
%48 = OpBitwiseAnd %4 %47 %5
|
||||
OpStore %29 %48
|
||||
%49 = OpLoad %4 %26
|
||||
%50 = OpConvertSToF %7 %49
|
||||
%51 = OpFMul %7 %50 %6
|
||||
%52 = OpFSub %7 %51 %8
|
||||
%53 = OpLoad %4 %29
|
||||
%54 = OpConvertSToF %7 %53
|
||||
%55 = OpFMul %7 %54 %6
|
||||
%56 = OpFSub %7 %55 %8
|
||||
%57 = OpCompositeConstruct %10 %52 %56 %9 %8
|
||||
%61 = OpAccessChain %59 %43 %60 %42
|
||||
%62 = OpLoad %10 %61
|
||||
%63 = OpVectorShuffle %11 %62 %62 0 1 2
|
||||
%64 = OpAccessChain %59 %43 %60 %60
|
||||
%65 = OpLoad %10 %64
|
||||
%66 = OpVectorShuffle %11 %65 %65 0 1 2
|
||||
%68 = OpAccessChain %59 %43 %60 %67
|
||||
%69 = OpLoad %10 %68
|
||||
%70 = OpVectorShuffle %11 %69 %69 0 1 2
|
||||
%71 = OpCompositeConstruct %16 %63 %66 %70
|
||||
%72 = OpTranspose %16 %71
|
||||
%73 = OpAccessChain %58 %43 %42
|
||||
%74 = OpLoad %13 %73
|
||||
%75 = OpMatrixTimesVector %10 %74 %57
|
||||
%76 = OpVectorShuffle %11 %75 %75 0 1 2
|
||||
%77 = OpMatrixTimesVector %11 %72 %76
|
||||
%78 = OpCompositeConstruct %12 %57 %77
|
||||
%79 = OpCompositeExtract %10 %78 0
|
||||
OpStore %35 %79
|
||||
%80 = OpCompositeExtract %11 %78 1
|
||||
OpStore %37 %80
|
||||
OpReturn
|
||||
OpFunctionEnd
|
||||
%88 = OpFunction %2 None %38
|
||||
%79 = OpLabel
|
||||
%83 = OpLoad %10 %81
|
||||
%86 = OpLoad %11 %84
|
||||
%80 = OpCompositeConstruct %12 %83 %86
|
||||
%89 = OpLoad %17 %22
|
||||
%90 = OpLoad %18 %24
|
||||
OpBranch %91
|
||||
%91 = OpLabel
|
||||
%92 = OpCompositeExtract %11 %80 1
|
||||
%94 = OpSampledImage %93 %89 %90
|
||||
%95 = OpImageSampleImplicitLod %10 %94 %92
|
||||
OpStore %87 %95
|
||||
%90 = OpFunction %2 None %40
|
||||
%81 = OpLabel
|
||||
%85 = OpLoad %10 %83
|
||||
%88 = OpLoad %11 %86
|
||||
%82 = OpCompositeConstruct %12 %85 %88
|
||||
%91 = OpLoad %17 %22
|
||||
%92 = OpLoad %18 %24
|
||||
OpBranch %93
|
||||
%93 = OpLabel
|
||||
%94 = OpCompositeExtract %11 %82 1
|
||||
%96 = OpSampledImage %95 %91 %92
|
||||
%97 = OpImageSampleImplicitLod %10 %96 %94
|
||||
OpStore %89 %97
|
||||
OpReturn
|
||||
OpFunctionEnd
|
Loading…
Reference in New Issue
Block a user