723 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			723 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| OpCapability Shader
 | |
| %1 = OpExtInstImport "GLSL.std.450"
 | |
| OpMemoryModel Logical GLSL450
 | |
| OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
 | |
| OpExecutionMode %_entrypoint_v OriginUpperLeft
 | |
| OpName %sk_FragColor "sk_FragColor"
 | |
| OpName %sk_Clockwise "sk_Clockwise"
 | |
| OpName %_UniformBuffer "_UniformBuffer"
 | |
| OpMemberName %_UniformBuffer 0 "colorGreen"
 | |
| OpMemberName %_UniformBuffer 1 "colorRed"
 | |
| OpMemberName %_UniformBuffer 2 "colorBlack"
 | |
| OpMemberName %_UniformBuffer 3 "colorWhite"
 | |
| OpMemberName %_UniformBuffer 4 "testInputs"
 | |
| OpName %_entrypoint_v "_entrypoint_v"
 | |
| OpName %main "main"
 | |
| OpName %intGreen "intGreen"
 | |
| OpName %intRed "intRed"
 | |
| OpDecorate %sk_FragColor RelaxedPrecision
 | |
| OpDecorate %sk_FragColor Location 0
 | |
| OpDecorate %sk_FragColor Index 0
 | |
| OpDecorate %sk_Clockwise BuiltIn FrontFacing
 | |
| OpMemberDecorate %_UniformBuffer 0 Offset 0
 | |
| OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
 | |
| OpMemberDecorate %_UniformBuffer 1 Offset 16
 | |
| OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
 | |
| OpMemberDecorate %_UniformBuffer 2 Offset 32
 | |
| OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
 | |
| OpMemberDecorate %_UniformBuffer 3 Offset 48
 | |
| OpMemberDecorate %_UniformBuffer 3 RelaxedPrecision
 | |
| OpMemberDecorate %_UniformBuffer 4 Offset 64
 | |
| OpMemberDecorate %_UniformBuffer 4 RelaxedPrecision
 | |
| OpDecorate %_UniformBuffer Block
 | |
| OpDecorate %10 Binding 0
 | |
| OpDecorate %10 DescriptorSet 0
 | |
| OpDecorate %33 RelaxedPrecision
 | |
| OpDecorate %35 RelaxedPrecision
 | |
| OpDecorate %36 RelaxedPrecision
 | |
| OpDecorate %38 RelaxedPrecision
 | |
| OpDecorate %40 RelaxedPrecision
 | |
| OpDecorate %42 RelaxedPrecision
 | |
| OpDecorate %48 RelaxedPrecision
 | |
| OpDecorate %49 RelaxedPrecision
 | |
| OpDecorate %50 RelaxedPrecision
 | |
| OpDecorate %52 RelaxedPrecision
 | |
| OpDecorate %54 RelaxedPrecision
 | |
| OpDecorate %56 RelaxedPrecision
 | |
| OpDecorate %248 RelaxedPrecision
 | |
| OpDecorate %249 RelaxedPrecision
 | |
| OpDecorate %251 RelaxedPrecision
 | |
| OpDecorate %252 RelaxedPrecision
 | |
| OpDecorate %254 RelaxedPrecision
 | |
| OpDecorate %255 RelaxedPrecision
 | |
| OpDecorate %257 RelaxedPrecision
 | |
| OpDecorate %258 RelaxedPrecision
 | |
| OpDecorate %260 RelaxedPrecision
 | |
| OpDecorate %261 RelaxedPrecision
 | |
| OpDecorate %268 RelaxedPrecision
 | |
| OpDecorate %269 RelaxedPrecision
 | |
| OpDecorate %271 RelaxedPrecision
 | |
| OpDecorate %272 RelaxedPrecision
 | |
| OpDecorate %274 RelaxedPrecision
 | |
| OpDecorate %275 RelaxedPrecision
 | |
| OpDecorate %277 RelaxedPrecision
 | |
| OpDecorate %278 RelaxedPrecision
 | |
| OpDecorate %280 RelaxedPrecision
 | |
| OpDecorate %281 RelaxedPrecision
 | |
| OpDecorate %289 RelaxedPrecision
 | |
| OpDecorate %290 RelaxedPrecision
 | |
| OpDecorate %293 RelaxedPrecision
 | |
| OpDecorate %294 RelaxedPrecision
 | |
| OpDecorate %296 RelaxedPrecision
 | |
| OpDecorate %297 RelaxedPrecision
 | |
| OpDecorate %299 RelaxedPrecision
 | |
| OpDecorate %300 RelaxedPrecision
 | |
| OpDecorate %302 RelaxedPrecision
 | |
| OpDecorate %303 RelaxedPrecision
 | |
| OpDecorate %311 RelaxedPrecision
 | |
| OpDecorate %313 RelaxedPrecision
 | |
| OpDecorate %315 RelaxedPrecision
 | |
| OpDecorate %317 RelaxedPrecision
 | |
