dawn-cmake/test/vk-gl-cts/graphicsfuzz/spv-null-in-phi-and-unroll/1.spvasm

184 lines
8.3 KiB
Plaintext

OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %gl_FragCoord %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 320
OpName %main "main"
OpName %gl_FragCoord "gl_FragCoord"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "resolution"
OpName %_ ""
OpName %_GLF_color "_GLF_color"
OpDecorate %gl_FragCoord BuiltIn FragCoord
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpDecorate %_GLF_color Location 0
%void = OpTypeVoid
%8 = OpTypeFunction %void
%float = OpTypeFloat 32
%v2float = OpTypeVector %float 2
%v4float = OpTypeVector %float 4
%_ptr_Function_v4float = OpTypePointer Function %v4float
%bool = OpTypeBool
%uint = OpTypeInt 32 0
%uint_0 = OpConstant %uint 0
%_ptr_Function_float = OpTypePointer Function %float
%false = OpConstantFalse %bool
%uint_1 = OpConstant %uint 1
%true = OpConstantTrue %bool
%float_0_5 = OpConstant %float 0.5
%float_1 = OpConstant %float 1
%22 = OpConstantComposite %v4float %float_0_5 %float_0_5 %float_1 %float_1
%int = OpTypeInt 32 1
%int_0 = OpConstant %int 0
%int_8 = OpConstant %int 8
%uint_8 = OpConstant %uint 8
%_arr_v4float_uint_8 = OpTypeArray %v4float %uint_8
%float_4 = OpConstant %float 4
%float_20 = OpConstant %float 20
%30 = OpConstantComposite %v4float %float_4 %float_4 %float_20 %float_4
%31 = OpConstantComposite %v4float %float_4 %float_4 %float_4 %float_20
%32 = OpConstantComposite %v4float %float_4 %float_20 %float_20 %float_4
%float_8 = OpConstant %float 8
%34 = OpConstantComposite %v4float %float_20 %float_4 %float_4 %float_8
%float_6 = OpConstant %float 6
%float_2 = OpConstant %float 2
%37 = OpConstantComposite %v4float %float_8 %float_6 %float_4 %float_2
%float_12 = OpConstant %float 12
%39 = OpConstantComposite %v4float %float_2 %float_12 %float_2 %float_4
%float_16 = OpConstant %float 16
%41 = OpConstantComposite %v4float %float_16 %float_2 %float_4 %float_4
%float_22 = OpConstant %float 22
%43 = OpConstantComposite %v4float %float_12 %float_22 %float_4 %float_4
%44 = OpConstantComposite %_arr_v4float_uint_8 %30 %31 %32 %34 %37 %39 %41 %43
%_ptr_Function__arr_v4float_uint_8 = OpTypePointer Function %_arr_v4float_uint_8
%uint_16 = OpConstant %uint 16
%_arr_v4float_uint_16 = OpTypeArray %v4float %uint_16
%float_0 = OpConstant %float 0
%49 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1
%50 = OpConstantComposite %v4float %float_0_5 %float_0 %float_0 %float_1
%51 = OpConstantComposite %v4float %float_0 %float_0_5 %float_0 %float_1
%52 = OpConstantComposite %v4float %float_0_5 %float_0_5 %float_0 %float_1
%53 = OpConstantComposite %v4float %float_0 %float_0 %float_0_5 %float_1
%54 = OpConstantComposite %v4float %float_0_5 %float_0 %float_0_5 %float_1
%55 = OpConstantComposite %v4float %float_0 %float_0_5 %float_0_5 %float_1
%56 = OpConstantComposite %v4float %float_0_5 %float_0_5 %float_0_5 %float_1
%57 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
%58 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1
%59 = OpConstantComposite %v4float %float_1 %float_1 %float_0 %float_1
%60 = OpConstantComposite %v4float %float_0 %float_0 %float_1 %float_1
%61 = OpConstantComposite %v4float %float_1 %float_0 %float_1 %float_1
%62 = OpConstantComposite %v4float %float_0 %float_1 %float_1 %float_1
%63 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%64 = OpConstantComposite %_arr_v4float_uint_16 %49 %50 %51 %52 %53 %54 %55 %56 %49 %57 %58 %59 %60 %61 %62 %63
%int_9 = OpConstant %int 9
%int_11 = OpConstant %int 11
%int_16 = OpConstant %int 16
%_ptr_Function__arr_v4float_uint_16 = OpTypePointer Function %_arr_v4float_uint_16
%int_1 = OpConstant %int 1
%_ptr_Input_v4float = OpTypePointer Input %v4float
%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
%buf0 = OpTypeStruct %v2float
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Uniform_v2float = OpTypePointer Uniform %v2float
%float_32 = OpConstant %float 32
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%75 = OpConstantNull %int
%main = OpFunction %void None %8
%76 = OpLabel
%77 = OpVariable %_ptr_Function__arr_v4float_uint_8 Function
%78 = OpVariable %_ptr_Function__arr_v4float_uint_8 Function
%79 = OpVariable %_ptr_Function__arr_v4float_uint_8 Function
%80 = OpVariable %_ptr_Function__arr_v4float_uint_16 Function
%81 = OpLoad %v4float %gl_FragCoord
%82 = OpVectorShuffle %v2float %81 %81 0 1
%83 = OpAccessChain %_ptr_Uniform_v2float %_ %int_0
%84 = OpLoad %v2float %83
%85 = OpFDiv %v2float %82 %84
%86 = OpVectorTimesScalar %v2float %85 %float_32
%87 = OpExtInst %v2float %1 Floor %86
OpBranch %88
%88 = OpLabel
%89 = OpPhi %v4float %22 %76 %90 %91
%92 = OpPhi %int %75 %76 %93 %91
%94 = OpSLessThan %bool %92 %int_8
OpLoopMerge %95 %91 Unroll
OpBranchConditional %94 %96 %95
%96 = OpLabel
OpStore %77 %44
%97 = OpAccessChain %_ptr_Function_v4float %77 %92
%98 = OpLoad %v4float %97
OpSelectionMerge %99 None
OpSwitch %uint_0 %100
%100 = OpLabel
%101 = OpCompositeExtract %float %87 0
%102 = OpCompositeExtract %float %98 0
%103 = OpFOrdLessThan %bool %101 %102
OpSelectionMerge %104 None
OpBranchConditional %103 %105 %104
%105 = OpLabel
OpBranch %99
%104 = OpLabel
%106 = OpCompositeExtract %float %87 1
%107 = OpCompositeExtract %float %98 1
%108 = OpFOrdLessThan %bool %106 %107
OpSelectionMerge %109 None
OpBranchConditional %108 %110 %109
%110 = OpLabel
OpBranch %99
%109 = OpLabel
%111 = OpCompositeExtract %float %98 2
%112 = OpFAdd %float %102 %111
%113 = OpFOrdGreaterThan %bool %101 %112
OpSelectionMerge %114 None
OpBranchConditional %113 %115 %114
%115 = OpLabel
OpBranch %99
%114 = OpLabel
%116 = OpCompositeExtract %float %98 3
%117 = OpFAdd %float %107 %116
%118 = OpFOrdGreaterThan %bool %106 %117
OpSelectionMerge %119 None
OpBranchConditional %118 %120 %119
%120 = OpLabel
OpBranch %99
%119 = OpLabel
OpBranch %99
%99 = OpLabel
%121 = OpPhi %bool %false %105 %false %110 %false %115 %false %120 %true %119
OpSelectionMerge %122 None
OpBranchConditional %121 %123 %122
%123 = OpLabel
OpStore %78 %44
%124 = OpAccessChain %_ptr_Function_float %78 %92 %uint_0
%125 = OpLoad %float %124
%126 = OpConvertFToS %int %125
OpStore %79 %44
%127 = OpAccessChain %_ptr_Function_float %79 %92 %uint_1
%128 = OpLoad %float %127
%129 = OpConvertFToS %int %128
%130 = OpIMul %int %126 %129
%131 = OpIMul %int %92 %int_9
%132 = OpIAdd %int %130 %131
%133 = OpIAdd %int %132 %int_11
%134 = OpSMod %int %133 %int_16
OpStore %80 %64
%135 = OpAccessChain %_ptr_Function_v4float %80 %134
%136 = OpLoad %v4float %135
OpBranch %122
%122 = OpLabel
%90 = OpPhi %v4float %89 %99 %136 %123
OpBranch %91
%91 = OpLabel
%93 = OpIAdd %int %92 %int_1
OpBranch %88
%95 = OpLabel
OpStore %_GLF_color %89
OpReturn
OpFunctionEnd