408 lines
17 KiB
Plaintext
408 lines
17 KiB
Plaintext
|
OpCapability Shader
|
||
|
%1 = OpExtInstImport "GLSL.std.450"
|
||
|
OpMemoryModel Logical GLSL450
|
||
|
OpEntryPoint Fragment %main "main" %_GLF_color
|
||
|
OpExecutionMode %main OriginUpperLeft
|
||
|
OpSource ESSL 310
|
||
|
OpName %main "main"
|
||
|
OpName %f_i1_ "f(i1;"
|
||
|
OpName %a "a"
|
||
|
OpName %i "i"
|
||
|
OpName %buf0 "buf0"
|
||
|
OpMemberName %buf0 0 "_GLF_uniform_int_values"
|
||
|
OpName %_ ""
|
||
|
OpName %ref "ref"
|
||
|
OpName %i_0 "i"
|
||
|
OpName %a_0 "a"
|
||
|
OpName %param "param"
|
||
|
OpName %param_0 "param"
|
||
|
OpName %i_1 "i"
|
||
|
OpName %_GLF_color "_GLF_color"
|
||
|
OpDecorate %f_i1_ RelaxedPrecision
|
||
|
OpDecorate %a RelaxedPrecision
|
||
|
OpDecorate %i RelaxedPrecision
|
||
|
OpDecorate %_arr_int_uint_12 ArrayStride 16
|
||
|
OpMemberDecorate %buf0 0 RelaxedPrecision
|
||
|
OpMemberDecorate %buf0 0 Offset 0
|
||
|
OpDecorate %buf0 Block
|
||
|
OpDecorate %_ DescriptorSet 0
|
||
|
OpDecorate %_ Binding 0
|
||
|
OpDecorate %16 RelaxedPrecision
|
||
|
OpDecorate %17 RelaxedPrecision
|
||
|
OpDecorate %18 RelaxedPrecision
|
||
|
OpDecorate %19 RelaxedPrecision
|
||
|
OpDecorate %20 RelaxedPrecision
|
||
|
OpDecorate %21 RelaxedPrecision
|
||
|
OpDecorate %22 RelaxedPrecision
|
||
|
OpDecorate %23 RelaxedPrecision
|
||
|
OpDecorate %24 RelaxedPrecision
|
||
|
OpDecorate %ref RelaxedPrecision
|
||
|
OpDecorate %25 RelaxedPrecision
|
||
|
OpDecorate %26 RelaxedPrecision
|
||
|
OpDecorate %27 RelaxedPrecision
|
||
|
OpDecorate %28 RelaxedPrecision
|
||
|
OpDecorate %29 RelaxedPrecision
|
||
|
OpDecorate %30 RelaxedPrecision
|
||
|
OpDecorate %31 RelaxedPrecision
|
||
|
OpDecorate %32 RelaxedPrecision
|
||
|
OpDecorate %33 RelaxedPrecision
|
||
|
OpDecorate %34 RelaxedPrecision
|
||
|
OpDecorate %35 RelaxedPrecision
|
||
|
OpDecorate %36 RelaxedPrecision
|
||
|
OpDecorate %37 RelaxedPrecision
|
||
|
OpDecorate %38 RelaxedPrecision
|
||
|
OpDecorate %39 RelaxedPrecision
|
||
|
OpDecorate %40 RelaxedPrecision
|
||
|
OpDecorate %41 RelaxedPrecision
|
||
|
OpDecorate %42 RelaxedPrecision
|
||
|
OpDecorate %43 RelaxedPrecision
|
||
|
OpDecorate %44 RelaxedPrecision
|
||
|
OpDecorate %i_0 RelaxedPrecision
|
||
|
OpDecorate %45 RelaxedPrecision
|
||
|
OpDecorate %46 RelaxedPrecision
|
||
|
OpDecorate %47 RelaxedPrecision
|
||
|
OpDecorate %a_0 RelaxedPrecision
|
||
|
OpDecorate %48 RelaxedPrecision
|
||
|
OpDecorate %49 RelaxedPrecision
|
||
|
OpDecorate %50 RelaxedPrecision
|
||
|
OpDecorate %51 RelaxedPrecision
|
||
|
OpDecorate %52 RelaxedPrecision
|
||
|
OpDecorate %53 RelaxedPrecision
|
||
|
OpDecorate %54 RelaxedPrecision
|
||
|
OpDecorate %55 RelaxedPrecision
|
||
|
OpDecorate %56 RelaxedPrecision
|
||
|
OpDecorate %57 RelaxedPrecision
|
||
|
OpDecorate %58 RelaxedPrecision
|
||
|
OpDecorate %59 RelaxedPrecision
|
||
|
OpDecorate %60 RelaxedPrecision
|
||
|
OpDecorate %61 RelaxedPrecision
|
||
|
OpDecorate %62 RelaxedPrecision
|
||
|
OpDecorate %63 RelaxedPrecision
|
||
|
OpDecorate %64 RelaxedPrecision
|
||
|
OpDecorate %65 RelaxedPrecision
|
||
|
OpDecorate %66 RelaxedPrecision
|
||
|
OpDecorate %67 RelaxedPrecision
|
||
|
OpDecorate %68 RelaxedPrecision
|
||
|
OpDecorate %69 RelaxedPrecision
|
||
|
OpDecorate %70 RelaxedPrecision
|
||
|
OpDecorate %71 RelaxedPrecision
|
||
|
OpDecorate %72 RelaxedPrecision
|
||
|
OpDecorate %73 RelaxedPrecision
|
||
|
OpDecorate %74 RelaxedPrecision
|
||
|
OpDecorate %75 RelaxedPrecision
|
||
|
OpDecorate %76 RelaxedPrecision
|
||
|
OpDecorate %77 RelaxedPrecision
|
||
|
OpDecorate %78 RelaxedPrecision
|
||
|
OpDecorate %79 RelaxedPrecision
|
||
|
OpDecorate %80 RelaxedPrecision
|
||
|
OpDecorate %i_1 RelaxedPrecision
|
||
|
OpDecorate %81 RelaxedPrecision
|
||
|
OpDecorate %82 RelaxedPrecision
|
||
|
OpDecorate %83 RelaxedPrecision
|
||
|
OpDecorate %84 RelaxedPrecision
|
||
|
OpDecorate %85 RelaxedPrecision
|
||
|
OpDecorate %86 RelaxedPrecision
|
||
|
OpDecorate %87 RelaxedPrecision
|
||
|
OpDecorate %_GLF_color Location 0
|
||
|
OpDecorate %88 RelaxedPrecision
|
||
|
OpDecorate %89 RelaxedPrecision
|
||
|
OpDecorate %90 RelaxedPrecision
|
||
|
OpDecorate %91 RelaxedPrecision
|
||
|
OpDecorate %92 RelaxedPrecision
|
||
|
OpDecorate %93 RelaxedPrecision
|
||
|
OpDecorate %94 RelaxedPrecision
|
||
|
%void = OpTypeVoid
|
||
|
%96 = OpTypeFunction %void
|
||
|
%int = OpTypeInt 32 1
|
||
|
%_ptr_Function_int = OpTypePointer Function %int
|
||
|
%99 = OpTypeFunction %int %_ptr_Function_int
|
||
|
%uint = OpTypeInt 32 0
|
||
|
%uint_12 = OpConstant %uint 12
|
||
|
%_arr_int_uint_12 = OpTypeArray %int %uint_12
|
||
|
%buf0 = OpTypeStruct %_arr_int_uint_12
|
||
|
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
|
||
|
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
|
||
|
%int_0 = OpConstant %int 0
|
||
|
%_ptr_Uniform_int = OpTypePointer Uniform %int
|
||
|
%int_6 = OpConstant %int 6
|
||
|
%bool = OpTypeBool
|
||
|
%int_2 = OpConstant %int 2
|
||
|
%int_1 = OpConstant %int 1
|
||
|
%uint_10 = OpConstant %uint 10
|
||
|
%_arr_int_uint_10 = OpTypeArray %int %uint_10
|
||
|
%_ptr_Function__arr_int_uint_10 = OpTypePointer Function %_arr_int_uint_10
|
||
|
%int_11 = OpConstant %int 11
|
||
|
%int_3 = OpConstant %int 3
|
||
|
%int_4 = OpConstant %int 4
|
||
|
%int_5 = OpConstant %int 5
|
||
|
%int_7 = OpConstant %int 7
|
||
|
%int_8 = OpConstant %int 8
|
||
|
%int_9 = OpConstant %int 9
|
||
|
%int_10 = OpConstant %int 10
|
||
|
%float = OpTypeFloat 32
|
||
|
%v4float = OpTypeVector %float 4
|
||
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
||
|
%_GLF_color = OpVariable %_ptr_Output_v4float Output
|
||
|
%main = OpFunction %void None %96
|
||
|
%123 = OpLabel
|
||
|
%ref = OpVariable %_ptr_Function__arr_int_uint_10 Function
|
||
|
%i_0 = OpVariable %_ptr_Function_int Function
|
||
|
%a_0 = OpVariable %_ptr_Function__arr_int_uint_10 Function
|
||
|
%param = OpVariable %_ptr_Function_int Function
|
||
|
%param_0 = OpVariable %_ptr_Function_int Function
|
||
|
%i_1 = OpVariable %_ptr_Function_int Function
|
||
|
%124 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
|
||
|
%25 = OpLoad %int %124
|
||
|
%125 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||
|
%26 = OpLoad %int %125
|
||
|
%126 = OpAccessChain %_ptr_Function_int %ref %25
|
||
|
OpStore %126 %26
|
||
|
%127 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_11
|
||
|
%27 = OpLoad %int %127
|
||
|
%128 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
|
||
|
%28 = OpLoad %int %128
|
||
|
%129 = OpAccessChain %_ptr_Function_int %ref %27
|
||
|
OpStore %129 %28
|
||
|
%130 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||
|
%29 = OpLoad %int %130
|
||
|
%131 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
|
||
|
%30 = OpLoad %int %131
|
||
|
%132 = OpAccessChain %_ptr_Function_int %ref %29
|
||
|
OpStore %132 %30
|
||
|
%133 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
|
||
|
%31 = OpLoad %int %133
|
||
|
%134 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
|
||
|
%32 = OpLoad %int %134
|
||
|
%135 = OpAccessChain %_ptr_Function_int %ref %31
|
||
|
OpStore %135 %32
|
||
|
%136 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
|
||
|
%33 = OpLoad %int %136
|
||
|
%137 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
|
||
|
%34 = OpLoad %int %137
|
||
|
%138 = OpAccessChain %_ptr_Function_int %ref %33
|
||
|
OpStore %138 %34
|
||
|
%139 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
|
||
|
%35 = OpLoad %int %139
|
||
|
%140 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
|
||
|
%36 = OpLoad %int %140
|
||
|
%141 = OpAccessChain %_ptr_Function_int %ref %35
|
||
|
OpStore %141 %36
|
||
|
%142 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
|
||
|
%37 = OpLoad %int %142
|
||
|
%143 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_7
|
||
|
%38 = OpLoad %int %143
|
||
|
%144 = OpAccessChain %_ptr_Function_int %ref %37
|
||
|
OpStore %144 %38
|
||
|
%145 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
|
||
|
%39 = OpLoad %int %145
|
||
|
%146 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
|
||
|
%40 = OpLoad %int %146
|
||
|
%147 = OpAccessChain %_ptr_Function_int %ref %39
|
||
|
OpStore %147 %40
|
||
|
%148 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
|
||
|
%41 = OpLoad %int %148
|
||
|
%149 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
|
||
|
%42 = OpLoad %int %149
|
||
|
%150 = OpAccessChain %_ptr_Function_int %ref %41
|
||
|
OpStore %150 %42
|
||
|
%151 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10
|
||
|
%43 = OpLoad %int %151
|
||
|
%152 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10
|
||
|
%44 = OpLoad %int %152
|
||
|
%153 = OpAccessChain %_ptr_Function_int %ref %43
|
||
|
OpStore %153 %44
|
||
|
%154 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
|
||
|
%45 = OpLoad %int %154
|
||
|
OpStore %i_0 %45
|
||
|
OpBranch %155
|
||
|
%155 = OpLabel
|
||
|
OpLoopMerge %156 %157 None
|
||
|
OpBranch %158
|
||
|
%158 = OpLabel
|
||
|
%46 = OpLoad %int %i_0
|
||
|
%159 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
|
||
|
%47 = OpLoad %int %159
|
||
|
%160 = OpSLessThan %bool %46 %47
|
||
|
OpBranchConditional %160 %161 %156
|
||
|
%161 = OpLabel
|
||
|
%48 = OpLoad %int %i_0
|
||
|
%49 = OpLoad %int %i_0
|
||
|
%162 = OpAccessChain %_ptr_Function_int %a_0 %48
|
||
|
OpStore %162 %49
|
||
|
%50 = OpLoad %int %i_0
|
||
|
%163 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
|
||
|
%51 = OpLoad %int %163
|
||
|
%164 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||
|
%52 = OpLoad %int %164
|
||
|
%53 = OpSDiv %int %51 %52
|
||
|
%165 = OpSLessThan %bool %50 %53
|
||
|
OpSelectionMerge %166 None
|
||
|
OpBranchConditional %165 %167 %168
|
||
|
%167 = OpLabel
|
||
|
%54 = OpLoad %int %i_0
|
||
|
%55 = OpLoad %int %i_0
|
||
|
%169 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
|
||
|
%56 = OpLoad %int %169
|
||
|
%57 = OpIAdd %int %55 %56
|
||
|
%170 = OpAccessChain %_ptr_Function_int %a_0 %54
|
||
|
OpStore %170 %57
|
||
|
%58 = OpLoad %int %i_0
|
||
|
%171 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
|
||
|
%59 = OpLoad %int %171
|
||
|
%172 = OpSLessThan %bool %58 %59
|
||
|
OpSelectionMerge %173 None
|
||
|
OpBranchConditional %172 %174 %173
|
||
|
%174 = OpLabel
|
||
|
OpBranch %157
|
||
|
%173 = OpLabel
|
||
|
%60 = OpLoad %int %i_0
|
||
|
%61 = OpLoad %int %i_0
|
||
|
%175 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
|
||
|
%62 = OpLoad %int %175
|
||
|
%63 = OpIAdd %int %61 %62
|
||
|
%176 = OpAccessChain %_ptr_Function_int %a_0 %60
|
||
|
OpStore %176 %63
|
||
|
%64 = OpLoad %int %i_0
|
||
|
%177 = OpAccessChain %_ptr_Function_int %a_0 %64
|
||
|
%65 = OpLoad %int %177
|
||
|
OpStore %param %65
|
||
|
%66 = OpFunctionCall %int %f_i1_ %param
|
||
|
%178 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
|
||
|
%67 = OpLoad %int %178
|
||
|
%179 = OpSLessThan %bool %66 %67
|
||
|
OpSelectionMerge %180 None
|
||
|
OpBranchConditional %179 %181 %180
|
||
|
%181 = OpLabel
|
||
|
%68 = OpLoad %int %i_0
|
||
|
%182 = OpAccessChain %_ptr_Function_int %a_0 %68
|
||
|
%69 = OpLoad %int %182
|
||
|
%70 = OpISub %int %69 %int_1
|
||
|
OpStore %182 %70
|
||
|
OpBranch %180
|
||
|
%180 = OpLabel
|
||
|
OpBranch %166
|
||
|
%168 = OpLabel
|
||
|
%71 = OpLoad %int %i_0
|
||
|
%183 = OpAccessChain %_ptr_Function_int %a_0 %71
|
||
|
%72 = OpLoad %int %183
|
||
|
OpStore %param_0 %72
|
||
|
%73 = OpFunctionCall %int %f_i1_ %param_0
|
||
|
%184 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
|
||
|
%74 = OpLoad %int %184
|
||
|
%185 = OpSLessThan %bool %73 %74
|
||
|
OpSelectionMerge %186 None
|
||
|
OpBranchConditional %185 %187 %186
|
||
|
%187 = OpLabel
|
||
|
%75 = OpLoad %int %i_0
|
||
|
%188 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
|
||
|
%76 = OpLoad %int %188
|
||
|
%189 = OpAccessChain %_ptr_Function_int %a_0 %75
|
||
|
%77 = OpLoad %int %189
|
||
|
%78 = OpIAdd %int %77 %76
|
||
|
%190 = OpAccessChain %_ptr_Function_int %a_0 %75
|
||
|
OpStore %190 %78
|
||
|
OpBranch %186
|
||
|
%186 = OpLabel
|
||
|
OpBranch %166
|
||
|
%166 = OpLabel
|
||
|
OpBranch %157
|
||
|
%157 = OpLabel
|
||
|
%79 = OpLoad %int %i_0
|
||
|
%80 = OpIAdd %int %79 %int_1
|
||
|
OpStore %i_0 %80
|
||
|
OpBranch %155
|
||
|
%156 = OpLabel
|
||
|
%191 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
|
||
|
%81 = OpLoad %int %191
|
||
|
OpStore %i_1 %81
|
||
|
OpBranch %192
|
||
|
%192 = OpLabel
|
||
|
OpLoopMerge %193 %194 None
|
||
|
OpBranch %195
|
||
|
%195 = OpLabel
|
||
|
%82 = OpLoad %int %i_1
|
||
|
%196 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
|
||
|
%83 = OpLoad %int %196
|
||
|
%197 = OpSLessThan %bool %82 %83
|
||
|
OpBranchConditional %197 %198 %193
|
||
|
%198 = OpLabel
|
||
|
%84 = OpLoad %int %i_1
|
||
|
%199 = OpAccessChain %_ptr_Function_int %a_0 %84
|
||
|
%85 = OpLoad %int %199
|
||
|
%86 = OpLoad %int %i_1
|
||
|
%200 = OpAccessChain %_ptr_Function_int %ref %86
|
||
|
%87 = OpLoad %int %200
|
||
|
%201 = OpINotEqual %bool %85 %87
|
||
|
OpSelectionMerge %202 None
|
||
|
OpBranchConditional %201 %203 %202
|
||
|
%203 = OpLabel
|
||
|
%204 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
|
||
|
%88 = OpLoad %int %204
|
||
|
%205 = OpConvertSToF %float %88
|
||
|
%206 = OpCompositeConstruct %v4float %205 %205 %205 %205
|
||
|
OpStore %_GLF_color %206
|
||
|
OpReturn
|
||
|
%202 = OpLabel
|
||
|
OpBranch %194
|
||
|
%194 = OpLabel
|
||
|
%89 = OpLoad %int %i_1
|
||
|
%90 = OpIAdd %int %89 %int_1
|
||
|
OpStore %i_1 %90
|
||
|
OpBranch %192
|
||
|
%193 = OpLabel
|
||
|
%207 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_11
|
||
|
%91 = OpLoad %int %207
|
||
|
%208 = OpConvertSToF %float %91
|
||
|
%209 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
|
||
|
%92 = OpLoad %int %209
|
||
|
%210 = OpConvertSToF %float %92
|
||
|
%211 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
|
||
|
%93 = OpLoad %int %211
|
||
|
%212 = OpConvertSToF %float %93
|
||
|
%213 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_11
|
||
|
%94 = OpLoad %int %213
|
||
|
%214 = OpConvertSToF %float %94
|
||
|
%215 = OpCompositeConstruct %v4float %208 %210 %212 %214
|
||
|
OpStore %_GLF_color %215
|
||
|
OpReturn
|
||
|
OpFunctionEnd
|
||
|
%f_i1_ = OpFunction %int None %99
|
||
|
%a = OpFunctionParameter %_ptr_Function_int
|
||
|
%216 = OpLabel
|
||
|
%i = OpVariable %_ptr_Function_int Function
|
||
|
%217 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
|
||
|
%16 = OpLoad %int %217
|
||
|
OpStore %i %16
|
||
|
OpBranch %218
|
||
|
%218 = OpLabel
|
||
|
OpLoopMerge %219 %220 None
|
||
|
OpBranch %221
|
||
|
%221 = OpLabel
|
||
|
%17 = OpLoad %int %i
|
||
|
%222 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
|
||
|
%18 = OpLoad %int %222
|
||
|
%223 = OpSLessThan %bool %17 %18
|
||
|
OpBranchConditional %223 %224 %219
|
||
|
%224 = OpLabel
|
||
|
%19 = OpLoad %int %i
|
||
|
%225 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
|
||
|
%20 = OpLoad %int %225
|
||
|
%226 = OpSGreaterThan %bool %19 %20
|
||
|
OpSelectionMerge %227 None
|
||
|
OpBranchConditional %226 %228 %227
|
||
|
%228 = OpLabel
|
||
|
%21 = OpLoad %int %a
|
||
|
OpReturnValue %21
|
||
|
%227 = OpLabel
|
||
|
OpBranch %220
|
||
|
%220 = OpLabel
|
||
|
%22 = OpLoad %int %i
|
||
|
%23 = OpIAdd %int %22 %int_1
|
||
|
OpStore %i %23
|
||
|
OpBranch %218
|
||
|
%219 = OpLabel
|
||
|
%229 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
|
||
|
%24 = OpLoad %int %229
|
||
|
OpReturnValue %24
|
||
|
OpFunctionEnd
|