| OpDecorate %319 RelaxedPrecision
 | |
| OpDecorate %327 RelaxedPrecision
 | |
| OpDecorate %328 RelaxedPrecision
 | |
| OpDecorate %330 RelaxedPrecision
 | |
| OpDecorate %331 RelaxedPrecision
 | |
| OpDecorate %333 RelaxedPrecision
 | |
| OpDecorate %334 RelaxedPrecision
 | |
| OpDecorate %336 RelaxedPrecision
 | |
| OpDecorate %337 RelaxedPrecision
 | |
| OpDecorate %339 RelaxedPrecision
 | |
| OpDecorate %340 RelaxedPrecision
 | |
| OpDecorate %347 RelaxedPrecision
 | |
| OpDecorate %348 RelaxedPrecision
 | |
| OpDecorate %350 RelaxedPrecision
 | |
| OpDecorate %351 RelaxedPrecision
 | |
| OpDecorate %353 RelaxedPrecision
 | |
| OpDecorate %354 RelaxedPrecision
 | |
| OpDecorate %356 RelaxedPrecision
 | |
| OpDecorate %357 RelaxedPrecision
 | |
| OpDecorate %359 RelaxedPrecision
 | |
| OpDecorate %360 RelaxedPrecision
 | |
| OpDecorate %368 RelaxedPrecision
 | |
| OpDecorate %369 RelaxedPrecision
 | |
| OpDecorate %371 RelaxedPrecision
 | |
| OpDecorate %372 RelaxedPrecision
 | |
| OpDecorate %374 RelaxedPrecision
 | |
| OpDecorate %375 RelaxedPrecision
 | |
| OpDecorate %377 RelaxedPrecision
 | |
| OpDecorate %378 RelaxedPrecision
 | |
| OpDecorate %380 RelaxedPrecision
 | |
| OpDecorate %381 RelaxedPrecision
 | |
| OpDecorate %389 RelaxedPrecision
 | |
| OpDecorate %391 RelaxedPrecision
 | |
| OpDecorate %393 RelaxedPrecision
 | |
| OpDecorate %395 RelaxedPrecision
 | |
| OpDecorate %397 RelaxedPrecision
 | |
| OpDecorate %404 RelaxedPrecision
 | |
| OpDecorate %405 RelaxedPrecision
 | |
| OpDecorate %411 RelaxedPrecision
 | |
| OpDecorate %413 RelaxedPrecision
 | |
| OpDecorate %414 RelaxedPrecision
 | |
| OpDecorate %420 RelaxedPrecision
 | |
| OpDecorate %422 RelaxedPrecision
 | |
| OpDecorate %423 RelaxedPrecision
 | |
| OpDecorate %429 RelaxedPrecision
 | |
| OpDecorate %431 RelaxedPrecision
 | |
| OpDecorate %438 RelaxedPrecision
 | |
| OpDecorate %439 RelaxedPrecision
 | |
| OpDecorate %444 RelaxedPrecision
 | |
| OpDecorate %446 RelaxedPrecision
 | |
| OpDecorate %447 RelaxedPrecision
 | |
| OpDecorate %453 RelaxedPrecision
 | |
| OpDecorate %455 RelaxedPrecision
 | |
| OpDecorate %456 RelaxedPrecision
 | |
| OpDecorate %462 RelaxedPrecision
 | |
| OpDecorate %464 RelaxedPrecision
 | |
| OpDecorate %474 RelaxedPrecision
 | |
| OpDecorate %476 RelaxedPrecision
 | |
| OpDecorate %477 RelaxedPrecision
 | |
| %float = OpTypeFloat 32
 | |
| %v4float = OpTypeVector %float 4
 | |
| %_ptr_Output_v4float = OpTypePointer Output %v4float
 | |
| %sk_FragColor = OpVariable %_ptr_Output_v4float Output
 | |
| %bool = OpTypeBool
 | |
| %_ptr_Input_bool = OpTypePointer Input %bool
 | |
| %sk_Clockwise = OpVariable %_ptr_Input_bool Input
 | |
| %_UniformBuffer = OpTypeStruct %v4float %v4float %v4float %v4float %v4float
 | |
| %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
 | |
| %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
 | |
| %void = OpTypeVoid
 | |
| %15 = OpTypeFunction %void
 | |
| %v2float = OpTypeVector %float 2
 | |
| %float_0 = OpConstant %float 0
 | |
| %19 = OpConstantComposite %v2float %float_0 %float_0
 | |
| %_ptr_Function_v2float = OpTypePointer Function %v2float
 | |
| %23 = OpTypeFunction %v4float %_ptr_Function_v2float
 | |
| %int = OpTypeInt 32 1
 | |
| %v4int = OpTypeVector %int 4
 | |
| %_ptr_Function_v4int = OpTypePointer Function %v4int
 | |
| %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
 | |
| %int_0 = OpConstant %int 0
 | |
