dawn-cmake/test/tint/vk-gl-cts/graphicsfuzz/cov-apfloat-undefined-matri.../0-opt.spvasm

228 lines
9.9 KiB
Plaintext

OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %_GLF_color
OpExecutionMode %main OriginUpperLeft
OpSource ESSL 310
OpName %main "main"
OpName %m0 "m0"
OpName %buf1 "buf1"
OpMemberName %buf1 0 "_GLF_uniform_int_values"
OpName %_ ""
OpName %m1 "m1"
OpName %undefined "undefined"
OpName %defined "defined"
OpName %v0 "v0"
OpName %v1 "v1"
OpName %v2 "v2"
OpName %v3 "v3"
OpName %_GLF_color "_GLF_color"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_float_values"
OpName %__0 ""
OpDecorate %_arr_int_uint_12 ArrayStride 16
OpMemberDecorate %buf1 0 RelaxedPrecision
OpMemberDecorate %buf1 0 Offset 0
OpDecorate %buf1 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 1
OpDecorate %17 RelaxedPrecision
OpDecorate %18 RelaxedPrecision
OpDecorate %19 RelaxedPrecision
OpDecorate %20 RelaxedPrecision
OpDecorate %21 RelaxedPrecision
OpDecorate %22 RelaxedPrecision
OpDecorate %23 RelaxedPrecision
OpDecorate %24 RelaxedPrecision
OpDecorate %25 RelaxedPrecision
OpDecorate %26 RelaxedPrecision
OpDecorate %27 RelaxedPrecision
OpDecorate %28 RelaxedPrecision
OpDecorate %29 RelaxedPrecision
OpDecorate %_GLF_color Location 0
OpDecorate %30 RelaxedPrecision
OpDecorate %31 RelaxedPrecision
OpDecorate %32 RelaxedPrecision
OpDecorate %33 RelaxedPrecision
OpDecorate %34 RelaxedPrecision
OpDecorate %_arr_float_uint_1 ArrayStride 16
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %__0 DescriptorSet 0
OpDecorate %__0 Binding 0
%void = OpTypeVoid
%37 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%mat3v4float = OpTypeMatrix %v4float 3
%_ptr_Function_mat3v4float = OpTypePointer Function %mat3v4float
%int = OpTypeInt 32 1
%uint = OpTypeInt 32 0
%uint_12 = OpConstant %uint 12
%_arr_int_uint_12 = OpTypeArray %int %uint_12
%buf1 = OpTypeStruct %_arr_int_uint_12
%_ptr_Uniform_buf1 = OpTypePointer Uniform %buf1
%_ = OpVariable %_ptr_Uniform_buf1 Uniform
%int_0 = OpConstant %int 0
%int_4 = OpConstant %int 4
%_ptr_Uniform_int = OpTypePointer Uniform %int
%int_5 = OpConstant %int 5
%int_6 = OpConstant %int 6
%float_4 = OpConstant %float 4
%int_10 = OpConstant %int 10
%int_7 = OpConstant %int 7
%int_8 = OpConstant %int 8
%float_8 = OpConstant %float 8
%int_11 = OpConstant %int 11
%int_1 = OpConstant %int 1
%int_2 = OpConstant %int 2
%int_3 = OpConstant %int 3
%float_1 = OpConstant %float 1
%float_0 = OpConstant %float 0
%v3float = OpTypeVector %float 3
%_ptr_Function_v3float = OpTypePointer Function %v3float
%64 = OpConstantComposite %v3float %float_1 %float_1 %float_1
%v3int = OpTypeVector %int 3
%67 = OpConstantComposite %v3int %int_1 %int_1 %int_1
%_ptr_Function_v4float = OpTypePointer Function %v4float
%uint_0 = OpConstant %uint 0
%_ptr_Function_float = OpTypePointer Function %float
%bool = OpTypeBool
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%int_9 = OpConstant %int 9
%uint_1 = OpConstant %uint 1
%_arr_float_uint_1 = OpTypeArray %float %uint_1
%buf0 = OpTypeStruct %_arr_float_uint_1
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%__0 = OpVariable %_ptr_Uniform_buf0 Uniform
%_ptr_Uniform_float = OpTypePointer Uniform %float
%_ptr_Output_float = OpTypePointer Output %float
%main = OpFunction %void None %37
%78 = OpLabel
%m0 = OpVariable %_ptr_Function_mat3v4float Function
%m1 = OpVariable %_ptr_Function_mat3v4float Function
%undefined = OpVariable %_ptr_Function_v3float Function
%defined = OpVariable %_ptr_Function_v3float Function
%v0 = OpVariable %_ptr_Function_v4float Function
%v1 = OpVariable %_ptr_Function_v4float Function
%v2 = OpVariable %_ptr_Function_v4float Function
%v3 = OpVariable %_ptr_Function_v4float Function
%79 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%17 = OpLoad %int %79
%80 = OpConvertSToF %float %17
%81 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
%18 = OpLoad %int %81
%82 = OpConvertSToF %float %18
%83 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
%19 = OpLoad %int %83
%84 = OpConvertSToF %float %19
%85 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10
%20 = OpLoad %int %85
%86 = OpConvertSToF %float %20
%87 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_7
%21 = OpLoad %int %87
%88 = OpConvertSToF %float %21
%89 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
%22 = OpLoad %int %89
%90 = OpConvertSToF %float %22
%91 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_11
%23 = OpLoad %int %91
%92 = OpConvertSToF %float %23
%93 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%24 = OpLoad %int %93
%94 = OpConvertSToF %float %24
%95 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%25 = OpLoad %int %95
%96 = OpConvertSToF %float %25
%97 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
%26 = OpLoad %int %97
%98 = OpConvertSToF %float %26
%99 = OpCompositeConstruct %v4float %80 %82 %84 %float_4
%100 = OpCompositeConstruct %v4float %86 %88 %90 %float_8
%101 = OpCompositeConstruct %v4float %92 %94 %96 %98
%102 = OpCompositeConstruct %mat3v4float %99 %100 %101
OpStore %m0 %102
%103 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%27 = OpLoad %int %103
%104 = OpConvertSToF %float %27
%105 = OpCompositeConstruct %v4float %104 %float_0 %float_0 %float_0
%106 = OpCompositeConstruct %v4float %float_0 %104 %float_0 %float_0
%107 = OpCompositeConstruct %v4float %float_0 %float_0 %104 %float_0
%108 = OpCompositeConstruct %mat3v4float %105 %106 %107
OpStore %m1 %108
%109 = OpExtInst %v3float %1 Ldexp %64 %67
OpStore %undefined %109
%110 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%28 = OpLoad %int %110
%111 = OpConvertSToF %float %28
%112 = OpCompositeConstruct %v3float %111 %111 %111
%113 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%29 = OpLoad %int %113
%114 = OpCompositeConstruct %v3int %29 %29 %29
%115 = OpExtInst %v3float %1 Ldexp %112 %114
OpStore %defined %115
%116 = OpLoad %mat3v4float %m0
%117 = OpLoad %v3float %undefined
%118 = OpMatrixTimesVector %v4float %116 %117
OpStore %v0 %118
%119 = OpLoad %mat3v4float %m1
%120 = OpLoad %v3float %undefined
%121 = OpMatrixTimesVector %v4float %119 %120
OpStore %v1 %121
%122 = OpLoad %mat3v4float %m0
%123 = OpLoad %v3float %defined
%124 = OpMatrixTimesVector %v4float %122 %123
OpStore %v2 %124
%125 = OpLoad %mat3v4float %m1
%126 = OpLoad %v3float %defined
%127 = OpMatrixTimesVector %v4float %125 %126
OpStore %v3 %127
%128 = OpAccessChain %_ptr_Function_float %v2 %uint_0
%129 = OpLoad %float %128
%130 = OpAccessChain %_ptr_Function_float %v3 %uint_0
%131 = OpLoad %float %130
%132 = OpFOrdGreaterThan %bool %129 %131
OpSelectionMerge %133 None
OpBranchConditional %132 %134 %135
%134 = OpLabel
%136 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%30 = OpLoad %int %136
%137 = OpConvertSToF %float %30
%138 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
%31 = OpLoad %int %138
%139 = OpConvertSToF %float %31
%140 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
%32 = OpLoad %int %140
%141 = OpConvertSToF %float %32
%142 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%33 = OpLoad %int %142
%143 = OpConvertSToF %float %33
%144 = OpCompositeConstruct %v4float %137 %139 %141 %143
OpStore %_GLF_color %144
OpBranch %133
%135 = OpLabel
%145 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
%34 = OpLoad %int %145
%146 = OpConvertSToF %float %34
%147 = OpCompositeConstruct %v4float %146 %146 %146 %146
OpStore %_GLF_color %147
OpBranch %133
%133 = OpLabel
%148 = OpAccessChain %_ptr_Function_float %v0 %uint_0
%149 = OpLoad %float %148
%150 = OpAccessChain %_ptr_Function_float %v1 %uint_0
%151 = OpLoad %float %150
%152 = OpFOrdLessThan %bool %149 %151
OpSelectionMerge %153 None
OpBranchConditional %152 %154 %153
%154 = OpLabel
%155 = OpAccessChain %_ptr_Uniform_float %__0 %int_0 %int_0
%156 = OpLoad %float %155
%157 = OpAccessChain %_ptr_Output_float %_GLF_color %uint_1
OpStore %157 %156
OpBranch %153
%153 = OpLabel
OpReturn
OpFunctionEnd