blob: ed5aa403b290c2f60fe548ef4f7265573239d2c5 [file] [log] [blame]
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %gl_FragCoord %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 320
OpName %main "main"
OpName %data "data"
OpName %temp "temp"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "injectionSwitch"
OpName %_ ""
OpName %gl_FragCoord "gl_FragCoord"
OpName %_GLF_color "_GLF_color"
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpDecorate %gl_FragCoord BuiltIn FragCoord
OpDecorate %_GLF_color Location 0
%void = OpTypeVoid
%10 = OpTypeFunction %void
%int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
%int_1 = OpConstant %int 1
%bool = OpTypeBool
%uint = OpTypeInt 32 0
%uint_10 = OpConstant %uint 10
%_arr_int_uint_10 = OpTypeArray %int %uint_10
%int_10 = OpConstant %int 10
%int_0 = OpConstant %int 0
%int_9 = OpConstant %int 9
%int_2 = OpConstant %int 2
%float = OpTypeFloat 32
%v2float = OpTypeVector %float 2
%buf0 = OpTypeStruct %v2float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%uint_0 = OpConstant %uint 0
%_ptr_Uniform_float = OpTypePointer Uniform %float
%int_4 = OpConstant %int 4
%int_3 = OpConstant %int 3
%int_n1 = OpConstant %int -1
%int_n2 = OpConstant %int -2
%int_n3 = OpConstant %int -3
%int_n4 = OpConstant %int -4
%int_n5 = OpConstant %int -5
%v4float = OpTypeVector %float 4
%_ptr_Input_v4float = OpTypePointer Input %v4float
%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
%uint_1 = OpConstant %uint 1
%_ptr_Input_float = OpTypePointer Input %float
%int_30 = OpConstant %int 30
%float_0_5 = OpConstant %float 0.5
%int_60 = OpConstant %int 60
%int_90 = OpConstant %int 90
%int_120 = OpConstant %int 120
%int_150 = OpConstant %int 150
%int_180 = OpConstant %int 180
%int_5 = OpConstant %int 5
%int_210 = OpConstant %int 210
%int_6 = OpConstant %int 6
%int_240 = OpConstant %int 240
%int_7 = OpConstant %int 7
%int_270 = OpConstant %int 270
%int_8 = OpConstant %int 8
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%float_1 = OpConstant %float 1
%54 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%55 = OpConstantComposite %v2float %float_1 %float_1
%int_32 = OpConstant %int 32
%float_0 = OpConstant %float 0
%_ptr_Function__arr_int_uint_10 = OpTypePointer Function %_arr_int_uint_10
%float_0_100000001 = OpConstant %float 0.100000001
%main = OpFunction %void None %10
%60 = OpLabel
%temp = OpVariable %_ptr_Function__arr_int_uint_10 Function
%data = OpVariable %_ptr_Function__arr_int_uint_10 Function
%61 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %uint_0
%62 = OpLoad %float %61
%63 = OpConvertFToS %int %62
OpBranch %64
%64 = OpLabel
%65 = OpPhi %int %63 %60 %66 %67
OpLoopMerge %68 %67 None
OpBranch %69
%69 = OpLabel
OpSelectionMerge %70 None
OpSwitch %65 %70 0 %71 1 %72 2 %73 3 %74 4 %75 5 %76 6 %77 7 %78 8 %79 9 %80
%71 = OpLabel
%81 = OpAccessChain %_ptr_Function_int %data %65
OpStore %81 %int_4
OpBranch %70
%72 = OpLabel
%82 = OpAccessChain %_ptr_Function_int %data %65
OpStore %82 %int_3
OpBranch %70
%73 = OpLabel
%83 = OpAccessChain %_ptr_Function_int %data %65
OpStore %83 %int_2
OpBranch %70
%74 = OpLabel
%84 = OpAccessChain %_ptr_Function_int %data %65
OpStore %84 %int_1
OpBranch %70
%75 = OpLabel
%85 = OpAccessChain %_ptr_Function_int %data %65
OpStore %85 %int_0
OpBranch %70
%76 = OpLabel
%86 = OpAccessChain %_ptr_Function_int %data %65
OpStore %86 %int_n1
OpBranch %70
%77 = OpLabel
%87 = OpAccessChain %_ptr_Function_int %data %65
OpStore %87 %int_n2
OpBranch %70
%78 = OpLabel
%88 = OpAccessChain %_ptr_Function_int %data %65
OpStore %88 %int_n3
OpBranch %70
%79 = OpLabel
%89 = OpAccessChain %_ptr_Function_int %data %65
OpStore %89 %int_n4
OpBranch %70
%80 = OpLabel
%90 = OpAccessChain %_ptr_Function_int %data %65
OpStore %90 %int_n5
OpBranch %70
%70 = OpLabel
%66 = OpIAdd %int %65 %int_1
OpBranch %67
%67 = OpLabel
%91 = OpSLessThan %bool %66 %int_10
OpBranchConditional %91 %64 %68
%68 = OpLabel
OpBranch %92
%92 = OpLabel
%93 = OpPhi %int %int_0 %68 %94 %95
%96 = OpSLessThan %bool %93 %int_10
OpLoopMerge %97 %95 None
OpBranchConditional %96 %95 %97
%95 = OpLabel
%98 = OpAccessChain %_ptr_Function_int %data %93
%99 = OpLoad %int %98
%100 = OpAccessChain %_ptr_Function_int %temp %93
OpStore %100 %99
%94 = OpIAdd %int %93 %int_1
OpBranch %92
%97 = OpLabel
OpBranch %101
%101 = OpLabel
%102 = OpPhi %int %int_1 %97 %103 %104
%105 = OpSLessThanEqual %bool %102 %int_9
OpLoopMerge %106 %104 None
OpBranchConditional %105 %107 %106
%107 = OpLabel
OpBranch %108
%108 = OpLabel
%109 = OpPhi %int %int_0 %107 %110 %111
%112 = OpSLessThan %bool %109 %int_9
OpLoopMerge %113 %111 None
OpBranchConditional %112 %114 %113
%114 = OpLabel
%115 = OpIAdd %int %109 %102
%116 = OpISub %int %115 %int_1
%117 = OpIMul %int %int_2 %102
%110 = OpIAdd %int %109 %117
%118 = OpISub %int %110 %int_1
%119 = OpExtInst %int %1 SMin %118 %int_9
OpBranch %120
%120 = OpLabel
%121 = OpPhi %int %109 %114 %122 %123
%124 = OpPhi %int %115 %114 %125 %123
%126 = OpPhi %int %109 %114 %127 %123
%128 = OpSLessThanEqual %bool %126 %116
%129 = OpSLessThanEqual %bool %124 %119
%130 = OpLogicalAnd %bool %128 %129
OpLoopMerge %131 %123 None
OpBranchConditional %130 %132 %131
%132 = OpLabel
%133 = OpAccessChain %_ptr_Function_int %data %126
%134 = OpLoad %int %133
%135 = OpAccessChain %_ptr_Function_int %data %124
%136 = OpLoad %int %135
%137 = OpSLessThan %bool %134 %136
%122 = OpIAdd %int %121 %int_1
OpSelectionMerge %138 None
OpBranchConditional %137 %139 %140
%139 = OpLabel
%141 = OpIAdd %int %126 %int_1
%142 = OpLoad %int %133
%143 = OpAccessChain %_ptr_Function_int %temp %121
OpStore %143 %142
OpBranch %138
%140 = OpLabel
%144 = OpIAdd %int %124 %int_1
%145 = OpLoad %int %135
%146 = OpAccessChain %_ptr_Function_int %temp %121
OpStore %146 %145
OpBranch %138
%138 = OpLabel
%125 = OpPhi %int %124 %139 %144 %140
%127 = OpPhi %int %141 %139 %126 %140
OpBranch %123
%123 = OpLabel
OpBranch %120
%131 = OpLabel
OpBranch %147
%147 = OpLabel
%148 = OpPhi %int %121 %131 %149 %150
%151 = OpPhi %int %126 %131 %152 %150
%153 = OpSLessThan %bool %151 %int_10
%154 = OpSLessThanEqual %bool %151 %116
%155 = OpLogicalAnd %bool %153 %154
OpLoopMerge %156 %150 None
OpBranchConditional %155 %150 %156
%150 = OpLabel
%149 = OpIAdd %int %148 %int_1
%152 = OpIAdd %int %151 %int_1
%157 = OpAccessChain %_ptr_Function_int %data %151
%158 = OpLoad %int %157
%159 = OpAccessChain %_ptr_Function_int %temp %148
OpStore %159 %158
OpBranch %147
%156 = OpLabel
OpBranch %160
%160 = OpLabel
%161 = OpPhi %int %109 %156 %162 %163
%164 = OpSLessThanEqual %bool %161 %119
OpLoopMerge %165 %163 None
OpBranchConditional %164 %163 %165
%163 = OpLabel
%166 = OpAccessChain %_ptr_Function_int %temp %161
%167 = OpLoad %int %166
%168 = OpAccessChain %_ptr_Function_int %data %161
OpStore %168 %167
%162 = OpIAdd %int %161 %int_1
OpBranch %160
%165 = OpLabel
OpBranch %111
%111 = OpLabel
OpBranch %108
%113 = OpLabel
OpBranch %104
%104 = OpLabel
%103 = OpIMul %int %int_2 %102
OpBranch %101
%106 = OpLabel
%169 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_1
%170 = OpLoad %float %169
%171 = OpConvertFToS %int %170
%172 = OpSLessThan %bool %171 %int_30
OpSelectionMerge %173 None
OpBranchConditional %172 %174 %175
%174 = OpLabel
%176 = OpAccessChain %_ptr_Function_int %data %int_0
%177 = OpLoad %int %176
%178 = OpConvertSToF %float %177
%179 = OpFMul %float %178 %float_0_100000001
%180 = OpFAdd %float %float_0_5 %179
OpBranch %173
%175 = OpLabel
%181 = OpSLessThan %bool %171 %int_60
OpSelectionMerge %182 None
OpBranchConditional %181 %183 %184
%183 = OpLabel
%185 = OpAccessChain %_ptr_Function_int %data %int_1
%186 = OpLoad %int %185
%187 = OpConvertSToF %float %186
%188 = OpFMul %float %187 %float_0_100000001
%189 = OpFAdd %float %float_0_5 %188
OpBranch %182
%184 = OpLabel
%190 = OpSLessThan %bool %171 %int_90
OpSelectionMerge %191 None
OpBranchConditional %190 %192 %193
%192 = OpLabel
%194 = OpAccessChain %_ptr_Function_int %data %int_2
%195 = OpLoad %int %194
%196 = OpConvertSToF %float %195
%197 = OpFMul %float %196 %float_0_100000001
%198 = OpFAdd %float %float_0_5 %197
OpBranch %191
%193 = OpLabel
%199 = OpSLessThan %bool %171 %int_120
OpSelectionMerge %200 None
OpBranchConditional %199 %201 %202
%201 = OpLabel
%203 = OpAccessChain %_ptr_Function_int %data %int_3
%204 = OpLoad %int %203
%205 = OpConvertSToF %float %204
%206 = OpFMul %float %205 %float_0_100000001
%207 = OpFAdd %float %float_0_5 %206
OpBranch %200
%202 = OpLabel
%208 = OpSLessThan %bool %171 %int_150
OpSelectionMerge %209 None
OpBranchConditional %208 %210 %211
%210 = OpLabel
OpKill
%211 = OpLabel
%212 = OpSLessThan %bool %171 %int_180
OpSelectionMerge %213 None
OpBranchConditional %212 %214 %215
%214 = OpLabel
%216 = OpAccessChain %_ptr_Function_int %data %int_5
%217 = OpLoad %int %216
%218 = OpConvertSToF %float %217
%219 = OpFMul %float %218 %float_0_100000001
%220 = OpFAdd %float %float_0_5 %219
OpBranch %213
%215 = OpLabel
%221 = OpSLessThan %bool %171 %int_210
OpSelectionMerge %222 None
OpBranchConditional %221 %223 %224
%223 = OpLabel
%225 = OpAccessChain %_ptr_Function_int %data %int_6
%226 = OpLoad %int %225
%227 = OpConvertSToF %float %226
%228 = OpFMul %float %227 %float_0_100000001
%229 = OpFAdd %float %float_0_5 %228
OpBranch %222
%224 = OpLabel
%230 = OpSLessThan %bool %171 %int_240
OpSelectionMerge %231 None
OpBranchConditional %230 %232 %233
%232 = OpLabel
%234 = OpAccessChain %_ptr_Function_int %data %int_7
%235 = OpLoad %int %234
%236 = OpConvertSToF %float %235
%237 = OpFMul %float %236 %float_0_100000001
%238 = OpFAdd %float %float_0_5 %237
OpBranch %231
%233 = OpLabel
%239 = OpSLessThan %bool %171 %int_270
OpSelectionMerge %240 None
OpBranchConditional %239 %240 %241
%240 = OpLabel
%242 = OpAccessChain %_ptr_Function_int %data %int_8
%243 = OpLoad %int %242
%244 = OpConvertSToF %float %243
%245 = OpFMul %float %244 %float_0_100000001
%246 = OpFAdd %float %float_0_5 %245
OpBranch %231
%241 = OpLabel
OpKill
%231 = OpLabel
%247 = OpPhi %float %238 %232 %246 %240
OpBranch %222
%222 = OpLabel
%248 = OpPhi %float %229 %223 %247 %231
OpBranch %213
%213 = OpLabel
%249 = OpPhi %float %220 %214 %248 %222
%250 = OpAccessChain %_ptr_Uniform_float %_ %int_0 %uint_1
%251 = OpLoad %float %250
%252 = OpFOrdGreaterThan %bool %62 %251
OpSelectionMerge %253 None
OpBranchConditional %252 %254 %253
%254 = OpLabel
OpStore %_GLF_color %54
OpBranch %253
%253 = OpLabel
OpBranch %255
%255 = OpLabel
%256 = OpPhi %v2float %55 %253 %257 %258
%259 = OpPhi %int %int_0 %253 %260 %258
%261 = OpSLessThanEqual %bool %259 %int_32
OpLoopMerge %262 %258 None
OpBranchConditional %261 %263 %262
%263 = OpLabel
%264 = OpCompositeExtract %float %256 0
%265 = OpFOrdLessThan %bool %264 %float_0
OpSelectionMerge %266 None
OpBranchConditional %265 %267 %266
%267 = OpLabel
OpSelectionMerge %268 None
OpBranchConditional %252 %269 %268
%269 = OpLabel
OpKill
%268 = OpLabel
%270 = OpCompositeExtract %float %256 1
%271 = OpFAdd %float %270 %float_1
%272 = OpCompositeInsert %v2float %271 %256 1
OpBranch %266
%266 = OpLabel
%273 = OpPhi %v2float %256 %263 %272 %268
%274 = OpCompositeExtract %float %273 1
%275 = OpCompositeExtract %float %273 0
%276 = OpFAdd %float %275 %274
%257 = OpCompositeInsert %v2float %276 %273 0
OpBranch %258
%258 = OpLabel
%260 = OpIAdd %int %259 %int_1
OpBranch %255
%262 = OpLabel
OpBranch %209
%209 = OpLabel
OpBranch %200
%200 = OpLabel
%277 = OpPhi %float %207 %201 %249 %209
OpBranch %191
%191 = OpLabel
%278 = OpPhi %float %198 %192 %277 %200
OpBranch %182
%182 = OpLabel
%279 = OpPhi %float %189 %183 %278 %191
OpBranch %173
%173 = OpLabel
%280 = OpPhi %float %180 %174 %279 %182
%281 = OpCompositeConstruct %v4float %280 %280 %280 %float_1
OpStore %_GLF_color %281
OpReturn
OpFunctionEnd