| %float_100 = OpConstant %float 100
 | |
| %int_1 = OpConstant %int 1
 | |
| %false = OpConstantFalse %bool
 | |
| %v2int = OpTypeVector %int 2
 | |
| %v2bool = OpTypeVector %bool 2
 | |
| %81 = OpConstantComposite %v2bool %false %false
 | |
| %v3int = OpTypeVector %int 3
 | |
| %v3bool = OpTypeVector %bool 3
 | |
| %100 = OpConstantComposite %v3bool %false %false %false
 | |
| %v4bool = OpTypeVector %bool 4
 | |
| %116 = OpConstantComposite %v4bool %false %false %false %false
 | |
| %true = OpConstantTrue %bool
 | |
| %146 = OpConstantComposite %v2bool %true %true
 | |
| %163 = OpConstantComposite %v3bool %true %true %true
 | |
| %178 = OpConstantComposite %v4bool %true %true %true %true
 | |
| %int_100 = OpConstant %int 100
 | |
| %194 = OpConstantComposite %v2int %int_0 %int_100
 | |
| %202 = OpConstantComposite %v3int %int_0 %int_100 %int_0
 | |
| %210 = OpConstantComposite %v4int %int_0 %int_100 %int_0 %int_100
 | |
| %223 = OpConstantComposite %v2int %int_100 %int_0
 | |
| %231 = OpConstantComposite %v3int %int_100 %int_0 %int_0
 | |
| %239 = OpConstantComposite %v4int %int_100 %int_0 %int_0 %int_100
 | |
| %v3float = OpTypeVector %float 3
 | |
| %float_1 = OpConstant %float 1
 | |
| %411 = OpConstantComposite %v2float %float_0 %float_1
 | |
| %420 = OpConstantComposite %v3float %float_0 %float_1 %float_0
 | |
| %429 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1
 | |
| %444 = OpConstantComposite %v2float %float_1 %float_0
 | |
| %453 = OpConstantComposite %v3float %float_1 %float_0 %float_0
 | |
| %462 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
 | |
| %_ptr_Function_v4float = OpTypePointer Function %v4float
 | |
| %_entrypoint_v = OpFunction %void None %15
 | |
| %16 = OpLabel
 | |
| %20 = OpVariable %_ptr_Function_v2float Function
 | |
| OpStore %20 %19
 | |
| %22 = OpFunctionCall %v4float %main %20
 | |
| OpStore %sk_FragColor %22
 | |
| OpReturn
 | |
| OpFunctionEnd
 | |
| %main = OpFunction %v4float None %23
 | |
| %24 = OpFunctionParameter %_ptr_Function_v2float
 | |
| %25 = OpLabel
 | |
| %intGreen = OpVariable %_ptr_Function_v4int Function
 | |
| %intRed = OpVariable %_ptr_Function_v4int Function
 | |
| %468 = OpVariable %_ptr_Function_v4float Function
 | |
| %30 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %33 = OpLoad %v4float %30
 | |
| %35 = OpVectorTimesScalar %v4float %33 %float_100
 | |
| %36 = OpCompositeExtract %float %35 0
 | |
| %37 = OpConvertFToS %int %36
 | |
| %38 = OpCompositeExtract %float %35 1
 | |
| %39 = OpConvertFToS %int %38
 | |
| %40 = OpCompositeExtract %float %35 2
 | |
| %41 = OpConvertFToS %int %40
 | |
| %42 = OpCompositeExtract %float %35 3
 | |
| %43 = OpConvertFToS %int %42
 | |
| %44 = OpCompositeConstruct %v4int %37 %39 %41 %43
 | |
| OpStore %intGreen %44
 | |
| %46 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %48 = OpLoad %v4float %46
 | |
| %49 = OpVectorTimesScalar %v4float %48 %float_100
 | |
| %50 = OpCompositeExtract %float %49 0
 | |
| %51 = OpConvertFToS %int %50
 | |
| %52 = OpCompositeExtract %float %49 1
 | |
| %53 = OpConvertFToS %int %52
 | |
| %54 = OpCompositeExtract %float %49 2
 | |
| %55 = OpConvertFToS %int %54
 | |
| %56 = OpCompositeExtract %float %49 3
 | |
| %57 = OpConvertFToS %int %56
 | |
| %58 = OpCompositeConstruct %v4int %51 %53 %55 %57
 | |
| OpStore %intRed %58
 | |
| %61 = OpLoad %v4int %intGreen
 | |
| %62 = OpCompositeExtract %int %61 0
 | |
| %63 = OpLoad %v4int %intRed
 | |
| %64 = OpCompositeExtract %int %63 0
 | |
| %65 = OpLoad %v4int %intGreen
 | |
| %66 = OpCompositeExtract %int %65 0
 | |
| %67 = OpLoad %v4int %intRed
 | |
| %68 = OpCompositeExtract %int %67 0
 | |
| %60 = OpSelect %int %false %68 %66
 | |
