blob: 90974abf3f5faff478ffc2ebbbf73f03ca2aaaea [file] [log] [blame]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 147
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol_1
OpExecutionMode %main OriginUpperLeft
OpName %x_GLF_color "x_GLF_color"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %main_1 "main_1"
OpName %x_29 "x_29"
OpName %x_30 "x_30"
OpName %x_31 "x_31"
OpName %x_32 "x_32"
OpName %x_33 "x_33"
OpName %x_34 "x_34"
OpName %x_35 "x_35"
OpName %x_36 "x_36"
OpName %f "f"
OpName %i "i"
OpName %param "param"
OpName %param_1 "param_1"
OpName %main_out "main_out"
OpMemberName %main_out 0 "x_GLF_color_1"
OpName %tint_symbol_2 "tint_symbol_2"
OpName %tint_symbol "tint_symbol"
OpName %main "main"
OpName %func_f1_ "func_f1_"
OpName %x "x"
OpName %x_93 "x_93"
OpName %x_94 "x_94"
OpName %a "a"
OpDecorate %tint_symbol_1 Location 0
OpMemberDecorate %main_out 0 Offset 0
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Private_v4float = OpTypePointer Private %v4float
%5 = OpConstantNull %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %5
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %5
%void = OpTypeVoid
%8 = OpTypeFunction %void
%bool = OpTypeBool
%false = OpConstantFalse %bool
%_ptr_Function_bool = OpTypePointer Function %bool
%16 = OpConstantNull %bool
%_ptr_Function_float = OpTypePointer Function %float
%19 = OpConstantNull %float
%float_0 = OpConstant %float 0
%true = OpConstantTrue %bool
%float_1 = OpConstant %float 1
%float_6 = OpConstant %float 6
%float_5 = OpConstant %float 5
%99 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%100 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%main_out = OpTypeStruct %v4float
%101 = OpTypeFunction %void %main_out
%113 = OpTypeFunction %float %_ptr_Function_float
%main_1 = OpFunction %void None %8
%11 = OpLabel
%x_29 = OpVariable %_ptr_Function_bool Function %16
%x_30 = OpVariable %_ptr_Function_float Function %19
%x_31 = OpVariable %_ptr_Function_float Function %19
%x_32 = OpVariable %_ptr_Function_float Function %19
%x_33 = OpVariable %_ptr_Function_bool Function %16
%x_34 = OpVariable %_ptr_Function_float Function %19
%x_35 = OpVariable %_ptr_Function_float Function %19
%x_36 = OpVariable %_ptr_Function_float Function %19
%f = OpVariable %_ptr_Function_float Function %19
%i = OpVariable %_ptr_Function_float Function %19
%param = OpVariable %_ptr_Function_float Function %19
%param_1 = OpVariable %_ptr_Function_float Function %19
OpStore %x_29 %false
OpStore %x_33 %false
OpStore %f %float_0
OpStore %i %float_0
OpBranch %31
%31 = OpLabel
OpLoopMerge %32 %33 None
OpBranch %34
%34 = OpLabel
%35 = OpLoad %float %i
OpStore %param %35
OpStore %x_33 %false
OpBranch %36
%36 = OpLabel
OpLoopMerge %37 %38 None
OpBranch %39
%39 = OpLabel
%40 = OpLoad %float %param
OpStore %x_35 %40
OpBranch %41
%41 = OpLabel
OpLoopMerge %42 %43 None
OpBranch %44
%44 = OpLabel
%45 = OpLoad %float %x_35
%46 = OpLoad %float %param
%47 = OpFOrdEqual %bool %45 %46
OpSelectionMerge %48 None
OpBranchConditional %47 %49 %48
%49 = OpLabel
%50 = OpLoad %float %x_35
OpStore %x_33 %true
OpStore %x_34 %50
OpBranch %42
%48 = OpLabel
%52 = OpLoad %float %x_35
%54 = OpFAdd %float %52 %float_1
OpStore %x_35 %54
OpBranch %43
%43 = OpLabel
%55 = OpLoad %float %x_35
%56 = OpLoad %float %param
%57 = OpFOrdLessThan %bool %55 %56
OpBranchConditional %57 %41 %42
%42 = OpLabel
%58 = OpLoad %bool %x_33
OpSelectionMerge %59 None
OpBranchConditional %58 %60 %59
%60 = OpLabel
OpBranch %37
%59 = OpLabel
OpStore %x_33 %true
OpStore %x_34 %float_0
OpBranch %37
%38 = OpLabel
OpBranch %36
%37 = OpLabel
%61 = OpLoad %float %x_34
OpStore %x_36 %61
OpStore %f %61
OpStore %param_1 %float_1
OpStore %x_29 %false
OpBranch %62
%62 = OpLabel
OpLoopMerge %63 %64 None
OpBranch %65
%65 = OpLabel
%66 = OpLoad %float %param_1
OpStore %x_31 %66
OpBranch %67
%67 = OpLabel
OpLoopMerge %68 %69 None
OpBranch %70
%70 = OpLabel
%71 = OpLoad %float %x_31
%72 = OpLoad %float %param_1
%73 = OpFOrdEqual %bool %71 %72
OpSelectionMerge %74 None
OpBranchConditional %73 %75 %74
%75 = OpLabel
%76 = OpLoad %float %x_31
OpStore %x_29 %true
OpStore %x_30 %76
OpBranch %68
%74 = OpLabel
%77 = OpLoad %float %x_31
%78 = OpFAdd %float %77 %float_1
OpStore %x_31 %78
OpBranch %69
%69 = OpLabel
%79 = OpLoad %float %x_31
%80 = OpLoad %float %param_1
%81 = OpFOrdLessThan %bool %79 %80
OpBranchConditional %81 %67 %68
%68 = OpLabel
%82 = OpLoad %bool %x_29
OpSelectionMerge %83 None
OpBranchConditional %82 %84 %83
%84 = OpLabel
OpBranch %63
%83 = OpLabel
OpStore %x_29 %true
OpStore %x_30 %float_0
OpBranch %63
%64 = OpLabel
OpBranch %62
%63 = OpLabel
%85 = OpLoad %float %x_30
OpStore %x_32 %85
%86 = OpLoad %float %i
%87 = OpFAdd %float %86 %85
OpStore %i %87
%89 = OpFOrdLessThan %bool %87 %float_6
OpSelectionMerge %90 None
OpBranchConditional %89 %91 %92
%91 = OpLabel
OpBranch %90
%92 = OpLabel
OpBranch %32
%90 = OpLabel
OpBranch %33
%33 = OpLabel
OpBranch %31
%32 = OpLabel
%93 = OpLoad %float %f
%95 = OpFOrdEqual %bool %93 %float_5
OpSelectionMerge %96 None
OpBranchConditional %95 %97 %98
%97 = OpLabel
OpStore %x_GLF_color %99
OpBranch %96
%98 = OpLabel
OpStore %x_GLF_color %100
OpBranch %96
%96 = OpLabel
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %101
%tint_symbol = OpFunctionParameter %main_out
%105 = OpLabel
%106 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %106
OpReturn
OpFunctionEnd
%main = OpFunction %void None %8
%108 = OpLabel
%109 = OpFunctionCall %void %main_1
%111 = OpLoad %v4float %x_GLF_color
%112 = OpCompositeConstruct %main_out %111
%110 = OpFunctionCall %void %tint_symbol_2 %112
OpReturn
OpFunctionEnd
%func_f1_ = OpFunction %float None %113
%x = OpFunctionParameter %_ptr_Function_float
%116 = OpLabel
%x_93 = OpVariable %_ptr_Function_bool Function %16
%x_94 = OpVariable %_ptr_Function_float Function %19
%a = OpVariable %_ptr_Function_float Function %19
OpStore %x_93 %false
OpBranch %120
%120 = OpLabel
OpLoopMerge %121 %122 None
OpBranch %123
%123 = OpLabel
%125 = OpLoad %float %x
OpStore %a %125
OpBranch %126
%126 = OpLabel
OpLoopMerge %127 %128 None
OpBranch %129
%129 = OpLabel
%130 = OpLoad %float %a
%132 = OpLoad %float %x
%133 = OpFOrdEqual %bool %130 %132
OpSelectionMerge %134 None
OpBranchConditional %133 %135 %134
%135 = OpLabel
%136 = OpLoad %float %a
OpStore %x_93 %true
OpStore %x_94 %136
OpBranch %127
%134 = OpLabel
%137 = OpLoad %float %a
%138 = OpFAdd %float %137 %float_1
OpStore %a %138
OpBranch %128
%128 = OpLabel
%139 = OpLoad %float %a
%141 = OpLoad %float %x
%142 = OpFOrdLessThan %bool %139 %141
OpBranchConditional %142 %126 %127
%127 = OpLabel
%143 = OpLoad %bool %x_93
OpSelectionMerge %144 None
OpBranchConditional %143 %145 %144
%145 = OpLabel
OpBranch %121
%144 = OpLabel
OpStore %x_93 %true
OpStore %x_94 %float_0
OpBranch %121
%122 = OpLabel
OpBranch %120
%121 = OpLabel
%146 = OpLoad %float %x_94
OpReturnValue %146
OpFunctionEnd