1921 lines
71 KiB
Plaintext
1921 lines
71 KiB
Plaintext
; SPIR-V
|
|
; Version: 1.3
|
|
; Generator: Google Tint Compiler; 0
|
|
; Bound: 1006
|
|
; Schema: 0
|
|
OpCapability Shader
|
|
OpMemoryModel Logical GLSL450
|
|
OpEntryPoint Fragment %main "main" %gl_FragCoord_param_1 %x_GLF_color_1_1
|
|
OpExecutionMode %main OriginUpperLeft
|
|
OpName %gl_FragCoord_param_1 "gl_FragCoord_param_1"
|
|
OpName %x_GLF_color_1_1 "x_GLF_color_1_1"
|
|
OpName %buf0 "buf0"
|
|
OpMemberName %buf0 0 "injectionSwitch"
|
|
OpName %x_8 "x_8"
|
|
OpName %gl_FragCoord "gl_FragCoord"
|
|
OpName %x_GLF_color "x_GLF_color"
|
|
OpName %main_1 "main_1"
|
|
OpName %BST "BST"
|
|
OpMemberName %BST 0 "data"
|
|
OpMemberName %BST 1 "leftIndex"
|
|
OpMemberName %BST 2 "rightIndex"
|
|
OpName %tree "tree"
|
|
OpName %x_67 "x_67"
|
|
OpName %x_114 "x_114"
|
|
OpName %x_572 "x_572"
|
|
OpName %x_67_phi "x_67_phi"
|
|
OpName %x_70_phi "x_70_phi"
|
|
OpName %x_116_phi "x_116_phi"
|
|
OpName %x_119_phi "x_119_phi"
|
|
OpName %x_569_phi "x_569_phi"
|
|
OpName %x_572_phi "x_572_phi"
|
|
OpName %x_574_phi "x_574_phi"
|
|
OpName %x_95 "x_95"
|
|
OpName %x_87 "x_87"
|
|
OpName %x_68 "x_68"
|
|
OpName %x_71 "x_71"
|
|
OpName %x_68_phi "x_68_phi"
|
|
OpName %x_71_phi "x_71_phi"
|
|
OpName %x_114_phi "x_114_phi"
|
|
OpName %x_133 "x_133"
|
|
OpName %x_120 "x_120"
|
|
OpName %x_134_phi "x_134_phi"
|
|
OpName %x_139 "x_139"
|
|
OpName %x_186 "x_186"
|
|
OpName %x_139_phi "x_139_phi"
|
|
OpName %x_142_phi "x_142_phi"
|
|
OpName %x_188_phi "x_188_phi"
|
|
OpName %x_167 "x_167"
|
|
OpName %x_159 "x_159"
|
|
OpName %x_140 "x_140"
|
|
OpName %x_143 "x_143"
|
|
OpName %x_140_phi "x_140_phi"
|
|
OpName %x_143_phi "x_143_phi"
|
|
OpName %x_186_phi "x_186_phi"
|
|
OpName %x_193 "x_193"
|
|
OpName %x_240 "x_240"
|
|
OpName %x_193_phi "x_193_phi"
|
|
OpName %x_196_phi "x_196_phi"
|
|
OpName %x_242_phi "x_242_phi"
|
|
OpName %x_221 "x_221"
|
|
OpName %x_213 "x_213"
|
|
OpName %x_194 "x_194"
|
|
OpName %x_197 "x_197"
|
|
OpName %x_194_phi "x_194_phi"
|
|
OpName %x_197_phi "x_197_phi"
|
|
OpName %x_240_phi "x_240_phi"
|
|
OpName %x_247 "x_247"
|
|
OpName %x_294 "x_294"
|
|
OpName %x_247_phi "x_247_phi"
|
|
OpName %x_250_phi "x_250_phi"
|
|
OpName %x_296_phi "x_296_phi"
|
|
OpName %x_275 "x_275"
|
|
OpName %x_267 "x_267"
|
|
OpName %x_248 "x_248"
|
|
OpName %x_251 "x_251"
|
|
OpName %x_248_phi "x_248_phi"
|
|
OpName %x_251_phi "x_251_phi"
|
|
OpName %x_294_phi "x_294_phi"
|
|
OpName %x_301 "x_301"
|
|
OpName %x_348 "x_348"
|
|
OpName %x_301_phi "x_301_phi"
|
|
OpName %x_304_phi "x_304_phi"
|
|
OpName %x_350_phi "x_350_phi"
|
|
OpName %x_329 "x_329"
|
|
OpName %x_321 "x_321"
|
|
OpName %x_302 "x_302"
|
|
OpName %x_305 "x_305"
|
|
OpName %x_302_phi "x_302_phi"
|
|
OpName %x_305_phi "x_305_phi"
|
|
OpName %x_348_phi "x_348_phi"
|
|
OpName %x_355 "x_355"
|
|
OpName %x_402 "x_402"
|
|
OpName %x_355_phi "x_355_phi"
|
|
OpName %x_358_phi "x_358_phi"
|
|
OpName %x_404_phi "x_404_phi"
|
|
OpName %x_383 "x_383"
|
|
OpName %x_375 "x_375"
|
|
OpName %x_356 "x_356"
|
|
OpName %x_359 "x_359"
|
|
OpName %x_356_phi "x_356_phi"
|
|
OpName %x_359_phi "x_359_phi"
|
|
OpName %x_402_phi "x_402_phi"
|
|
OpName %x_409 "x_409"
|
|
OpName %x_456 "x_456"
|
|
OpName %x_409_phi "x_409_phi"
|
|
OpName %x_412_phi "x_412_phi"
|
|
OpName %x_458_phi "x_458_phi"
|
|
OpName %x_437 "x_437"
|
|
OpName %x_429 "x_429"
|
|
OpName %x_410 "x_410"
|
|
OpName %x_413 "x_413"
|
|
OpName %x_410_phi "x_410_phi"
|
|
OpName %x_413_phi "x_413_phi"
|
|
OpName %x_456_phi "x_456_phi"
|
|
OpName %x_463 "x_463"
|
|
OpName %x_510 "x_510"
|
|
OpName %x_463_phi "x_463_phi"
|
|
OpName %x_466_phi "x_466_phi"
|
|
OpName %x_512_phi "x_512_phi"
|
|
OpName %x_491 "x_491"
|
|
OpName %x_483 "x_483"
|
|
OpName %x_464 "x_464"
|
|
OpName %x_467 "x_467"
|
|
OpName %x_464_phi "x_464_phi"
|
|
OpName %x_467_phi "x_467_phi"
|
|
OpName %x_510_phi "x_510_phi"
|
|
OpName %x_517 "x_517"
|
|
OpName %x_564 "x_564"
|
|
OpName %x_517_phi "x_517_phi"
|
|
OpName %x_520_phi "x_520_phi"
|
|
OpName %x_566_phi "x_566_phi"
|
|
OpName %x_545 "x_545"
|
|
OpName %x_537 "x_537"
|
|
OpName %x_518 "x_518"
|
|
OpName %x_521 "x_521"
|
|
OpName %x_518_phi "x_518_phi"
|
|
OpName %x_521_phi "x_521_phi"
|
|
OpName %x_564_phi "x_564_phi"
|
|
OpName %x_597 "x_597"
|
|
OpName %x_607 "x_607"
|
|
OpName %x_612 "x_612"
|
|
OpName %x_575 "x_575"
|
|
OpName %x_570_phi "x_570_phi"
|
|
OpName %x_573_phi "x_573_phi"
|
|
OpName %x_582_phi "x_582_phi"
|
|
OpName %x_597_phi "x_597_phi"
|
|
OpName %x_598_phi "x_598_phi"
|
|
OpName %x_570 "x_570"
|
|
OpName %x_606 "x_606"
|
|
OpName %x_611 "x_611"
|
|
OpName %x_607_phi "x_607_phi"
|
|
OpName %x_612_phi "x_612_phi"
|
|
OpName %main_out "main_out"
|
|
OpMemberName %main_out 0 "x_GLF_color_1"
|
|
OpName %main_inner "main_inner"
|
|
OpName %gl_FragCoord_param "gl_FragCoord_param"
|
|
OpName %main "main"
|
|
OpDecorate %gl_FragCoord_param_1 BuiltIn FragCoord
|
|
OpDecorate %x_GLF_color_1_1 Location 0
|
|
OpDecorate %buf0 Block
|
|
OpMemberDecorate %buf0 0 Offset 0
|
|
OpDecorate %x_8 NonWritable
|
|
OpDecorate %x_8 DescriptorSet 0
|
|
OpDecorate %x_8 Binding 0
|
|
OpMemberDecorate %BST 0 Offset 0
|
|
OpMemberDecorate %BST 1 Offset 4
|
|
OpMemberDecorate %BST 2 Offset 8
|
|
OpDecorate %_arr_BST_uint_10 ArrayStride 12
|
|
OpMemberDecorate %main_out 0 Offset 0
|
|
%float = OpTypeFloat 32
|
|
%v4float = OpTypeVector %float 4
|
|
%_ptr_Input_v4float = OpTypePointer Input %v4float
|
|
%gl_FragCoord_param_1 = OpVariable %_ptr_Input_v4float Input
|
|
%_ptr_Output_v4float = OpTypePointer Output %v4float
|
|
%7 = OpConstantNull %v4float
|
|
%x_GLF_color_1_1 = OpVariable %_ptr_Output_v4float Output %7
|
|
%v2float = OpTypeVector %float 2
|
|
%buf0 = OpTypeStruct %v2float
|
|
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
|
|
%x_8 = OpVariable %_ptr_Uniform_buf0 Uniform
|
|
%_ptr_Private_v4float = OpTypePointer Private %v4float
|
|
%gl_FragCoord = OpVariable %_ptr_Private_v4float Private %7
|
|
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %7
|
|
%void = OpTypeVoid
|
|
%15 = OpTypeFunction %void
|
|
%int = OpTypeInt 32 1
|
|
%BST = OpTypeStruct %int %int %int
|
|
%uint = OpTypeInt 32 0
|
|
%uint_10 = OpConstant %uint 10
|
|
%_arr_BST_uint_10 = OpTypeArray %BST %uint_10
|
|
%_ptr_Function__arr_BST_uint_10 = OpTypePointer Function %_arr_BST_uint_10
|
|
%26 = OpConstantNull %_arr_BST_uint_10
|
|
%bool = OpTypeBool
|
|
%_ptr_Function_bool = OpTypePointer Function %bool
|
|
%30 = OpConstantNull %bool
|
|
%_ptr_Function_int = OpTypePointer Function %int
|
|
%34 = OpConstantNull %int
|
|
%int_0 = OpConstant %int 0
|
|
%_ptr_Function_BST = OpTypePointer Function %BST
|
|
%int_9 = OpConstant %int 9
|
|
%int_n1 = OpConstant %int -1
|
|
%47 = OpConstantComposite %BST %int_9 %int_n1 %int_n1
|
|
%uint_0 = OpConstant %uint 0
|
|
%false = OpConstantFalse %bool
|
|
%int_1 = OpConstant %int 1
|
|
%int_5 = OpConstant %int 5
|
|
%uint_1 = OpConstant %uint 1
|
|
%_ptr_Uniform_float = OpTypePointer Uniform %float
|
|
%99 = OpConstantComposite %BST %int_5 %int_n1 %int_n1
|
|
%true = OpConstantTrue %bool
|
|
%uint_2 = OpConstant %uint 2
|
|
%_ptr_Private_float = OpTypePointer Private %float
|
|
%float_0 = OpConstant %float 0
|
|
%int_2 = OpConstant %int 2
|
|
%int_12 = OpConstant %int 12
|
|
%218 = OpConstantComposite %BST %int_12 %int_n1 %int_n1
|
|
%int_3 = OpConstant %int 3
|
|
%int_15 = OpConstant %int 15
|
|
%312 = OpConstantComposite %BST %int_15 %int_n1 %int_n1
|
|
%int_4 = OpConstant %int 4
|
|
%int_7 = OpConstant %int 7
|
|
%404 = OpConstantComposite %BST %int_7 %int_n1 %int_n1
|
|
%int_8 = OpConstant %int 8
|
|
%495 = OpConstantComposite %BST %int_8 %int_n1 %int_n1
|
|
%int_6 = OpConstant %int 6
|
|
%586 = OpConstantComposite %BST %int_2 %int_n1 %int_n1
|
|
%676 = OpConstantComposite %BST %int_6 %int_n1 %int_n1
|
|
%int_17 = OpConstant %int 17
|
|
%767 = OpConstantComposite %BST %int_17 %int_n1 %int_n1
|
|
%int_13 = OpConstant %int 13
|
|
%858 = OpConstantComposite %BST %int_13 %int_n1 %int_n1
|
|
%int_20 = OpConstant %int 20
|
|
%float_1 = OpConstant %float 1
|
|
%991 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
|
|
%992 = OpConstantComposite %v4float %float_0 %float_0 %float_1 %float_1
|
|
%main_out = OpTypeStruct %v4float
|
|
%993 = OpTypeFunction %main_out %v4float
|
|
%main_1 = OpFunction %void None %15
|
|
%18 = OpLabel
|
|
%tree = OpVariable %_ptr_Function__arr_BST_uint_10 Function %26
|
|
%x_67 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_114 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_572 = OpVariable %_ptr_Function_int Function %34
|
|
%x_67_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_70_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_116_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_119_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_569_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_572_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_574_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_95 = OpVariable %_ptr_Function_int Function %34
|
|
%x_87 = OpVariable %_ptr_Function_int Function %34
|
|
%x_68 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_71 = OpVariable %_ptr_Function_int Function %34
|
|
%x_68_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_71_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_114_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_133 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_120 = OpVariable %_ptr_Function_int Function %34
|
|
%x_134_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_139 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_186 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_139_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_142_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_188_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_167 = OpVariable %_ptr_Function_int Function %34
|
|
%x_159 = OpVariable %_ptr_Function_int Function %34
|
|
%x_140 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_143 = OpVariable %_ptr_Function_int Function %34
|
|
%x_140_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_143_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_186_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_193 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_240 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_193_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_196_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_242_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_221 = OpVariable %_ptr_Function_int Function %34
|
|
%x_213 = OpVariable %_ptr_Function_int Function %34
|
|
%x_194 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_197 = OpVariable %_ptr_Function_int Function %34
|
|
%x_194_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_197_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_240_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_247 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_294 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_247_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_250_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_296_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_275 = OpVariable %_ptr_Function_int Function %34
|
|
%x_267 = OpVariable %_ptr_Function_int Function %34
|
|
%x_248 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_251 = OpVariable %_ptr_Function_int Function %34
|
|
%x_248_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_251_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_294_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_301 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_348 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_301_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_304_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_350_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_329 = OpVariable %_ptr_Function_int Function %34
|
|
%x_321 = OpVariable %_ptr_Function_int Function %34
|
|
%x_302 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_305 = OpVariable %_ptr_Function_int Function %34
|
|
%x_302_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_305_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_348_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_355 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_402 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_355_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_358_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_404_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_383 = OpVariable %_ptr_Function_int Function %34
|
|
%x_375 = OpVariable %_ptr_Function_int Function %34
|
|
%x_356 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_359 = OpVariable %_ptr_Function_int Function %34
|
|
%x_356_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_359_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_402_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_409 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_456 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_409_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_412_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_458_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_437 = OpVariable %_ptr_Function_int Function %34
|
|
%x_429 = OpVariable %_ptr_Function_int Function %34
|
|
%x_410 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_413 = OpVariable %_ptr_Function_int Function %34
|
|
%x_410_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_413_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_456_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_463 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_510 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_463_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_466_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_512_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_491 = OpVariable %_ptr_Function_int Function %34
|
|
%x_483 = OpVariable %_ptr_Function_int Function %34
|
|
%x_464 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_467 = OpVariable %_ptr_Function_int Function %34
|
|
%x_464_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_467_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_510_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_517 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_564 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_517_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_520_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_566_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_545 = OpVariable %_ptr_Function_int Function %34
|
|
%x_537 = OpVariable %_ptr_Function_int Function %34
|
|
%x_518 = OpVariable %_ptr_Function_bool Function %30
|
|
%x_521 = OpVariable %_ptr_Function_int Function %34
|
|
%x_518_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_521_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_564_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_597 = OpVariable %_ptr_Function_int Function %34
|
|
%x_607 = OpVariable %_ptr_Function_int Function %34
|
|
%x_612 = OpVariable %_ptr_Function_int Function %34
|
|
%x_575 = OpVariable %_ptr_Function_int Function %34
|
|
%x_570_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_573_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_582_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_597_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_598_phi = OpVariable %_ptr_Function_bool Function %30
|
|
%x_570 = OpVariable %_ptr_Function_int Function %34
|
|
%x_606 = OpVariable %_ptr_Function_int Function %34
|
|
%x_611 = OpVariable %_ptr_Function_int Function %34
|
|
%x_607_phi = OpVariable %_ptr_Function_int Function %34
|
|
%x_612_phi = OpVariable %_ptr_Function_int Function %34
|
|
%44 = OpAccessChain %_ptr_Function_BST %tree %int_0
|
|
OpStore %44 %47
|
|
OpSelectionMerge %48 None
|
|
OpSwitch %uint_0 %50
|
|
%50 = OpLabel
|
|
OpStore %x_67_phi %false
|
|
OpStore %x_70_phi %int_0
|
|
OpBranch %52
|
|
%52 = OpLabel
|
|
OpLoopMerge %53 %54 None
|
|
OpBranch %55
|
|
%55 = OpLabel
|
|
%62 = OpLoad %bool %x_67_phi
|
|
OpStore %x_67 %62
|
|
%63 = OpLoad %int %x_70_phi
|
|
%64 = OpLoad %bool %x_67
|
|
OpStore %x_116_phi %64
|
|
%66 = OpSLessThanEqual %bool %63 %int_1
|
|
OpSelectionMerge %67 None
|
|
OpBranchConditional %66 %68 %69
|
|
%68 = OpLabel
|
|
OpBranch %67
|
|
%69 = OpLabel
|
|
OpBranch %53
|
|
%67 = OpLabel
|
|
%70 = OpAccessChain %_ptr_Function_int %tree %63 %uint_0
|
|
%71 = OpLoad %int %70
|
|
%73 = OpSLessThanEqual %bool %int_5 %71
|
|
OpSelectionMerge %74 None
|
|
OpBranchConditional %73 %75 %76
|
|
%75 = OpLabel
|
|
%79 = OpAccessChain %_ptr_Function_int %tree %63 %uint_1
|
|
%80 = OpLoad %int %79
|
|
%81 = OpIEqual %bool %80 %int_n1
|
|
OpSelectionMerge %82 None
|
|
OpBranchConditional %81 %83 %84
|
|
%83 = OpLabel
|
|
%86 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
|
|
%87 = OpLoad %float %86
|
|
%88 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0
|
|
%89 = OpLoad %float %88
|
|
%90 = OpFOrdLessThan %bool %87 %89
|
|
OpSelectionMerge %91 None
|
|
OpBranchConditional %90 %92 %91
|
|
%92 = OpLabel
|
|
OpBranch %93
|
|
%93 = OpLabel
|
|
OpLoopMerge %94 %95 None
|
|
OpBranch %96
|
|
%96 = OpLabel
|
|
OpKill
|
|
%95 = OpLabel
|
|
OpBranch %93
|
|
%94 = OpLabel
|
|
OpReturn
|
|
%91 = OpLabel
|
|
%97 = OpAccessChain %_ptr_Function_int %tree %63 %uint_1
|
|
OpStore %97 %int_1
|
|
%98 = OpAccessChain %_ptr_Function_BST %tree %int_1
|
|
OpStore %98 %99
|
|
OpBranch %100
|
|
%100 = OpLabel
|
|
OpLoopMerge %101 %102 None
|
|
OpBranch %103
|
|
%103 = OpLabel
|
|
%104 = OpLoad %bool %x_67
|
|
OpStore %x_114_phi %104
|
|
%105 = OpConvertFToS %int %87
|
|
%106 = OpSLessThan %bool %int_0 %105
|
|
OpSelectionMerge %107 None
|
|
OpBranchConditional %106 %108 %109
|
|
%108 = OpLabel
|
|
OpBranch %107
|
|
%109 = OpLabel
|
|
OpBranch %101
|
|
%107 = OpLabel
|
|
OpStore %x_114_phi %true
|
|
OpBranch %101
|
|
%102 = OpLabel
|
|
OpBranch %100
|
|
%101 = OpLabel
|
|
%111 = OpLoad %bool %x_114_phi
|
|
OpStore %x_114 %111
|
|
%112 = OpLoad %bool %x_114
|
|
OpStore %x_116_phi %112
|
|
%113 = OpLoad %bool %x_114
|
|
OpSelectionMerge %114 None
|
|
OpBranchConditional %113 %115 %114
|
|
%115 = OpLabel
|
|
OpBranch %53
|
|
%114 = OpLabel
|
|
OpBranch %82
|
|
%84 = OpLabel
|
|
%116 = OpAccessChain %_ptr_Function_int %tree %63 %uint_1
|
|
%117 = OpLoad %int %116
|
|
OpStore %x_95 %117
|
|
%118 = OpLoad %bool %x_67
|
|
OpStore %x_68_phi %118
|
|
%119 = OpLoad %int %x_95
|
|
OpStore %x_71_phi %119
|
|
OpBranch %54
|
|
%82 = OpLabel
|
|
OpBranch %74
|
|
%76 = OpLabel
|
|
%121 = OpAccessChain %_ptr_Function_int %tree %63 %uint_2
|
|
%122 = OpLoad %int %121
|
|
%123 = OpIEqual %bool %122 %int_n1
|
|
OpSelectionMerge %124 None
|
|
OpBranchConditional %123 %125 %126
|
|
%125 = OpLabel
|
|
%127 = OpAccessChain %_ptr_Function_int %tree %63 %uint_2
|
|
OpStore %127 %int_1
|
|
%128 = OpAccessChain %_ptr_Function_BST %tree %int_1
|
|
OpStore %128 %99
|
|
OpStore %x_116_phi %true
|
|
OpBranch %53
|
|
%126 = OpLabel
|
|
%129 = OpAccessChain %_ptr_Function_int %tree %63 %uint_2
|
|
%130 = OpLoad %int %129
|
|
OpStore %x_87 %130
|
|
%131 = OpLoad %bool %x_67
|
|
OpStore %x_68_phi %131
|
|
%132 = OpLoad %int %x_87
|
|
OpStore %x_71_phi %132
|
|
OpBranch %54
|
|
%124 = OpLabel
|
|
OpReturn
|
|
%74 = OpLabel
|
|
%133 = OpLoad %bool %x_114
|
|
OpStore %x_68_phi %133
|
|
OpStore %x_71_phi %63
|
|
OpBranch %54
|
|
%54 = OpLabel
|
|
%134 = OpLoad %bool %x_68_phi
|
|
OpStore %x_68 %134
|
|
%135 = OpLoad %int %x_71_phi
|
|
OpStore %x_71 %135
|
|
%136 = OpLoad %bool %x_68
|
|
OpStore %x_67_phi %136
|
|
%137 = OpLoad %int %x_71
|
|
OpStore %x_70_phi %137
|
|
OpBranch %52
|
|
%53 = OpLabel
|
|
%138 = OpLoad %bool %x_116_phi
|
|
OpSelectionMerge %139 None
|
|
OpBranchConditional %138 %140 %139
|
|
%140 = OpLabel
|
|
OpBranch %48
|
|
%139 = OpLabel
|
|
OpBranch %48
|
|
%48 = OpLabel
|
|
OpStore %x_119_phi %int_0
|
|
OpBranch %141
|
|
%141 = OpLabel
|
|
OpLoopMerge %142 %143 None
|
|
OpBranch %144
|
|
%144 = OpLabel
|
|
%148 = OpLoad %int %x_119_phi
|
|
%150 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
|
|
%151 = OpLoad %float %150
|
|
%153 = OpFOrdLessThan %bool %151 %float_0
|
|
OpStore %x_134_phi %153
|
|
%154 = OpLogicalNot %bool %153
|
|
OpSelectionMerge %155 None
|
|
OpBranchConditional %154 %156 %155
|
|
%156 = OpLabel
|
|
%157 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
|
|
%158 = OpLoad %float %157
|
|
%159 = OpConvertFToS %int %158
|
|
%160 = OpINotEqual %bool %148 %159
|
|
OpStore %x_133 %160
|
|
%161 = OpLoad %bool %x_133
|
|
OpStore %x_134_phi %161
|
|
OpBranch %155
|
|
%155 = OpLabel
|
|
%162 = OpLoad %bool %x_134_phi
|
|
OpSelectionMerge %163 None
|
|
OpBranchConditional %162 %164 %165
|
|
%164 = OpLabel
|
|
OpBranch %163
|
|
%165 = OpLabel
|
|
OpBranch %142
|
|
%163 = OpLabel
|
|
OpSelectionMerge %171 None
|
|
OpSwitch %uint_0 %172
|
|
%172 = OpLabel
|
|
OpStore %x_139_phi %false
|
|
OpStore %x_142_phi %int_0
|
|
OpBranch %173
|
|
%173 = OpLabel
|
|
OpLoopMerge %174 %175 None
|
|
OpBranch %176
|
|
%176 = OpLabel
|
|
%183 = OpLoad %bool %x_139_phi
|
|
OpStore %x_139 %183
|
|
%184 = OpLoad %int %x_142_phi
|
|
%185 = OpLoad %bool %x_139
|
|
OpStore %x_188_phi %185
|
|
%187 = OpSLessThanEqual %bool %184 %int_2
|
|
OpSelectionMerge %188 None
|
|
OpBranchConditional %187 %189 %190
|
|
%189 = OpLabel
|
|
OpBranch %188
|
|
%190 = OpLabel
|
|
OpBranch %174
|
|
%188 = OpLabel
|
|
%191 = OpAccessChain %_ptr_Function_int %tree %184 %uint_0
|
|
%192 = OpLoad %int %191
|
|
%194 = OpSLessThanEqual %bool %int_12 %192
|
|
OpSelectionMerge %195 None
|
|
OpBranchConditional %194 %196 %197
|
|
%196 = OpLabel
|
|
%199 = OpAccessChain %_ptr_Function_int %tree %184 %uint_1
|
|
%200 = OpLoad %int %199
|
|
%201 = OpIEqual %bool %200 %int_n1
|
|
OpSelectionMerge %202 None
|
|
OpBranchConditional %201 %203 %204
|
|
%203 = OpLabel
|
|
%205 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
|
|
%206 = OpLoad %float %205
|
|
%207 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0
|
|
%208 = OpLoad %float %207
|
|
%209 = OpFOrdLessThan %bool %206 %208
|
|
OpSelectionMerge %210 None
|
|
OpBranchConditional %209 %211 %210
|
|
%211 = OpLabel
|
|
OpBranch %212
|
|
%212 = OpLabel
|
|
OpLoopMerge %213 %214 None
|
|
OpBranch %215
|
|
%215 = OpLabel
|
|
OpKill
|
|
%214 = OpLabel
|
|
OpBranch %212
|
|
%213 = OpLabel
|
|
OpReturn
|
|
%210 = OpLabel
|
|
%216 = OpAccessChain %_ptr_Function_int %tree %184 %uint_1
|
|
OpStore %216 %int_2
|
|
%217 = OpAccessChain %_ptr_Function_BST %tree %int_2
|
|
OpStore %217 %218
|
|
OpBranch %219
|
|
%219 = OpLabel
|
|
OpLoopMerge %220 %221 None
|
|
OpBranch %222
|
|
%222 = OpLabel
|
|
%223 = OpLoad %bool %x_139
|
|
OpStore %x_186_phi %223
|
|
%224 = OpConvertFToS %int %206
|
|
%225 = OpSLessThan %bool %int_0 %224
|
|
OpSelectionMerge %226 None
|
|
OpBranchConditional %225 %227 %228
|
|
%227 = OpLabel
|
|
OpBranch %226
|
|
%228 = OpLabel
|
|
OpBranch %220
|
|
%226 = OpLabel
|
|
OpStore %x_186_phi %true
|
|
OpBranch %220
|
|
%221 = OpLabel
|
|
OpBranch %219
|
|
%220 = OpLabel
|
|
%229 = OpLoad %bool %x_186_phi
|
|
OpStore %x_186 %229
|
|
%230 = OpLoad %bool %x_186
|
|
OpStore %x_188_phi %230
|
|
%231 = OpLoad %bool %x_186
|
|
OpSelectionMerge %232 None
|
|
OpBranchConditional %231 %233 %232
|
|
%233 = OpLabel
|
|
OpBranch %174
|
|
%232 = OpLabel
|
|
OpBranch %202
|
|
%204 = OpLabel
|
|
%234 = OpAccessChain %_ptr_Function_int %tree %184 %uint_1
|
|
%235 = OpLoad %int %234
|
|
OpStore %x_167 %235
|
|
%236 = OpLoad %bool %x_139
|
|
OpStore %x_140_phi %236
|
|
%237 = OpLoad %int %x_167
|
|
OpStore %x_143_phi %237
|
|
OpBranch %175
|
|
%202 = OpLabel
|
|
OpBranch %195
|
|
%197 = OpLabel
|
|
%238 = OpAccessChain %_ptr_Function_int %tree %184 %uint_2
|
|
%239 = OpLoad %int %238
|
|
%240 = OpIEqual %bool %239 %int_n1
|
|
OpSelectionMerge %241 None
|
|
OpBranchConditional %240 %242 %243
|
|
%242 = OpLabel
|
|
%244 = OpAccessChain %_ptr_Function_int %tree %184 %uint_2
|
|
OpStore %244 %int_2
|
|
%245 = OpAccessChain %_ptr_Function_BST %tree %int_2
|
|
OpStore %245 %218
|
|
OpStore %x_188_phi %true
|
|
OpBranch %174
|
|
%243 = OpLabel
|
|
%246 = OpAccessChain %_ptr_Function_int %tree %184 %uint_2
|
|
%247 = OpLoad %int %246
|
|
OpStore %x_159 %247
|
|
%248 = OpLoad %bool %x_139
|
|
OpStore %x_140_phi %248
|
|
%249 = OpLoad %int %x_159
|
|
OpStore %x_143_phi %249
|
|
OpBranch %175
|
|
%241 = OpLabel
|
|
OpReturn
|
|
%195 = OpLabel
|
|
%250 = OpLoad %bool %x_186
|
|
OpStore %x_140_phi %250
|
|
OpStore %x_143_phi %184
|
|
OpBranch %175
|
|
%175 = OpLabel
|
|
%251 = OpLoad %bool %x_140_phi
|
|
OpStore %x_140 %251
|
|
%252 = OpLoad %int %x_143_phi
|
|
OpStore %x_143 %252
|
|
%253 = OpLoad %bool %x_140
|
|
OpStore %x_139_phi %253
|
|
%254 = OpLoad %int %x_143
|
|
OpStore %x_142_phi %254
|
|
OpBranch %173
|
|
%174 = OpLabel
|
|
%255 = OpLoad %bool %x_188_phi
|
|
OpSelectionMerge %256 None
|
|
OpBranchConditional %255 %257 %256
|
|
%257 = OpLabel
|
|
OpBranch %171
|
|
%256 = OpLabel
|
|
OpBranch %171
|
|
%171 = OpLabel
|
|
OpBranch %143
|
|
%143 = OpLabel
|
|
%258 = OpIAdd %int %148 %int_1
|
|
OpStore %x_120 %258
|
|
%259 = OpLoad %int %x_120
|
|
OpStore %x_119_phi %259
|
|
OpBranch %141
|
|
%142 = OpLabel
|
|
OpSelectionMerge %265 None
|
|
OpSwitch %uint_0 %266
|
|
%266 = OpLabel
|
|
OpStore %x_193_phi %false
|
|
OpStore %x_196_phi %int_0
|
|
OpBranch %267
|
|
%267 = OpLabel
|
|
OpLoopMerge %268 %269 None
|
|
OpBranch %270
|
|
%270 = OpLabel
|
|
%277 = OpLoad %bool %x_193_phi
|
|
OpStore %x_193 %277
|
|
%278 = OpLoad %int %x_196_phi
|
|
%279 = OpLoad %bool %x_193
|
|
OpStore %x_242_phi %279
|
|
%281 = OpSLessThanEqual %bool %278 %int_3
|
|
OpSelectionMerge %282 None
|
|
OpBranchConditional %281 %283 %284
|
|
%283 = OpLabel
|
|
OpBranch %282
|
|
%284 = OpLabel
|
|
OpBranch %268
|
|
%282 = OpLabel
|
|
%285 = OpAccessChain %_ptr_Function_int %tree %278 %uint_0
|
|
%286 = OpLoad %int %285
|
|
%288 = OpSLessThanEqual %bool %int_15 %286
|
|
OpSelectionMerge %289 None
|
|
OpBranchConditional %288 %290 %291
|
|
%290 = OpLabel
|
|
%293 = OpAccessChain %_ptr_Function_int %tree %278 %uint_1
|
|
%294 = OpLoad %int %293
|
|
%295 = OpIEqual %bool %294 %int_n1
|
|
OpSelectionMerge %296 None
|
|
OpBranchConditional %295 %297 %298
|
|
%297 = OpLabel
|
|
%299 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
|
|
%300 = OpLoad %float %299
|
|
%301 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0
|
|
%302 = OpLoad %float %301
|
|
%303 = OpFOrdLessThan %bool %300 %302
|
|
OpSelectionMerge %304 None
|
|
OpBranchConditional %303 %305 %304
|
|
%305 = OpLabel
|
|
OpBranch %306
|
|
%306 = OpLabel
|
|
OpLoopMerge %307 %308 None
|
|
OpBranch %309
|
|
%309 = OpLabel
|
|
OpKill
|
|
%308 = OpLabel
|
|
OpBranch %306
|
|
%307 = OpLabel
|
|
OpReturn
|
|
%304 = OpLabel
|
|
%310 = OpAccessChain %_ptr_Function_int %tree %278 %uint_1
|
|
OpStore %310 %int_3
|
|
%311 = OpAccessChain %_ptr_Function_BST %tree %int_3
|
|
OpStore %311 %312
|
|
OpBranch %313
|
|
%313 = OpLabel
|
|
OpLoopMerge %314 %315 None
|
|
OpBranch %316
|
|
%316 = OpLabel
|
|
%317 = OpLoad %bool %x_193
|
|
OpStore %x_240_phi %317
|
|
%318 = OpConvertFToS %int %300
|
|
%319 = OpSLessThan %bool %int_0 %318
|
|
OpSelectionMerge %320 None
|
|
OpBranchConditional %319 %321 %322
|
|
%321 = OpLabel
|
|
OpBranch %320
|
|
%322 = OpLabel
|
|
OpBranch %314
|
|
%320 = OpLabel
|
|
OpStore %x_240_phi %true
|
|
OpBranch %314
|
|
%315 = OpLabel
|
|
OpBranch %313
|
|
%314 = OpLabel
|
|
%323 = OpLoad %bool %x_240_phi
|
|
OpStore %x_240 %323
|
|
%324 = OpLoad %bool %x_240
|
|
OpStore %x_242_phi %324
|
|
%325 = OpLoad %bool %x_240
|
|
OpSelectionMerge %326 None
|
|
OpBranchConditional %325 %327 %326
|
|
%327 = OpLabel
|
|
OpBranch %268
|
|
%326 = OpLabel
|
|
OpBranch %296
|
|
%298 = OpLabel
|
|
%328 = OpAccessChain %_ptr_Function_int %tree %278 %uint_1
|
|
%329 = OpLoad %int %328
|
|
OpStore %x_221 %329
|
|
%330 = OpLoad %bool %x_193
|
|
OpStore %x_194_phi %330
|
|
%331 = OpLoad %int %x_221
|
|
OpStore %x_197_phi %331
|
|
OpBranch %269
|
|
%296 = OpLabel
|
|
OpBranch %289
|
|
%291 = OpLabel
|
|
%332 = OpAccessChain %_ptr_Function_int %tree %278 %uint_2
|
|
%333 = OpLoad %int %332
|
|
%334 = OpIEqual %bool %333 %int_n1
|
|
OpSelectionMerge %335 None
|
|
OpBranchConditional %334 %336 %337
|
|
%336 = OpLabel
|
|
%338 = OpAccessChain %_ptr_Function_int %tree %278 %uint_2
|
|
OpStore %338 %int_3
|
|
%339 = OpAccessChain %_ptr_Function_BST %tree %int_3
|
|
OpStore %339 %312
|
|
OpStore %x_242_phi %true
|
|
OpBranch %268
|
|
%337 = OpLabel
|
|
%340 = OpAccessChain %_ptr_Function_int %tree %278 %uint_2
|
|
%341 = OpLoad %int %340
|
|
OpStore %x_213 %341
|
|
%342 = OpLoad %bool %x_193
|
|
OpStore %x_194_phi %342
|
|
%343 = OpLoad %int %x_213
|
|
OpStore %x_197_phi %343
|
|
OpBranch %269
|
|
%335 = OpLabel
|
|
OpReturn
|
|
%289 = OpLabel
|
|
%344 = OpLoad %bool %x_240
|
|
OpStore %x_194_phi %344
|
|
OpStore %x_197_phi %278
|
|
OpBranch %269
|
|
%269 = OpLabel
|
|
%345 = OpLoad %bool %x_194_phi
|
|
OpStore %x_194 %345
|
|
%346 = OpLoad %int %x_197_phi
|
|
OpStore %x_197 %346
|
|
%347 = OpLoad %bool %x_194
|
|
OpStore %x_193_phi %347
|
|
%348 = OpLoad %int %x_197
|
|
OpStore %x_196_phi %348
|
|
OpBranch %267
|
|
%268 = OpLabel
|
|
%349 = OpLoad %bool %x_242_phi
|
|
OpSelectionMerge %350 None
|
|
OpBranchConditional %349 %351 %350
|
|
%351 = OpLabel
|
|
OpBranch %265
|
|
%350 = OpLabel
|
|
OpBranch %265
|
|
%265 = OpLabel
|
|
OpSelectionMerge %357 None
|
|
OpSwitch %uint_0 %358
|
|
%358 = OpLabel
|
|
OpStore %x_247_phi %false
|
|
OpStore %x_250_phi %int_0
|
|
OpBranch %359
|
|
%359 = OpLabel
|
|
OpLoopMerge %360 %361 None
|
|
OpBranch %362
|
|
%362 = OpLabel
|
|
%369 = OpLoad %bool %x_247_phi
|
|
OpStore %x_247 %369
|
|
%370 = OpLoad %int %x_250_phi
|
|
%371 = OpLoad %bool %x_247
|
|
OpStore %x_296_phi %371
|
|
%373 = OpSLessThanEqual %bool %370 %int_4
|
|
OpSelectionMerge %374 None
|
|
OpBranchConditional %373 %375 %376
|
|
%375 = OpLabel
|
|
OpBranch %374
|
|
%376 = OpLabel
|
|
OpBranch %360
|
|
%374 = OpLabel
|
|
%377 = OpAccessChain %_ptr_Function_int %tree %370 %uint_0
|
|
%378 = OpLoad %int %377
|
|
%380 = OpSLessThanEqual %bool %int_7 %378
|
|
OpSelectionMerge %381 None
|
|
OpBranchConditional %380 %382 %383
|
|
%382 = OpLabel
|
|
%385 = OpAccessChain %_ptr_Function_int %tree %370 %uint_1
|
|
%386 = OpLoad %int %385
|
|
%387 = OpIEqual %bool %386 %int_n1
|
|
OpSelectionMerge %388 None
|
|
OpBranchConditional %387 %389 %390
|
|
%389 = OpLabel
|
|
%391 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
|
|
%392 = OpLoad %float %391
|
|
%393 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0
|
|
%394 = OpLoad %float %393
|
|
%395 = OpFOrdLessThan %bool %392 %394
|
|
OpSelectionMerge %396 None
|
|
OpBranchConditional %395 %397 %396
|
|
%397 = OpLabel
|
|
OpBranch %398
|
|
%398 = OpLabel
|
|
OpLoopMerge %399 %400 None
|
|
OpBranch %401
|
|
%401 = OpLabel
|
|
OpKill
|
|
%400 = OpLabel
|
|
OpBranch %398
|
|
%399 = OpLabel
|
|
OpReturn
|
|
%396 = OpLabel
|
|
%402 = OpAccessChain %_ptr_Function_int %tree %370 %uint_1
|
|
OpStore %402 %int_4
|
|
%403 = OpAccessChain %_ptr_Function_BST %tree %int_4
|
|
OpStore %403 %404
|
|
OpBranch %405
|
|
%405 = OpLabel
|
|
OpLoopMerge %406 %407 None
|
|
OpBranch %408
|
|
%408 = OpLabel
|
|
%409 = OpLoad %bool %x_247
|
|
OpStore %x_294_phi %409
|
|
%410 = OpConvertFToS %int %392
|
|
%411 = OpSLessThan %bool %int_0 %410
|
|
OpSelectionMerge %412 None
|
|
OpBranchConditional %411 %413 %414
|
|
%413 = OpLabel
|
|
OpBranch %412
|
|
%414 = OpLabel
|
|
OpBranch %406
|
|
%412 = OpLabel
|
|
OpStore %x_294_phi %true
|
|
OpBranch %406
|
|
%407 = OpLabel
|
|
OpBranch %405
|
|
%406 = OpLabel
|
|
%415 = OpLoad %bool %x_294_phi
|
|
OpStore %x_294 %415
|
|
%416 = OpLoad %bool %x_294
|
|
OpStore %x_296_phi %416
|
|
%417 = OpLoad %bool %x_294
|
|
OpSelectionMerge %418 None
|
|
OpBranchConditional %417 %419 %418
|
|
%419 = OpLabel
|
|
OpBranch %360
|
|
%418 = OpLabel
|
|
OpBranch %388
|
|
%390 = OpLabel
|
|
%420 = OpAccessChain %_ptr_Function_int %tree %370 %uint_1
|
|
%421 = OpLoad %int %420
|
|
OpStore %x_275 %421
|
|
%422 = OpLoad %bool %x_247
|
|
OpStore %x_248_phi %422
|
|
%423 = OpLoad %int %x_275
|
|
OpStore %x_251_phi %423
|
|
OpBranch %361
|
|
%388 = OpLabel
|
|
OpBranch %381
|
|
%383 = OpLabel
|
|
%424 = OpAccessChain %_ptr_Function_int %tree %370 %uint_2
|
|
%425 = OpLoad %int %424
|
|
%426 = OpIEqual %bool %425 %int_n1
|
|
OpSelectionMerge %427 None
|
|
OpBranchConditional %426 %428 %429
|
|
%428 = OpLabel
|
|
%430 = OpAccessChain %_ptr_Function_int %tree %370 %uint_2
|
|
OpStore %430 %int_4
|
|
%431 = OpAccessChain %_ptr_Function_BST %tree %int_4
|
|
OpStore %431 %404
|
|
OpStore %x_296_phi %true
|
|
OpBranch %360
|
|
%429 = OpLabel
|
|
%432 = OpAccessChain %_ptr_Function_int %tree %370 %uint_2
|
|
%433 = OpLoad %int %432
|
|
OpStore %x_267 %433
|
|
%434 = OpLoad %bool %x_247
|
|
OpStore %x_248_phi %434
|
|
%435 = OpLoad %int %x_267
|
|
OpStore %x_251_phi %435
|
|
OpBranch %361
|
|
%427 = OpLabel
|
|
OpReturn
|
|
%381 = OpLabel
|
|
%436 = OpLoad %bool %x_294
|
|
OpStore %x_248_phi %436
|
|
OpStore %x_251_phi %370
|
|
OpBranch %361
|
|
%361 = OpLabel
|
|
%437 = OpLoad %bool %x_248_phi
|
|
OpStore %x_248 %437
|
|
%438 = OpLoad %int %x_251_phi
|
|
OpStore %x_251 %438
|
|
%439 = OpLoad %bool %x_248
|
|
OpStore %x_247_phi %439
|
|
%440 = OpLoad %int %x_251
|
|
OpStore %x_250_phi %440
|
|
OpBranch %359
|
|
%360 = OpLabel
|
|
%441 = OpLoad %bool %x_296_phi
|
|
OpSelectionMerge %442 None
|
|
OpBranchConditional %441 %443 %442
|
|
%443 = OpLabel
|
|
OpBranch %357
|
|
%442 = OpLabel
|
|
OpBranch %357
|
|
%357 = OpLabel
|
|
OpSelectionMerge %449 None
|
|
OpSwitch %uint_0 %450
|
|
%450 = OpLabel
|
|
OpStore %x_301_phi %false
|
|
OpStore %x_304_phi %int_0
|
|
OpBranch %451
|
|
%451 = OpLabel
|
|
OpLoopMerge %452 %453 None
|
|
OpBranch %454
|
|
%454 = OpLabel
|
|
%461 = OpLoad %bool %x_301_phi
|
|
OpStore %x_301 %461
|
|
%462 = OpLoad %int %x_304_phi
|
|
%463 = OpLoad %bool %x_301
|
|
OpStore %x_350_phi %463
|
|
%464 = OpSLessThanEqual %bool %462 %int_5
|
|
OpSelectionMerge %465 None
|
|
OpBranchConditional %464 %466 %467
|
|
%466 = OpLabel
|
|
OpBranch %465
|
|
%467 = OpLabel
|
|
OpBranch %452
|
|
%465 = OpLabel
|
|
%468 = OpAccessChain %_ptr_Function_int %tree %462 %uint_0
|
|
%469 = OpLoad %int %468
|
|
%471 = OpSLessThanEqual %bool %int_8 %469
|
|
OpSelectionMerge %472 None
|
|
OpBranchConditional %471 %473 %474
|
|
%473 = OpLabel
|
|
%476 = OpAccessChain %_ptr_Function_int %tree %462 %uint_1
|
|
%477 = OpLoad %int %476
|
|
%478 = OpIEqual %bool %477 %int_n1
|
|
OpSelectionMerge %479 None
|
|
OpBranchConditional %478 %480 %481
|
|
%480 = OpLabel
|
|
%482 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
|
|
%483 = OpLoad %float %482
|
|
%484 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0
|
|
%485 = OpLoad %float %484
|
|
%486 = OpFOrdLessThan %bool %483 %485
|
|
OpSelectionMerge %487 None
|
|
OpBranchConditional %486 %488 %487
|
|
%488 = OpLabel
|
|
OpBranch %489
|
|
%489 = OpLabel
|
|
OpLoopMerge %490 %491 None
|
|
OpBranch %492
|
|
%492 = OpLabel
|
|
OpKill
|
|
%491 = OpLabel
|
|
OpBranch %489
|
|
%490 = OpLabel
|
|
OpReturn
|
|
%487 = OpLabel
|
|
%493 = OpAccessChain %_ptr_Function_int %tree %462 %uint_1
|
|
OpStore %493 %int_5
|
|
%494 = OpAccessChain %_ptr_Function_BST %tree %int_5
|
|
OpStore %494 %495
|
|
OpBranch %496
|
|
%496 = OpLabel
|
|
OpLoopMerge %497 %498 None
|
|
OpBranch %499
|
|
%499 = OpLabel
|
|
%500 = OpLoad %bool %x_301
|
|
OpStore %x_348_phi %500
|
|
%501 = OpConvertFToS %int %483
|
|
%502 = OpSLessThan %bool %int_0 %501
|
|
OpSelectionMerge %503 None
|
|
OpBranchConditional %502 %504 %505
|
|
%504 = OpLabel
|
|
OpBranch %503
|
|
%505 = OpLabel
|
|
OpBranch %497
|
|
%503 = OpLabel
|
|
OpStore %x_348_phi %true
|
|
OpBranch %497
|
|
%498 = OpLabel
|
|
OpBranch %496
|
|
%497 = OpLabel
|
|
%506 = OpLoad %bool %x_348_phi
|
|
OpStore %x_348 %506
|
|
%507 = OpLoad %bool %x_348
|
|
OpStore %x_350_phi %507
|
|
%508 = OpLoad %bool %x_348
|
|
OpSelectionMerge %509 None
|
|
OpBranchConditional %508 %510 %509
|
|
%510 = OpLabel
|
|
OpBranch %452
|
|
%509 = OpLabel
|
|
OpBranch %479
|
|
%481 = OpLabel
|
|
%511 = OpAccessChain %_ptr_Function_int %tree %462 %uint_1
|
|
%512 = OpLoad %int %511
|
|
OpStore %x_329 %512
|
|
%513 = OpLoad %bool %x_301
|
|
OpStore %x_302_phi %513
|
|
%514 = OpLoad %int %x_329
|
|
OpStore %x_305_phi %514
|
|
OpBranch %453
|
|
%479 = OpLabel
|
|
OpBranch %472
|
|
%474 = OpLabel
|
|
%515 = OpAccessChain %_ptr_Function_int %tree %462 %uint_2
|
|
%516 = OpLoad %int %515
|
|
%517 = OpIEqual %bool %516 %int_n1
|
|
OpSelectionMerge %518 None
|
|
OpBranchConditional %517 %519 %520
|
|
%519 = OpLabel
|
|
%521 = OpAccessChain %_ptr_Function_int %tree %462 %uint_2
|
|
OpStore %521 %int_5
|
|
%522 = OpAccessChain %_ptr_Function_BST %tree %int_5
|
|
OpStore %522 %495
|
|
OpStore %x_350_phi %true
|
|
OpBranch %452
|
|
%520 = OpLabel
|
|
%523 = OpAccessChain %_ptr_Function_int %tree %462 %uint_2
|
|
%524 = OpLoad %int %523
|
|
OpStore %x_321 %524
|
|
%525 = OpLoad %bool %x_301
|
|
OpStore %x_302_phi %525
|
|
%526 = OpLoad %int %x_321
|
|
OpStore %x_305_phi %526
|
|
OpBranch %453
|
|
%518 = OpLabel
|
|
OpReturn
|
|
%472 = OpLabel
|
|
%527 = OpLoad %bool %x_348
|
|
OpStore %x_302_phi %527
|
|
OpStore %x_305_phi %462
|
|
OpBranch %453
|
|
%453 = OpLabel
|
|
%528 = OpLoad %bool %x_302_phi
|
|
OpStore %x_302 %528
|
|
%529 = OpLoad %int %x_305_phi
|
|
OpStore %x_305 %529
|
|
%530 = OpLoad %bool %x_302
|
|
OpStore %x_301_phi %530
|
|
%531 = OpLoad %int %x_305
|
|
OpStore %x_304_phi %531
|
|
OpBranch %451
|
|
%452 = OpLabel
|
|
%532 = OpLoad %bool %x_350_phi
|
|
OpSelectionMerge %533 None
|
|
OpBranchConditional %532 %534 %533
|
|
%534 = OpLabel
|
|
OpBranch %449
|
|
%533 = OpLabel
|
|
OpBranch %449
|
|
%449 = OpLabel
|
|
OpSelectionMerge %540 None
|
|
OpSwitch %uint_0 %541
|
|
%541 = OpLabel
|
|
OpStore %x_355_phi %false
|
|
OpStore %x_358_phi %int_0
|
|
OpBranch %542
|
|
%542 = OpLabel
|
|
OpLoopMerge %543 %544 None
|
|
OpBranch %545
|
|
%545 = OpLabel
|
|
%552 = OpLoad %bool %x_355_phi
|
|
OpStore %x_355 %552
|
|
%553 = OpLoad %int %x_358_phi
|
|
%554 = OpLoad %bool %x_355
|
|
OpStore %x_404_phi %554
|
|
%556 = OpSLessThanEqual %bool %553 %int_6
|
|
OpSelectionMerge %557 None
|
|
OpBranchConditional %556 %558 %559
|
|
%558 = OpLabel
|
|
OpBranch %557
|
|
%559 = OpLabel
|
|
OpBranch %543
|
|
%557 = OpLabel
|
|
%560 = OpAccessChain %_ptr_Function_int %tree %553 %uint_0
|
|
%561 = OpLoad %int %560
|
|
%562 = OpSLessThanEqual %bool %int_2 %561
|
|
OpSelectionMerge %563 None
|
|
OpBranchConditional %562 %564 %565
|
|
%564 = OpLabel
|
|
%567 = OpAccessChain %_ptr_Function_int %tree %553 %uint_1
|
|
%568 = OpLoad %int %567
|
|
%569 = OpIEqual %bool %568 %int_n1
|
|
OpSelectionMerge %570 None
|
|
OpBranchConditional %569 %571 %572
|
|
%571 = OpLabel
|
|
%573 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
|
|
%574 = OpLoad %float %573
|
|
%575 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0
|
|
%576 = OpLoad %float %575
|
|
%577 = OpFOrdLessThan %bool %574 %576
|
|
OpSelectionMerge %578 None
|
|
OpBranchConditional %577 %579 %578
|
|
%579 = OpLabel
|
|
OpBranch %580
|
|
%580 = OpLabel
|
|
OpLoopMerge %581 %582 None
|
|
OpBranch %583
|
|
%583 = OpLabel
|
|
OpKill
|
|
%582 = OpLabel
|
|
OpBranch %580
|
|
%581 = OpLabel
|
|
OpReturn
|
|
%578 = OpLabel
|
|
%584 = OpAccessChain %_ptr_Function_int %tree %553 %uint_1
|
|
OpStore %584 %int_6
|
|
%585 = OpAccessChain %_ptr_Function_BST %tree %int_6
|
|
OpStore %585 %586
|
|
OpBranch %587
|
|
%587 = OpLabel
|
|
OpLoopMerge %588 %589 None
|
|
OpBranch %590
|
|
%590 = OpLabel
|
|
%591 = OpLoad %bool %x_355
|
|
OpStore %x_402_phi %591
|
|
%592 = OpConvertFToS %int %574
|
|
%593 = OpSLessThan %bool %int_0 %592
|
|
OpSelectionMerge %594 None
|
|
OpBranchConditional %593 %595 %596
|
|
%595 = OpLabel
|
|
OpBranch %594
|
|
%596 = OpLabel
|
|
OpBranch %588
|
|
%594 = OpLabel
|
|
OpStore %x_402_phi %true
|
|
OpBranch %588
|
|
%589 = OpLabel
|
|
OpBranch %587
|
|
%588 = OpLabel
|
|
%597 = OpLoad %bool %x_402_phi
|
|
OpStore %x_402 %597
|
|
%598 = OpLoad %bool %x_402
|
|
OpStore %x_404_phi %598
|
|
%599 = OpLoad %bool %x_402
|
|
OpSelectionMerge %600 None
|
|
OpBranchConditional %599 %601 %600
|
|
%601 = OpLabel
|
|
OpBranch %543
|
|
%600 = OpLabel
|
|
OpBranch %570
|
|
%572 = OpLabel
|
|
%602 = OpAccessChain %_ptr_Function_int %tree %553 %uint_1
|
|
%603 = OpLoad %int %602
|
|
OpStore %x_383 %603
|
|
%604 = OpLoad %bool %x_355
|
|
OpStore %x_356_phi %604
|
|
%605 = OpLoad %int %x_383
|
|
OpStore %x_359_phi %605
|
|
OpBranch %544
|
|
%570 = OpLabel
|
|
OpBranch %563
|
|
%565 = OpLabel
|
|
%606 = OpAccessChain %_ptr_Function_int %tree %553 %uint_2
|
|
%607 = OpLoad %int %606
|
|
%608 = OpIEqual %bool %607 %int_n1
|
|
OpSelectionMerge %609 None
|
|
OpBranchConditional %608 %610 %611
|
|
%610 = OpLabel
|
|
%612 = OpAccessChain %_ptr_Function_int %tree %553 %uint_2
|
|
OpStore %612 %int_6
|
|
%613 = OpAccessChain %_ptr_Function_BST %tree %int_6
|
|
OpStore %613 %586
|
|
OpStore %x_404_phi %true
|
|
OpBranch %543
|
|
%611 = OpLabel
|
|
%614 = OpAccessChain %_ptr_Function_int %tree %553 %uint_2
|
|
%615 = OpLoad %int %614
|
|
OpStore %x_375 %615
|
|
%616 = OpLoad %bool %x_355
|
|
OpStore %x_356_phi %616
|
|
%617 = OpLoad %int %x_375
|
|
OpStore %x_359_phi %617
|
|
OpBranch %544
|
|
%609 = OpLabel
|
|
OpReturn
|
|
%563 = OpLabel
|
|
%618 = OpLoad %bool %x_402
|
|
OpStore %x_356_phi %618
|
|
OpStore %x_359_phi %553
|
|
OpBranch %544
|
|
%544 = OpLabel
|
|
%619 = OpLoad %bool %x_356_phi
|
|
OpStore %x_356 %619
|
|
%620 = OpLoad %int %x_359_phi
|
|
OpStore %x_359 %620
|
|
%621 = OpLoad %bool %x_356
|
|
OpStore %x_355_phi %621
|
|
%622 = OpLoad %int %x_359
|
|
OpStore %x_358_phi %622
|
|
OpBranch %542
|
|
%543 = OpLabel
|
|
%623 = OpLoad %bool %x_404_phi
|
|
OpSelectionMerge %624 None
|
|
OpBranchConditional %623 %625 %624
|
|
%625 = OpLabel
|
|
OpBranch %540
|
|
%624 = OpLabel
|
|
OpBranch %540
|
|
%540 = OpLabel
|
|
OpSelectionMerge %631 None
|
|
OpSwitch %uint_0 %632
|
|
%632 = OpLabel
|
|
OpStore %x_409_phi %false
|
|
OpStore %x_412_phi %int_0
|
|
OpBranch %633
|
|
%633 = OpLabel
|
|
OpLoopMerge %634 %635 None
|
|
OpBranch %636
|
|
%636 = OpLabel
|
|
%643 = OpLoad %bool %x_409_phi
|
|
OpStore %x_409 %643
|
|
%644 = OpLoad %int %x_412_phi
|
|
%645 = OpLoad %bool %x_409
|
|
OpStore %x_458_phi %645
|
|
%646 = OpSLessThanEqual %bool %644 %int_7
|
|
OpSelectionMerge %647 None
|
|
OpBranchConditional %646 %648 %649
|
|
%648 = OpLabel
|
|
OpBranch %647
|
|
%649 = OpLabel
|
|
OpBranch %634
|
|
%647 = OpLabel
|
|
%650 = OpAccessChain %_ptr_Function_int %tree %644 %uint_0
|
|
%651 = OpLoad %int %650
|
|
%652 = OpSLessThanEqual %bool %int_6 %651
|
|
OpSelectionMerge %653 None
|
|
OpBranchConditional %652 %654 %655
|
|
%654 = OpLabel
|
|
%657 = OpAccessChain %_ptr_Function_int %tree %644 %uint_1
|
|
%658 = OpLoad %int %657
|
|
%659 = OpIEqual %bool %658 %int_n1
|
|
OpSelectionMerge %660 None
|
|
OpBranchConditional %659 %661 %662
|
|
%661 = OpLabel
|
|
%663 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
|
|
%664 = OpLoad %float %663
|
|
%665 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0
|
|
%666 = OpLoad %float %665
|
|
%667 = OpFOrdLessThan %bool %664 %666
|
|
OpSelectionMerge %668 None
|
|
OpBranchConditional %667 %669 %668
|
|
%669 = OpLabel
|
|
OpBranch %670
|
|
%670 = OpLabel
|
|
OpLoopMerge %671 %672 None
|
|
OpBranch %673
|
|
%673 = OpLabel
|
|
OpKill
|
|
%672 = OpLabel
|
|
OpBranch %670
|
|
%671 = OpLabel
|
|
OpReturn
|
|
%668 = OpLabel
|
|
%674 = OpAccessChain %_ptr_Function_int %tree %644 %uint_1
|
|
OpStore %674 %int_7
|
|
%675 = OpAccessChain %_ptr_Function_BST %tree %int_7
|
|
OpStore %675 %676
|
|
OpBranch %677
|
|
%677 = OpLabel
|
|
OpLoopMerge %678 %679 None
|
|
OpBranch %680
|
|
%680 = OpLabel
|
|
%681 = OpLoad %bool %x_409
|
|
OpStore %x_456_phi %681
|
|
%682 = OpConvertFToS %int %664
|
|
%683 = OpSLessThan %bool %int_0 %682
|
|
OpSelectionMerge %684 None
|
|
OpBranchConditional %683 %685 %686
|
|
%685 = OpLabel
|
|
OpBranch %684
|
|
%686 = OpLabel
|
|
OpBranch %678
|
|
%684 = OpLabel
|
|
OpStore %x_456_phi %true
|
|
OpBranch %678
|
|
%679 = OpLabel
|
|
OpBranch %677
|
|
%678 = OpLabel
|
|
%687 = OpLoad %bool %x_456_phi
|
|
OpStore %x_456 %687
|
|
%688 = OpLoad %bool %x_456
|
|
OpStore %x_458_phi %688
|
|
%689 = OpLoad %bool %x_456
|
|
OpSelectionMerge %690 None
|
|
OpBranchConditional %689 %691 %690
|
|
%691 = OpLabel
|
|
OpBranch %634
|
|
%690 = OpLabel
|
|
OpBranch %660
|
|
%662 = OpLabel
|
|
%692 = OpAccessChain %_ptr_Function_int %tree %644 %uint_1
|
|
%693 = OpLoad %int %692
|
|
OpStore %x_437 %693
|
|
%694 = OpLoad %bool %x_409
|
|
OpStore %x_410_phi %694
|
|
%695 = OpLoad %int %x_437
|
|
OpStore %x_413_phi %695
|
|
OpBranch %635
|
|
%660 = OpLabel
|
|
OpBranch %653
|
|
%655 = OpLabel
|
|
%696 = OpAccessChain %_ptr_Function_int %tree %644 %uint_2
|
|
%697 = OpLoad %int %696
|
|
%698 = OpIEqual %bool %697 %int_n1
|
|
OpSelectionMerge %699 None
|
|
OpBranchConditional %698 %700 %701
|
|
%700 = OpLabel
|
|
%702 = OpAccessChain %_ptr_Function_int %tree %644 %uint_2
|
|
OpStore %702 %int_7
|
|
%703 = OpAccessChain %_ptr_Function_BST %tree %int_7
|
|
OpStore %703 %676
|
|
OpStore %x_458_phi %true
|
|
OpBranch %634
|
|
%701 = OpLabel
|
|
%704 = OpAccessChain %_ptr_Function_int %tree %644 %uint_2
|
|
%705 = OpLoad %int %704
|
|
OpStore %x_429 %705
|
|
%706 = OpLoad %bool %x_409
|
|
OpStore %x_410_phi %706
|
|
%707 = OpLoad %int %x_429
|
|
OpStore %x_413_phi %707
|
|
OpBranch %635
|
|
%699 = OpLabel
|
|
OpReturn
|
|
%653 = OpLabel
|
|
%708 = OpLoad %bool %x_456
|
|
OpStore %x_410_phi %708
|
|
OpStore %x_413_phi %644
|
|
OpBranch %635
|
|
%635 = OpLabel
|
|
%709 = OpLoad %bool %x_410_phi
|
|
OpStore %x_410 %709
|
|
%710 = OpLoad %int %x_413_phi
|
|
OpStore %x_413 %710
|
|
%711 = OpLoad %bool %x_410
|
|
OpStore %x_409_phi %711
|
|
%712 = OpLoad %int %x_413
|
|
OpStore %x_412_phi %712
|
|
OpBranch %633
|
|
%634 = OpLabel
|
|
%713 = OpLoad %bool %x_458_phi
|
|
OpSelectionMerge %714 None
|
|
OpBranchConditional %713 %715 %714
|
|
%715 = OpLabel
|
|
OpBranch %631
|
|
%714 = OpLabel
|
|
OpBranch %631
|
|
%631 = OpLabel
|
|
OpSelectionMerge %721 None
|
|
OpSwitch %uint_0 %722
|
|
%722 = OpLabel
|
|
OpStore %x_463_phi %false
|
|
OpStore %x_466_phi %int_0
|
|
OpBranch %723
|
|
%723 = OpLabel
|
|
OpLoopMerge %724 %725 None
|
|
OpBranch %726
|
|
%726 = OpLabel
|
|
%733 = OpLoad %bool %x_463_phi
|
|
OpStore %x_463 %733
|
|
%734 = OpLoad %int %x_466_phi
|
|
%735 = OpLoad %bool %x_463
|
|
OpStore %x_512_phi %735
|
|
%736 = OpSLessThanEqual %bool %734 %int_8
|
|
OpSelectionMerge %737 None
|
|
OpBranchConditional %736 %738 %739
|
|
%738 = OpLabel
|
|
OpBranch %737
|
|
%739 = OpLabel
|
|
OpBranch %724
|
|
%737 = OpLabel
|
|
%740 = OpAccessChain %_ptr_Function_int %tree %734 %uint_0
|
|
%741 = OpLoad %int %740
|
|
%743 = OpSLessThanEqual %bool %int_17 %741
|
|
OpSelectionMerge %744 None
|
|
OpBranchConditional %743 %745 %746
|
|
%745 = OpLabel
|
|
%748 = OpAccessChain %_ptr_Function_int %tree %734 %uint_1
|
|
%749 = OpLoad %int %748
|
|
%750 = OpIEqual %bool %749 %int_n1
|
|
OpSelectionMerge %751 None
|
|
OpBranchConditional %750 %752 %753
|
|
%752 = OpLabel
|
|
%754 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
|
|
%755 = OpLoad %float %754
|
|
%756 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0
|
|
%757 = OpLoad %float %756
|
|
%758 = OpFOrdLessThan %bool %755 %757
|
|
OpSelectionMerge %759 None
|
|
OpBranchConditional %758 %760 %759
|
|
%760 = OpLabel
|
|
OpBranch %761
|
|
%761 = OpLabel
|
|
OpLoopMerge %762 %763 None
|
|
OpBranch %764
|
|
%764 = OpLabel
|
|
OpKill
|
|
%763 = OpLabel
|
|
OpBranch %761
|
|
%762 = OpLabel
|
|
OpReturn
|
|
%759 = OpLabel
|
|
%765 = OpAccessChain %_ptr_Function_int %tree %734 %uint_1
|
|
OpStore %765 %int_8
|
|
%766 = OpAccessChain %_ptr_Function_BST %tree %int_8
|
|
OpStore %766 %767
|
|
OpBranch %768
|
|
%768 = OpLabel
|
|
OpLoopMerge %769 %770 None
|
|
OpBranch %771
|
|
%771 = OpLabel
|
|
%772 = OpLoad %bool %x_463
|
|
OpStore %x_510_phi %772
|
|
%773 = OpConvertFToS %int %755
|
|
%774 = OpSLessThan %bool %int_0 %773
|
|
OpSelectionMerge %775 None
|
|
OpBranchConditional %774 %776 %777
|
|
%776 = OpLabel
|
|
OpBranch %775
|
|
%777 = OpLabel
|
|
OpBranch %769
|
|
%775 = OpLabel
|
|
OpStore %x_510_phi %true
|
|
OpBranch %769
|
|
%770 = OpLabel
|
|
OpBranch %768
|
|
%769 = OpLabel
|
|
%778 = OpLoad %bool %x_510_phi
|
|
OpStore %x_510 %778
|
|
%779 = OpLoad %bool %x_510
|
|
OpStore %x_512_phi %779
|
|
%780 = OpLoad %bool %x_510
|
|
OpSelectionMerge %781 None
|
|
OpBranchConditional %780 %782 %781
|
|
%782 = OpLabel
|
|
OpBranch %724
|
|
%781 = OpLabel
|
|
OpBranch %751
|
|
%753 = OpLabel
|
|
%783 = OpAccessChain %_ptr_Function_int %tree %734 %uint_1
|
|
%784 = OpLoad %int %783
|
|
OpStore %x_491 %784
|
|
%785 = OpLoad %bool %x_463
|
|
OpStore %x_464_phi %785
|
|
%786 = OpLoad %int %x_491
|
|
OpStore %x_467_phi %786
|
|
OpBranch %725
|
|
%751 = OpLabel
|
|
OpBranch %744
|
|
%746 = OpLabel
|
|
%787 = OpAccessChain %_ptr_Function_int %tree %734 %uint_2
|
|
%788 = OpLoad %int %787
|
|
%789 = OpIEqual %bool %788 %int_n1
|
|
OpSelectionMerge %790 None
|
|
OpBranchConditional %789 %791 %792
|
|
%791 = OpLabel
|
|
%793 = OpAccessChain %_ptr_Function_int %tree %734 %uint_2
|
|
OpStore %793 %int_8
|
|
%794 = OpAccessChain %_ptr_Function_BST %tree %int_8
|
|
OpStore %794 %767
|
|
OpStore %x_512_phi %true
|
|
OpBranch %724
|
|
%792 = OpLabel
|
|
%795 = OpAccessChain %_ptr_Function_int %tree %734 %uint_2
|
|
%796 = OpLoad %int %795
|
|
OpStore %x_483 %796
|
|
%797 = OpLoad %bool %x_463
|
|
OpStore %x_464_phi %797
|
|
%798 = OpLoad %int %x_483
|
|
OpStore %x_467_phi %798
|
|
OpBranch %725
|
|
%790 = OpLabel
|
|
OpReturn
|
|
%744 = OpLabel
|
|
%799 = OpLoad %bool %x_510
|
|
OpStore %x_464_phi %799
|
|
OpStore %x_467_phi %734
|
|
OpBranch %725
|
|
%725 = OpLabel
|
|
%800 = OpLoad %bool %x_464_phi
|
|
OpStore %x_464 %800
|
|
%801 = OpLoad %int %x_467_phi
|
|
OpStore %x_467 %801
|
|
%802 = OpLoad %bool %x_464
|
|
OpStore %x_463_phi %802
|
|
%803 = OpLoad %int %x_467
|
|
OpStore %x_466_phi %803
|
|
OpBranch %723
|
|
%724 = OpLabel
|
|
%804 = OpLoad %bool %x_512_phi
|
|
OpSelectionMerge %805 None
|
|
OpBranchConditional %804 %806 %805
|
|
%806 = OpLabel
|
|
OpBranch %721
|
|
%805 = OpLabel
|
|
OpBranch %721
|
|
%721 = OpLabel
|
|
OpSelectionMerge %812 None
|
|
OpSwitch %uint_0 %813
|
|
%813 = OpLabel
|
|
OpStore %x_517_phi %false
|
|
OpStore %x_520_phi %int_0
|
|
OpBranch %814
|
|
%814 = OpLabel
|
|
OpLoopMerge %815 %816 None
|
|
OpBranch %817
|
|
%817 = OpLabel
|
|
%824 = OpLoad %bool %x_517_phi
|
|
OpStore %x_517 %824
|
|
%825 = OpLoad %int %x_520_phi
|
|
%826 = OpLoad %bool %x_517
|
|
OpStore %x_566_phi %826
|
|
%827 = OpSLessThanEqual %bool %825 %int_9
|
|
OpSelectionMerge %828 None
|
|
OpBranchConditional %827 %829 %830
|
|
%829 = OpLabel
|
|
OpBranch %828
|
|
%830 = OpLabel
|
|
OpBranch %815
|
|
%828 = OpLabel
|
|
%831 = OpAccessChain %_ptr_Function_int %tree %825 %uint_0
|
|
%832 = OpLoad %int %831
|
|
%834 = OpSLessThanEqual %bool %int_13 %832
|
|
OpSelectionMerge %835 None
|
|
OpBranchConditional %834 %836 %837
|
|
%836 = OpLabel
|
|
%839 = OpAccessChain %_ptr_Function_int %tree %825 %uint_1
|
|
%840 = OpLoad %int %839
|
|
%841 = OpIEqual %bool %840 %int_n1
|
|
OpSelectionMerge %842 None
|
|
OpBranchConditional %841 %843 %844
|
|
%843 = OpLabel
|
|
%845 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_1
|
|
%846 = OpLoad %float %845
|
|
%847 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %uint_0
|
|
%848 = OpLoad %float %847
|
|
%849 = OpFOrdLessThan %bool %846 %848
|
|
OpSelectionMerge %850 None
|
|
OpBranchConditional %849 %851 %850
|
|
%851 = OpLabel
|
|
OpBranch %852
|
|
%852 = OpLabel
|
|
OpLoopMerge %853 %854 None
|
|
OpBranch %855
|
|
%855 = OpLabel
|
|
OpKill
|
|
%854 = OpLabel
|
|
OpBranch %852
|
|
%853 = OpLabel
|
|
OpReturn
|
|
%850 = OpLabel
|
|
%856 = OpAccessChain %_ptr_Function_int %tree %825 %uint_1
|
|
OpStore %856 %int_9
|
|
%857 = OpAccessChain %_ptr_Function_BST %tree %int_9
|
|
OpStore %857 %858
|
|
OpBranch %859
|
|
%859 = OpLabel
|
|
OpLoopMerge %860 %861 None
|
|
OpBranch %862
|
|
%862 = OpLabel
|
|
%863 = OpLoad %bool %x_517
|
|
OpStore %x_564_phi %863
|
|
%864 = OpConvertFToS %int %846
|
|
%865 = OpSLessThan %bool %int_0 %864
|
|
OpSelectionMerge %866 None
|
|
OpBranchConditional %865 %867 %868
|
|
%867 = OpLabel
|
|
OpBranch %866
|
|
%868 = OpLabel
|
|
OpBranch %860
|
|
%866 = OpLabel
|
|
OpStore %x_564_phi %true
|
|
OpBranch %860
|
|
%861 = OpLabel
|
|
OpBranch %859
|
|
%860 = OpLabel
|
|
%869 = OpLoad %bool %x_564_phi
|
|
OpStore %x_564 %869
|
|
%870 = OpLoad %bool %x_564
|
|
OpStore %x_566_phi %870
|
|
%871 = OpLoad %bool %x_564
|
|
OpSelectionMerge %872 None
|
|
OpBranchConditional %871 %873 %872
|
|
%873 = OpLabel
|
|
OpBranch %815
|
|
%872 = OpLabel
|
|
OpBranch %842
|
|
%844 = OpLabel
|
|
%874 = OpAccessChain %_ptr_Function_int %tree %825 %uint_1
|
|
%875 = OpLoad %int %874
|
|
OpStore %x_545 %875
|
|
%876 = OpLoad %bool %x_517
|
|
OpStore %x_518_phi %876
|
|
%877 = OpLoad %int %x_545
|
|
OpStore %x_521_phi %877
|
|
OpBranch %816
|
|
%842 = OpLabel
|
|
OpBranch %835
|
|
%837 = OpLabel
|
|
%878 = OpAccessChain %_ptr_Function_int %tree %825 %uint_2
|
|
%879 = OpLoad %int %878
|
|
%880 = OpIEqual %bool %879 %int_n1
|
|
OpSelectionMerge %881 None
|
|
OpBranchConditional %880 %882 %883
|
|
%882 = OpLabel
|
|
%884 = OpAccessChain %_ptr_Function_int %tree %825 %uint_2
|
|
OpStore %884 %int_9
|
|
%885 = OpAccessChain %_ptr_Function_BST %tree %int_9
|
|
OpStore %885 %858
|
|
OpStore %x_566_phi %true
|
|
OpBranch %815
|
|
%883 = OpLabel
|
|
%886 = OpAccessChain %_ptr_Function_int %tree %825 %uint_2
|
|
%887 = OpLoad %int %886
|
|
OpStore %x_537 %887
|
|
%888 = OpLoad %bool %x_517
|
|
OpStore %x_518_phi %888
|
|
%889 = OpLoad %int %x_537
|
|
OpStore %x_521_phi %889
|
|
OpBranch %816
|
|
%881 = OpLabel
|
|
OpReturn
|
|
%835 = OpLabel
|
|
%890 = OpLoad %bool %x_564
|
|
OpStore %x_518_phi %890
|
|
OpStore %x_521_phi %825
|
|
OpBranch %816
|
|
%816 = OpLabel
|
|
%891 = OpLoad %bool %x_518_phi
|
|
OpStore %x_518 %891
|
|
%892 = OpLoad %int %x_521_phi
|
|
OpStore %x_521 %892
|
|
%893 = OpLoad %bool %x_518
|
|
OpStore %x_517_phi %893
|
|
%894 = OpLoad %int %x_521
|
|
OpStore %x_520_phi %894
|
|
OpBranch %814
|
|
%815 = OpLabel
|
|
%895 = OpLoad %bool %x_566_phi
|
|
OpSelectionMerge %896 None
|
|
OpBranchConditional %895 %897 %896
|
|
%897 = OpLabel
|
|
OpBranch %812
|
|
%896 = OpLabel
|
|
OpBranch %812
|
|
%812 = OpLabel
|
|
OpStore %x_569_phi %int_0
|
|
OpStore %x_572_phi %int_0
|
|
OpStore %x_574_phi %int_0
|
|
OpBranch %898
|
|
%898 = OpLabel
|
|
OpLoopMerge %899 %900 None
|
|
OpBranch %901
|
|
%901 = OpLabel
|
|
%908 = OpLoad %int %x_569_phi
|
|
%909 = OpLoad %int %x_572_phi
|
|
OpStore %x_572 %909
|
|
%910 = OpLoad %int %x_574_phi
|
|
%912 = OpSLessThan %bool %910 %int_20
|
|
OpSelectionMerge %913 None
|
|
OpBranchConditional %912 %914 %915
|
|
%914 = OpLabel
|
|
OpBranch %913
|
|
%915 = OpLabel
|
|
OpBranch %899
|
|
%913 = OpLabel
|
|
OpSelectionMerge %919 None
|
|
OpSwitch %uint_0 %920
|
|
%920 = OpLabel
|
|
OpStore %x_582_phi %int_0
|
|
OpBranch %921
|
|
%921 = OpLabel
|
|
OpLoopMerge %922 %923 None
|
|
OpBranch %924
|
|
%924 = OpLabel
|
|
%925 = OpLoad %int %x_582_phi
|
|
OpStore %x_597_phi %908
|
|
OpStore %x_598_phi %false
|
|
%926 = OpINotEqual %bool %925 %int_n1
|
|
OpSelectionMerge %927 None
|
|
OpBranchConditional %926 %928 %929
|
|
%928 = OpLabel
|
|
OpBranch %927
|
|
%929 = OpLabel
|
|
OpBranch %922
|
|
%927 = OpLabel
|
|
%930 = OpAccessChain %_ptr_Function_BST %tree %925
|
|
%931 = OpLoad %BST %930
|
|
%932 = OpCompositeExtract %int %931 0
|
|
%933 = OpCompositeExtract %int %931 1
|
|
%934 = OpCompositeExtract %int %931 2
|
|
%935 = OpIEqual %bool %932 %910
|
|
OpSelectionMerge %936 None
|
|
OpBranchConditional %935 %937 %936
|
|
%937 = OpLabel
|
|
OpStore %x_597_phi %910
|
|
OpStore %x_598_phi %true
|
|
OpBranch %922
|
|
%936 = OpLabel
|
|
OpBranch %923
|
|
%923 = OpLabel
|
|
%939 = OpSGreaterThan %bool %910 %932
|
|
%938 = OpSelect %int %939 %934 %933
|
|
OpStore %x_582_phi %938
|
|
OpBranch %921
|
|
%922 = OpLabel
|
|
%940 = OpLoad %int %x_597_phi
|
|
OpStore %x_597 %940
|
|
%941 = OpLoad %bool %x_598_phi
|
|
%942 = OpLoad %int %x_597
|
|
OpStore %x_570_phi %942
|
|
OpSelectionMerge %943 None
|
|
OpBranchConditional %941 %944 %943
|
|
%944 = OpLabel
|
|
OpBranch %919
|
|
%943 = OpLabel
|
|
OpStore %x_570_phi %int_n1
|
|
OpBranch %919
|
|
%919 = OpLabel
|
|
%950 = OpLoad %int %x_570_phi
|
|
OpStore %x_570 %950
|
|
OpSelectionMerge %951 None
|
|
OpSwitch %910 %952 2 %953 5 %953 6 %953 7 %953 8 %953 9 %953 12 %953 13 %953 15 %953 17 %953
|
|
%953 = OpLabel
|
|
%954 = OpLoad %int %x_572
|
|
OpStore %x_607_phi %954
|
|
%955 = OpLoad %int %x_570
|
|
%956 = OpCopyObject %int %910
|
|
%957 = OpIEqual %bool %955 %956
|
|
OpSelectionMerge %958 None
|
|
OpBranchConditional %957 %959 %958
|
|
%959 = OpLabel
|
|
%961 = OpLoad %int %x_572
|
|
%962 = OpCopyObject %int %int_1
|
|
%963 = OpIAdd %int %961 %962
|
|
%960 = OpCopyObject %int %963
|
|
OpStore %x_606 %960
|
|
%964 = OpLoad %int %x_606
|
|
OpStore %x_607_phi %964
|
|
OpBranch %958
|
|
%958 = OpLabel
|
|
%965 = OpLoad %int %x_607_phi
|
|
OpStore %x_607 %965
|
|
%966 = OpLoad %int %x_607
|
|
OpStore %x_573_phi %966
|
|
OpBranch %951
|
|
%952 = OpLabel
|
|
%967 = OpLoad %int %x_572
|
|
OpStore %x_612_phi %967
|
|
%968 = OpLoad %int %x_570
|
|
%969 = OpCopyObject %int %int_n1
|
|
%970 = OpIEqual %bool %968 %969
|
|
OpSelectionMerge %971 None
|
|
OpBranchConditional %970 %972 %971
|
|
%972 = OpLabel
|
|
%974 = OpLoad %int %x_572
|
|
%975 = OpCopyObject %int %int_1
|
|
%976 = OpIAdd %int %974 %975
|
|
%973 = OpCopyObject %int %976
|
|
OpStore %x_611 %973
|
|
%977 = OpLoad %int %x_611
|
|
OpStore %x_612_phi %977
|
|
OpBranch %971
|
|
%971 = OpLabel
|
|
%978 = OpLoad %int %x_612_phi
|
|
OpStore %x_612 %978
|
|
%979 = OpLoad %int %x_612
|
|
OpStore %x_573_phi %979
|
|
OpBranch %951
|
|
%951 = OpLabel
|
|
%980 = OpLoad %int %x_573_phi
|
|
OpBranch %900
|
|
%900 = OpLabel
|
|
%981 = OpIAdd %int %910 %int_1
|
|
OpStore %x_575 %981
|
|
%982 = OpLoad %int %x_570
|
|
OpStore %x_569_phi %982
|
|
OpStore %x_572_phi %980
|
|
%983 = OpLoad %int %x_575
|
|
OpStore %x_574_phi %983
|
|
OpBranch %898
|
|
%899 = OpLabel
|
|
%984 = OpLoad %int %x_572
|
|
%985 = OpCopyObject %int %int_20
|
|
%986 = OpIEqual %bool %984 %985
|
|
OpSelectionMerge %987 None
|
|
OpBranchConditional %986 %988 %989
|
|
%988 = OpLabel
|
|
OpStore %x_GLF_color %991
|
|
OpBranch %987
|
|
%989 = OpLabel
|
|
OpStore %x_GLF_color %992
|
|
OpBranch %987
|
|
%987 = OpLabel
|
|
OpReturn
|
|
OpFunctionEnd
|
|
%main_inner = OpFunction %main_out None %993
|
|
%gl_FragCoord_param = OpFunctionParameter %v4float
|
|
%997 = OpLabel
|
|
OpStore %gl_FragCoord %gl_FragCoord_param
|
|
%998 = OpFunctionCall %void %main_1
|
|
%999 = OpLoad %v4float %x_GLF_color
|
|
%1000 = OpCompositeConstruct %main_out %999
|
|
OpReturnValue %1000
|
|
OpFunctionEnd
|
|
%main = OpFunction %void None %15
|
|
%1002 = OpLabel
|
|
%1004 = OpLoad %v4float %gl_FragCoord_param_1
|
|
%1003 = OpFunctionCall %main_out %main_inner %1004
|
|
%1005 = OpCompositeExtract %v4float %1003 0
|
|
OpStore %x_GLF_color_1_1 %1005
|
|
OpReturn
|
|
OpFunctionEnd
|