| %69 = OpLoad %v4int %intGreen
 | |
| %70 = OpCompositeExtract %int %69 0
 | |
| %71 = OpIEqual %bool %60 %70
 | |
| OpSelectionMerge %73 None
 | |
| OpBranchConditional %71 %72 %73
 | |
| %72 = OpLabel
 | |
| %75 = OpLoad %v4int %intGreen
 | |
| %76 = OpVectorShuffle %v2int %75 %75 0 1
 | |
| %78 = OpLoad %v4int %intRed
 | |
| %79 = OpVectorShuffle %v2int %78 %78 0 1
 | |
| %82 = OpLoad %v4int %intGreen
 | |
| %83 = OpVectorShuffle %v2int %82 %82 0 1
 | |
| %84 = OpLoad %v4int %intRed
 | |
| %85 = OpVectorShuffle %v2int %84 %84 0 1
 | |
| %74 = OpSelect %v2int %81 %85 %83
 | |
| %86 = OpLoad %v4int %intGreen
 | |
| %87 = OpVectorShuffle %v2int %86 %86 0 1
 | |
| %88 = OpIEqual %v2bool %74 %87
 | |
| %89 = OpAll %bool %88
 | |
| OpBranch %73
 | |
| %73 = OpLabel
 | |
| %90 = OpPhi %bool %false %25 %89 %72
 | |
| OpSelectionMerge %92 None
 | |
| OpBranchConditional %90 %91 %92
 | |
| %91 = OpLabel
 | |
| %94 = OpLoad %v4int %intGreen
 | |
| %95 = OpVectorShuffle %v3int %94 %94 0 1 2
 | |
| %97 = OpLoad %v4int %intRed
 | |
| %98 = OpVectorShuffle %v3int %97 %97 0 1 2
 | |
| %101 = OpLoad %v4int %intGreen
 | |
| %102 = OpVectorShuffle %v3int %101 %101 0 1 2
 | |
| %103 = OpLoad %v4int %intRed
 | |
| %104 = OpVectorShuffle %v3int %103 %103 0 1 2
 | |
| %93 = OpSelect %v3int %100 %104 %102
 | |
| %105 = OpLoad %v4int %intGreen
 | |
| %106 = OpVectorShuffle %v3int %105 %105 0 1 2
 | |
| %107 = OpIEqual %v3bool %93 %106
 | |
| %108 = OpAll %bool %107
 | |
| OpBranch %92
 | |
| %92 = OpLabel
 | |
| %109 = OpPhi %bool %false %73 %108 %91
 | |
| OpSelectionMerge %111 None
 | |
| OpBranchConditional %109 %110 %111
 | |
| %110 = OpLabel
 | |
| %113 = OpLoad %v4int %intGreen
 | |
| %114 = OpLoad %v4int %intRed
 | |
| %117 = OpLoad %v4int %intGreen
 | |
| %118 = OpLoad %v4int %intRed
 | |
| %112 = OpSelect %v4int %116 %118 %117
 | |
| %119 = OpLoad %v4int %intGreen
 | |
| %120 = OpIEqual %v4bool %112 %119
 | |
| %121 = OpAll %bool %120
 | |
| OpBranch %111
 | |
| %111 = OpLabel
 | |
| %122 = OpPhi %bool %false %92 %121 %110
 | |
| OpSelectionMerge %124 None
 | |
| OpBranchConditional %122 %123 %124
 | |
| %123 = OpLabel
 | |
| %126 = OpLoad %v4int %intGreen
 | |
| %127 = OpCompositeExtract %int %126 0
 | |
| %128 = OpLoad %v4int %intRed
 | |
| %129 = OpCompositeExtract %int %128 0
 | |
| %131 = OpLoad %v4int %intGreen
 | |
| %132 = OpCompositeExtract %int %131 0
 | |
| %133 = OpLoad %v4int %intRed
 | |
| %134 = OpCompositeExtract %int %133 0
 | |
| %125 = OpSelect %int %true %134 %132
 | |
| %135 = OpLoad %v4int %intRed
 | |
| %136 = OpCompositeExtract %int %135 0
 | |
| %137 = OpIEqual %bool %125 %136
 | |
| OpBranch %124
 | |
| %124 = OpLabel
 | |
| %138 = OpPhi %bool %false %111 %137 %123
 | |
| OpSelectionMerge %140 None
 | |
| OpBranchConditional %138 %139 %140
 | |
| %139 = OpLabel
 | |
| %142 = OpLoad %v4int %intGreen
 | |
| %143 = OpVectorShuffle %v2int %142 %142 0 1
 | |
| %144 = OpLoad %v4int %intRed
 | |
| %145 = OpVectorShuffle %v2int %144 %144 0 1
 | |
| %147 = OpLoad %v4int %intGreen
 | |
| %148 = OpVectorShuffle %v2int %147 %147 0 1
 | |
| %149 = OpLoad %v4int %intRed
 | |
