dawn-cmake/test/vk-gl-cts/graphicsfuzz/injection-switch-as-comparison/0.wgsl.expected.spvasm

244 lines
9.1 KiB
Plaintext

; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 126
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %tint_symbol_1
OpExecutionMode %main OriginUpperLeft
OpName %buf0 "buf0"
OpMemberName %buf0 0 "injectionSwitch"
OpName %x_6 "x_6"
OpName %x_GLF_color "x_GLF_color"
OpName %tint_symbol_1 "tint_symbol_1"
OpName %makeFrame_ "makeFrame_"
OpName %x_60 "x_60"
OpName %x_63_phi "x_63_phi"
OpName %x_41 "x_41"
OpName %x_44 "x_44"
OpName %x_45 "x_45"
OpName %x_42 "x_42"
OpName %x_41_phi "x_41_phi"
OpName %x_8_phi "x_8_phi"
OpName %x_44_phi "x_44_phi"
OpName %x_60_phi "x_60_phi"
OpName %x_61_phi "x_61_phi"
OpName %x_50 "x_50"
OpName %x_9 "x_9"
OpName %x_52 "x_52"
OpName %x_7 "x_7"
OpName %x_50_phi "x_50_phi"
OpName %x_9_phi "x_9_phi"
OpName %x_52_phi "x_52_phi"
OpName %x_45_phi "x_45_phi"
OpName %x_42_phi "x_42_phi"
OpName %main_1 "main_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"
OpDecorate %buf0 Block
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %x_6 NonWritable
OpDecorate %x_6 DescriptorSet 0
OpDecorate %x_6 Binding 0
OpDecorate %tint_symbol_1 Location 0
OpMemberDecorate %main_out 0 Offset 0
%float = OpTypeFloat 32
%v2float = OpTypeVector %float 2
%buf0 = OpTypeStruct %v2float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%x_6 = OpVariable %_ptr_Uniform_buf0 Uniform
%v4float = OpTypeVector %float 4
%_ptr_Private_v4float = OpTypePointer Private %v4float
%9 = OpConstantNull %v4float
%x_GLF_color = OpVariable %_ptr_Private_v4float Private %9
%_ptr_Output_v4float = OpTypePointer Output %v4float
%tint_symbol_1 = OpVariable %_ptr_Output_v4float Output %9
%12 = OpTypeFunction %float
%_ptr_Function_float = OpTypePointer Function %float
%17 = OpConstantNull %float
%bool = OpTypeBool
%_ptr_Function_bool = OpTypePointer Function %bool
%26 = OpConstantNull %bool
%int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
%34 = OpConstantNull %int
%false = OpConstantFalse %bool
%int_0 = OpConstant %int 0
%float_0 = OpConstant %float 0
%int_1 = OpConstant %int 1
%uint = OpTypeInt 32 0
%uint_0 = OpConstant %uint 0
%uint_1 = OpConstant %uint 1
%_ptr_Uniform_float = OpTypePointer Uniform %float
%float_1 = OpConstant %float 1
%true = OpConstantTrue %bool
%void = OpTypeVoid
%108 = OpTypeFunction %void
%113 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%main_out = OpTypeStruct %v4float
%114 = OpTypeFunction %void %main_out
%makeFrame_ = OpFunction %float None %12
%14 = OpLabel
%x_60 = OpVariable %_ptr_Function_float Function %17
%x_63_phi = OpVariable %_ptr_Function_float Function %17
%x_41 = OpVariable %_ptr_Function_bool Function %26
%x_44 = OpVariable %_ptr_Function_float Function %17
%x_45 = OpVariable %_ptr_Function_float Function %17
%x_42 = OpVariable %_ptr_Function_bool Function %26
%x_41_phi = OpVariable %_ptr_Function_bool Function %26
%x_8_phi = OpVariable %_ptr_Function_int Function %34
%x_44_phi = OpVariable %_ptr_Function_float Function %17
%x_60_phi = OpVariable %_ptr_Function_float Function %17
%x_61_phi = OpVariable %_ptr_Function_bool Function %26
%x_50 = OpVariable %_ptr_Function_float Function %17
%x_9 = OpVariable %_ptr_Function_int Function %34
%x_52 = OpVariable %_ptr_Function_bool Function %26
%x_7 = OpVariable %_ptr_Function_int Function %34
%x_50_phi = OpVariable %_ptr_Function_float Function %17
%x_9_phi = OpVariable %_ptr_Function_int Function %34
%x_52_phi = OpVariable %_ptr_Function_bool Function %26
%x_45_phi = OpVariable %_ptr_Function_float Function %17
%x_42_phi = OpVariable %_ptr_Function_bool Function %26
OpBranch %19
%19 = OpLabel
OpLoopMerge %20 %21 None
OpBranch %22
%22 = OpLabel
OpStore %x_41_phi %false
OpStore %x_8_phi %int_0
OpStore %x_44_phi %float_0
OpBranch %41
%41 = OpLabel
OpLoopMerge %42 %43 None
OpBranch %44
%44 = OpLabel
%54 = OpLoad %bool %x_41_phi
OpStore %x_41 %54
%55 = OpLoad %int %x_8_phi
%56 = OpLoad %float %x_44_phi
OpStore %x_44 %56
%57 = OpLoad %float %x_44
OpStore %x_60_phi %57
%58 = OpLoad %bool %x_41
OpStore %x_61_phi %58
%60 = OpSLessThan %bool %55 %int_1
OpSelectionMerge %61 None
OpBranchConditional %60 %62 %63
%62 = OpLabel
OpBranch %61
%63 = OpLabel
OpBranch %42
%61 = OpLabel
%64 = OpLoad %float %x_44
OpStore %x_50_phi %64
OpStore %x_9_phi %55
%65 = OpLoad %bool %x_41
OpStore %x_52_phi %65
OpBranch %66
%66 = OpLabel
OpLoopMerge %67 %68 None
OpBranch %69
%69 = OpLabel
%70 = OpLoad %float %x_50_phi
OpStore %x_50 %70
%71 = OpLoad %int %x_9_phi
OpStore %x_9 %71
%72 = OpLoad %bool %x_52_phi
OpStore %x_52 %72
%77 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
%78 = OpLoad %float %77
%79 = OpLoad %float %x_50
OpStore %x_45_phi %79
%80 = OpLoad %bool %x_52
OpStore %x_42_phi %80
%81 = OpConvertFToS %int %78
%82 = OpSLessThan %bool %int_1 %81
OpSelectionMerge %83 None
OpBranchConditional %82 %84 %85
%84 = OpLabel
OpBranch %83
%85 = OpLabel
OpBranch %67
%83 = OpLabel
OpStore %x_45_phi %float_1
OpStore %x_42_phi %true
OpBranch %67
%68 = OpLabel
OpStore %x_50_phi %float_0
OpStore %x_9_phi %int_0
OpStore %x_52_phi %false
OpBranch %66
%67 = OpLabel
%88 = OpLoad %float %x_45_phi
OpStore %x_45 %88
%89 = OpLoad %bool %x_42_phi
OpStore %x_42 %89
%90 = OpLoad %float %x_45
OpStore %x_60_phi %90
%91 = OpLoad %bool %x_42
OpStore %x_61_phi %91
%92 = OpLoad %bool %x_42
OpSelectionMerge %93 None
OpBranchConditional %92 %94 %93
%94 = OpLabel
OpBranch %42
%93 = OpLabel
OpBranch %43
%43 = OpLabel
%96 = OpLoad %int %x_9
%97 = OpCopyObject %int %int_1
%98 = OpIAdd %int %96 %97
%95 = OpCopyObject %int %98
OpStore %x_7 %95
%99 = OpLoad %bool %x_42
OpStore %x_41_phi %99
%100 = OpLoad %int %x_7
OpStore %x_8_phi %100
%101 = OpLoad %float %x_45
OpStore %x_44_phi %101
OpBranch %41
%42 = OpLabel
%102 = OpLoad %float %x_60_phi
OpStore %x_60 %102
%103 = OpLoad %bool %x_61_phi
%104 = OpLoad %float %x_60
OpStore %x_63_phi %104
OpSelectionMerge %105 None
OpBranchConditional %103 %106 %105
%106 = OpLabel
OpBranch %20
%105 = OpLabel
OpStore %x_63_phi %float_1
OpBranch %20
%21 = OpLabel
OpBranch %19
%20 = OpLabel
%107 = OpLoad %float %x_63_phi
OpReturnValue %107
OpFunctionEnd
%main_1 = OpFunction %void None %108
%111 = OpLabel
%112 = OpFunctionCall %float %makeFrame_
OpStore %x_GLF_color %113
OpReturn
OpFunctionEnd
%tint_symbol_2 = OpFunction %void None %114
%tint_symbol = OpFunctionParameter %main_out
%118 = OpLabel
%119 = OpCompositeExtract %v4float %tint_symbol 0
OpStore %tint_symbol_1 %119
OpReturn
OpFunctionEnd
%main = OpFunction %void None %108
%121 = OpLabel
%122 = OpFunctionCall %void %main_1
%124 = OpLoad %v4float %x_GLF_color
%125 = OpCompositeConstruct %main_out %124
%123 = OpFunctionCall %void %tint_symbol_2 %125
OpReturn
OpFunctionEnd