| %150 = OpVectorShuffle %v2int %149 %149 0 1
 | |
| %141 = OpSelect %v2int %146 %150 %148
 | |
| %151 = OpLoad %v4int %intRed
 | |
| %152 = OpVectorShuffle %v2int %151 %151 0 1
 | |
| %153 = OpIEqual %v2bool %141 %152
 | |
| %154 = OpAll %bool %153
 | |
| OpBranch %140
 | |
| %140 = OpLabel
 | |
| %155 = OpPhi %bool %false %124 %154 %139
 | |
| OpSelectionMerge %157 None
 | |
| OpBranchConditional %155 %156 %157
 | |
| %156 = OpLabel
 | |
| %159 = OpLoad %v4int %intGreen
 | |
| %160 = OpVectorShuffle %v3int %159 %159 0 1 2
 | |
| %161 = OpLoad %v4int %intRed
 | |
| %162 = OpVectorShuffle %v3int %161 %161 0 1 2
 | |
| %164 = OpLoad %v4int %intGreen
 | |
| %165 = OpVectorShuffle %v3int %164 %164 0 1 2
 | |
| %166 = OpLoad %v4int %intRed
 | |
| %167 = OpVectorShuffle %v3int %166 %166 0 1 2
 | |
| %158 = OpSelect %v3int %163 %167 %165
 | |
| %168 = OpLoad %v4int %intRed
 | |
| %169 = OpVectorShuffle %v3int %168 %168 0 1 2
 | |
| %170 = OpIEqual %v3bool %158 %169
 | |
| %171 = OpAll %bool %170
 | |
| OpBranch %157
 | |
| %157 = OpLabel
 | |
| %172 = OpPhi %bool %false %140 %171 %156
 | |
| OpSelectionMerge %174 None
 | |
| OpBranchConditional %172 %173 %174
 | |
| %173 = OpLabel
 | |
| %176 = OpLoad %v4int %intGreen
 | |
| %177 = OpLoad %v4int %intRed
 | |
| %179 = OpLoad %v4int %intGreen
 | |
| %180 = OpLoad %v4int %intRed
 | |
| %175 = OpSelect %v4int %178 %180 %179
 | |
| %181 = OpLoad %v4int %intRed
 | |
| %182 = OpIEqual %v4bool %175 %181
 | |
| %183 = OpAll %bool %182
 | |
| OpBranch %174
 | |
| %174 = OpLabel
 | |
| %184 = OpPhi %bool %false %157 %183 %173
 | |
| OpSelectionMerge %186 None
 | |
| OpBranchConditional %184 %185 %186
 | |
| %185 = OpLabel
 | |
| %187 = OpLoad %v4int %intGreen
 | |
| %188 = OpCompositeExtract %int %187 0
 | |
| %189 = OpIEqual %bool %int_0 %188
 | |
| OpBranch %186
 | |
| %186 = OpLabel
 | |
| %190 = OpPhi %bool %false %174 %189 %185
 | |
| OpSelectionMerge %192 None
 | |
| OpBranchConditional %190 %191 %192
 | |
| %191 = OpLabel
 | |
| %195 = OpLoad %v4int %intGreen
 | |
| %196 = OpVectorShuffle %v2int %195 %195 0 1
 | |
| %197 = OpIEqual %v2bool %194 %196
 | |
| %198 = OpAll %bool %197
 | |
| OpBranch %192
 | |
| %192 = OpLabel
 | |
| %199 = OpPhi %bool %false %186 %198 %191
 | |
| OpSelectionMerge %201 None
 | |
| OpBranchConditional %199 %200 %201
 | |
| %200 = OpLabel
 | |
| %203 = OpLoad %v4int %intGreen
 | |
| %204 = OpVectorShuffle %v3int %203 %203 0 1 2
 | |
| %205 = OpIEqual %v3bool %202 %204
 | |
| %206 = OpAll %bool %205
 | |
| OpBranch %201
 | |
| %201 = OpLabel
 | |
| %207 = OpPhi %bool %false %192 %206 %200
 | |
| OpSelectionMerge %209 None
 | |
| OpBranchConditional %207 %208 %209
 | |
| %208 = OpLabel
 | |
| %211 = OpLoad %v4int %intGreen
 | |
| %212 = OpIEqual %v4bool %210 %211
 | |
| %213 = OpAll %bool %212
 | |
| OpBranch %209
 | |
| %209 = OpLabel
 | |
| %214 = OpPhi %bool %false %201 %213 %208
 | |
| OpSelectionMerge %216 None
 | |
| OpBranchConditional %214 %215 %216
 | |
| %215 = OpLabel
 | |
| %217 = OpLoad %v4int %intRed
 | |
| %218 = OpCompositeExtract %int %217 0
 | |
| %219 = OpIEqual %bool %int_100 %218
 | |
| OpBranch %216
 | |
| %216 = OpLabel
 | |
| %220 = OpPhi %bool %false %209 %219 %215
 | |
| OpSelectionMerge %222 None
 | |
| OpBranchConditional %220 %221 %222
 | |
| %221 = OpLabel
 | |
| %224 = OpLoad %v4int %intRed
 | |
| %225 = OpVectorShuffle %v2int %224 %224 0 1
 | |
| %226 = OpIEqual %v2bool %223 %225
 | |
| %227 = OpAll %bool %226
 | |
| OpBranch %222
 | |
| %222 = OpLabel
 | |
| %228 = OpPhi %bool %false %216 %227 %221
 | |
| OpSelectionMerge %230 None
 | |
| OpBranchConditional %228 %229 %230
 | |
| %229 = OpLabel
 | |
| %232 = OpLoad %v4int %intRed
 | |
| %233 = OpVectorShuffle %v3int %232 %232 0 1 2
 | |
| %234 = OpIEqual %v3bool %231 %233
 | |
| %235 = OpAll %bool %234
 | |
| OpBranch %230
 | |
| %230 = OpLabel
 | |
| %236 = OpPhi %bool %false %222 %235 %229
 | |
| OpSelectionMerge %238 None
 | |
| OpBranchConditional %236 %237 %238
 | |
| %237 = OpLabel
 | |
| %240 = OpLoad %v4int %intRed
 | |
| %241 = OpIEqual %v4bool %239 %240
 | |
| %242 = OpAll %bool %241
 | |
| OpBranch %238
 | |
| %238 = OpLabel
 | |
| %243 = OpPhi %bool %false %230 %242 %237
 | |
| OpSelectionMerge %245 None
 | |
| OpBranchConditional %243 %244 %245
 | |
| %244 = OpLabel
 | |
| %247 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %248 = OpLoad %v4float %247
 | |
| %249 = OpCompositeExtract %float %248 0
 | |
| %250 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %251 = OpLoad %v4float %250
 | |
| %252 = OpCompositeExtract %float %251 0
 | |
| %253 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %254 = OpLoad %v4float %253
 | |
| %255 = OpCompositeExtract %float %254 0
 | |
| %256 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %257 = OpLoad %v4float %256
 | |
| %258 = OpCompositeExtract %float %257 0
 | |
| %246 = OpSelect %float %false %258 %255
 | |
| %259 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %260 = OpLoad %v4float %259
 | |
| %261 = OpCompositeExtract %float %260 0
 | |
| %262 = OpFOrdEqual %bool %246 %261
 | |
| OpBranch %245
 | |
| %245 = OpLabel
 | |
| %263 = OpPhi %bool %false %238 %262 %244
 | |
| OpSelectionMerge %265 None
 | |
| OpBranchConditional %263 %264 %265
 | |
| %264 = OpLabel
 | |
| %267 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %268 = OpLoad %v4float %267
 | |
| %269 = OpVectorShuffle %v2float %268 %268 0 1
 | |
| %270 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %271 = OpLoad %v4float %270
 | |
| %272 = OpVectorShuffle %v2float %271 %271 0 1
 | |
| %273 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %274 = OpLoad %v4float %273
 | |
| %275 = OpVectorShuffle %v2float %274 %274 0 1
 | |
| %276 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %277 = OpLoad %v4float %276
 | |
| %278 = OpVectorShuffle %v2float %277 %277 0 1
 | |
| %266 = OpSelect %v2float %81 %278 %275
 | |
| %279 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %280 = OpLoad %v4float %279
 | |
| %281 = OpVectorShuffle %v2float %280 %280 0 1
 | |
| %282 = OpFOrdEqual %v2bool %266 %281
 | |
| %283 = OpAll %bool %282
 | |
| OpBranch %265
 | |
| %265 = OpLabel
 | |
| %284 = OpPhi %bool %false %245 %283 %264
 | |
| OpSelectionMerge %286 None
 | |
| OpBranchConditional %284 %285 %286
 | |
| %285 = OpLabel
 | |
| %288 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %289 = OpLoad %v4float %288
 | |
| %290 = OpVectorShuffle %v3float %289 %289 0 1 2
 | |
| %292 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %293 = OpLoad %v4float %292
 | |
| %294 = OpVectorShuffle %v3float %293 %293 0 1 2
 | |
| %295 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %296 = OpLoad %v4float %295
 | |
| %297 = OpVectorShuffle %v3float %296 %296 0 1 2
 | |
| %298 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %299 = OpLoad %v4float %298
 | |
| %300 = OpVectorShuffle %v3float %299 %299 0 1 2
 | |
| %287 = OpSelect %v3float %100 %300 %297
 | |
| %301 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %302 = OpLoad %v4float %301
 | |
| %303 = OpVectorShuffle %v3float %302 %302 0 1 2
 | |
| %304 = OpFOrdEqual %v3bool %287 %303
 | |
| %305 = OpAll %bool %304
 | |
| OpBranch %286
 | |
| %286 = OpLabel
 | |
| %306 = OpPhi %bool %false %265 %305 %285
 | |
| OpSelectionMerge %308 None
 | |
| OpBranchConditional %306 %307 %308
 | |
| %307 = OpLabel
 | |
| %310 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %311 = OpLoad %v4float %310
 | |
| %312 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %313 = OpLoad %v4float %312
 | |
| %314 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %315 = OpLoad %v4float %314
 | |
| %316 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %317 = OpLoad %v4float %316
 | |
| %309 = OpSelect %v4float %116 %317 %315
 | |
| %318 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %319 = OpLoad %v4float %318
 | |
| %320 = OpFOrdEqual %v4bool %309 %319
 | |
| %321 = OpAll %bool %320
 | |
| OpBranch %308
 | |
| %308 = OpLabel
 | |
| %322 = OpPhi %bool %false %286 %321 %307
 | |
| OpSelectionMerge %324 None
 | |
| OpBranchConditional %322 %323 %324
 | |
| %323 = OpLabel
 | |
| %326 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %327 = OpLoad %v4float %326
 | |
| %328 = OpCompositeExtract %float %327 0
 | |
| %329 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %330 = OpLoad %v4float %329
 | |
| %331 = OpCompositeExtract %float %330 0
 | |
| %332 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %333 = OpLoad %v4float %332
 | |
| %334 = OpCompositeExtract %float %333 0
 | |
| %335 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %336 = OpLoad %v4float %335
 | |
| %337 = OpCompositeExtract %float %336 0
 | |
| %325 = OpSelect %float %true %337 %334
 | |
| %338 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %339 = OpLoad %v4float %338
 | |
| %340 = OpCompositeExtract %float %339 0
 | |
| %341 = OpFOrdEqual %bool %325 %340
 | |
| OpBranch %324
 | |
| %324 = OpLabel
 | |
| %342 = OpPhi %bool %false %308 %341 %323
 | |
| OpSelectionMerge %344 None
 | |
| OpBranchConditional %342 %343 %344
 | |
| %343 = OpLabel
 | |
| %346 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %347 = OpLoad %v4float %346
 | |
| %348 = OpVectorShuffle %v2float %347 %347 0 1
 | |
| %349 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %350 = OpLoad %v4float %349
 | |
| %351 = OpVectorShuffle %v2float %350 %350 0 1
 | |
| %352 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %353 = OpLoad %v4float %352
 | |
| %354 = OpVectorShuffle %v2float %353 %353 0 1
 | |
| %355 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %356 = OpLoad %v4float %355
 | |
| %357 = OpVectorShuffle %v2float %356 %356 0 1
 | |
| %345 = OpSelect %v2float %146 %357 %354
 | |
| %358 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %359 = OpLoad %v4float %358
 | |
| %360 = OpVectorShuffle %v2float %359 %359 0 1
 | |
| %361 = OpFOrdEqual %v2bool %345 %360
 | |
| %362 = OpAll %bool %361
 | |
| OpBranch %344
 | |
| %344 = OpLabel
 | |
| %363 = OpPhi %bool %false %324 %362 %343
 | |
| OpSelectionMerge %365 None
 | |
| OpBranchConditional %363 %364 %365
 | |
| %364 = OpLabel
 | |
| %367 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %368 = OpLoad %v4float %367
 | |
| %369 = OpVectorShuffle %v3float %368 %368 0 1 2
 | |
| %370 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %371 = OpLoad %v4float %370
 | |
| %372 = OpVectorShuffle %v3float %371 %371 0 1 2
 | |
| %373 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %374 = OpLoad %v4float %373
 | |
| %375 = OpVectorShuffle %v3float %374 %374 0 1 2
 | |
| %376 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %377 = OpLoad %v4float %376
 | |
| %378 = OpVectorShuffle %v3float %377 %377 0 1 2
 | |
| %366 = OpSelect %v3float %163 %378 %375
 | |
| %379 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %380 = OpLoad %v4float %379
 | |
| %381 = OpVectorShuffle %v3float %380 %380 0 1 2
 | |
| %382 = OpFOrdEqual %v3bool %366 %381
 | |
| %383 = OpAll %bool %382
 | |
| OpBranch %365
 | |
| %365 = OpLabel
 | |
| %384 = OpPhi %bool %false %344 %383 %364
 | |
| OpSelectionMerge %386 None
 | |
| OpBranchConditional %384 %385 %386
 | |
| %385 = OpLabel
 | |
| %388 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %389 = OpLoad %v4float %388
 | |
| %390 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %391 = OpLoad %v4float %390
 | |
| %392 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %393 = OpLoad %v4float %392
 | |
| %394 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %395 = OpLoad %v4float %394
 | |
| %387 = OpSelect %v4float %178 %395 %393
 | |
| %396 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %397 = OpLoad %v4float %396
 | |
| %398 = OpFOrdEqual %v4bool %387 %397
 | |
| %399 = OpAll %bool %398
 | |
| OpBranch %386
 | |
| %386 = OpLabel
 | |
| %400 = OpPhi %bool %false %365 %399 %385
 | |
| OpSelectionMerge %402 None
 | |
| OpBranchConditional %400 %401 %402
 | |
| %401 = OpLabel
 | |
| %403 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %404 = OpLoad %v4float %403
 | |
| %405 = OpCompositeExtract %float %404 0
 | |
| %406 = OpFOrdEqual %bool %float_0 %405
 | |
| OpBranch %402
 | |
| %402 = OpLabel
 | |
| %407 = OpPhi %bool %false %386 %406 %401
 | |
| OpSelectionMerge %409 None
 | |
| OpBranchConditional %407 %408 %409
 | |
| %408 = OpLabel
 | |
| %412 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %413 = OpLoad %v4float %412
 | |
| %414 = OpVectorShuffle %v2float %413 %413 0 1
 | |
| %415 = OpFOrdEqual %v2bool %411 %414
 | |
| %416 = OpAll %bool %415
 | |
| OpBranch %409
 | |
| %409 = OpLabel
 | |
| %417 = OpPhi %bool %false %402 %416 %408
 | |
| OpSelectionMerge %419 None
 | |
| OpBranchConditional %417 %418 %419
 | |
| %418 = OpLabel
 | |
| %421 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %422 = OpLoad %v4float %421
 | |
| %423 = OpVectorShuffle %v3float %422 %422 0 1 2
 | |
| %424 = OpFOrdEqual %v3bool %420 %423
 | |
| %425 = OpAll %bool %424
 | |
| OpBranch %419
 | |
| %419 = OpLabel
 | |
| %426 = OpPhi %bool %false %409 %425 %418
 | |
| OpSelectionMerge %428 None
 | |
| OpBranchConditional %426 %427 %428
 | |
| %427 = OpLabel
 | |
| %430 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %431 = OpLoad %v4float %430
 | |
| %432 = OpFOrdEqual %v4bool %429 %431
 | |
| %433 = OpAll %bool %432
 | |
| OpBranch %428
 | |
| %428 = OpLabel
 | |
| %434 = OpPhi %bool %false %419 %433 %427
 | |
| OpSelectionMerge %436 None
 | |
| OpBranchConditional %434 %435 %436
 | |
| %435 = OpLabel
 | |
| %437 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %438 = OpLoad %v4float %437
 | |
| %439 = OpCompositeExtract %float %438 0
 | |
| %440 = OpFOrdEqual %bool %float_1 %439
 | |
| OpBranch %436
 | |
| %436 = OpLabel
 | |
| %441 = OpPhi %bool %false %428 %440 %435
 | |
| OpSelectionMerge %443 None
 | |
| OpBranchConditional %441 %442 %443
 | |
| %442 = OpLabel
 | |
| %445 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %446 = OpLoad %v4float %445
 | |
| %447 = OpVectorShuffle %v2float %446 %446 0 1
 | |
| %448 = OpFOrdEqual %v2bool %444 %447
 | |
| %449 = OpAll %bool %448
 | |
| OpBranch %443
 | |
| %443 = OpLabel
 | |
| %450 = OpPhi %bool %false %436 %449 %442
 | |
| OpSelectionMerge %452 None
 | |
| OpBranchConditional %450 %451 %452
 | |
| %451 = OpLabel
 | |
| %454 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %455 = OpLoad %v4float %454
 | |
| %456 = OpVectorShuffle %v3float %455 %455 0 1 2
 | |
| %457 = OpFOrdEqual %v3bool %453 %456
 | |
| %458 = OpAll %bool %457
 | |
| OpBranch %452
 | |
| %452 = OpLabel
 | |
| %459 = OpPhi %bool %false %443 %458 %451
 | |
| OpSelectionMerge %461 None
 | |
| OpBranchConditional %459 %460 %461
 | |
| %460 = OpLabel
 | |
| %463 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %464 = OpLoad %v4float %463
 | |
| %465 = OpFOrdEqual %v4bool %462 %464
 | |
| %466 = OpAll %bool %465
 | |
| OpBranch %461
 | |
| %461 = OpLabel
 | |
| %467 = OpPhi %bool %false %452 %466 %460
 | |
| OpSelectionMerge %472 None
 | |
| OpBranchConditional %467 %470 %471
 | |
| %470 = OpLabel
 | |
| %473 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
 | |
| %474 = OpLoad %v4float %473
 | |
| OpStore %468 %474
 | |
| OpBranch %472
 | |
| %471 = OpLabel
 | |
| %475 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
 | |
| %476 = OpLoad %v4float %475
 | |
| OpStore %468 %476
 | |
| OpBranch %472
 | |
| %472 = OpLabel
 | |
| %477 = OpLoad %v4float %468
 | |
| OpReturnValue %477
 | |
| OpFunctionEnd
 |