blob: 6e9d4b57d4e675bc37e1dbb1a0c391d60adcfaf6 [file] [log] [blame]
OpCapability Shader
%5 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor
OpExecutionMode %_entrypoint_v OriginUpperLeft
; Debug Information
OpName %sk_FragColor "sk_FragColor" ; id %11
OpName %globalVar "globalVar" ; id %15
OpName %S "S" ; id %21
OpMemberName %S 0 "f"
OpMemberName %S 1 "af"
OpMemberName %S 2 "h4"
OpMemberName %S 3 "ah4"
OpName %globalStruct "globalStruct" ; id %17
OpName %_UniformBuffer "_UniformBuffer" ; id %24
OpMemberName %_UniformBuffer 0 "colorGreen"
OpName %_entrypoint_v "_entrypoint_v" ; id %26
OpName %keepAlive_vh "keepAlive_vh" ; id %6
OpName %keepAlive_vf "keepAlive_vf" ; id %7
OpName %keepAlive_vi "keepAlive_vi" ; id %8
OpName %assignToFunctionParameter_vif "assignToFunctionParameter_vif" ; id %9
OpName %main "main" ; id %10
OpName %i "i" ; id %55
OpName %i4 "i4" ; id %57
OpName %f3x3 "f3x3" ; id %64
OpName %x "x" ; id %80
OpName %ai "ai" ; id %85
OpName %ai4 "ai4" ; id %89
OpName %ah3x3 "ah3x3" ; id %93
OpName %af4 "af4" ; id %97
OpName %s "s" ; id %106
OpName %l "l" ; id %129
OpName %repeat "repeat" ; id %141
; Annotations
OpDecorate %main RelaxedPrecision
OpDecorate %sk_FragColor RelaxedPrecision
OpDecorate %sk_FragColor Location 0
OpDecorate %sk_FragColor Index 0
OpDecorate %globalVar RelaxedPrecision
OpDecorate %_arr_float_int_5 ArrayStride 16
OpDecorate %_arr_v4float_int_5 ArrayStride 16
OpMemberDecorate %S 0 Offset 0
OpMemberDecorate %S 1 Offset 16
OpMemberDecorate %S 2 Offset 96
OpMemberDecorate %S 2 RelaxedPrecision
OpMemberDecorate %S 3 Offset 112
OpMemberDecorate %S 3 RelaxedPrecision
OpMemberDecorate %_UniformBuffer 0 Offset 0
OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
OpDecorate %_UniformBuffer Block
OpDecorate %23 Binding 0
OpDecorate %23 DescriptorSet 0
OpDecorate %38 RelaxedPrecision
OpDecorate %x RelaxedPrecision
OpDecorate %83 RelaxedPrecision
OpDecorate %84 RelaxedPrecision
OpDecorate %_arr_int_int_1 ArrayStride 16
OpDecorate %_arr_v4int_int_1 ArrayStride 16
OpDecorate %_arr_mat3v3float_int_1 ArrayStride 48
OpDecorate %_arr_v4float_int_1 ArrayStride 16
OpDecorate %112 RelaxedPrecision
OpDecorate %113 RelaxedPrecision
OpDecorate %116 RelaxedPrecision
OpDecorate %117 RelaxedPrecision
OpDecorate %l RelaxedPrecision
OpDecorate %150 RelaxedPrecision
OpDecorate %151 RelaxedPrecision
OpDecorate %153 RelaxedPrecision
OpDecorate %175 RelaxedPrecision
OpDecorate %176 RelaxedPrecision
OpDecorate %178 RelaxedPrecision
OpDecorate %184 RelaxedPrecision
OpDecorate %185 RelaxedPrecision
OpDecorate %187 RelaxedPrecision
OpDecorate %200 RelaxedPrecision
; Types, variables and constants
%int = OpTypeInt 32 1
%_ptr_Input_int = OpTypePointer Input %int
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%sk_FragColor = OpVariable %_ptr_Output_v4float Output ; RelaxedPrecision, Location 0, Index 0
%_ptr_Private_v4float = OpTypePointer Private %v4float
%globalVar = OpVariable %_ptr_Private_v4float Private ; RelaxedPrecision
%int_5 = OpConstant %int 5
%_arr_float_int_5 = OpTypeArray %float %int_5 ; ArrayStride 16
%_arr_v4float_int_5 = OpTypeArray %v4float %int_5 ; ArrayStride 16
%S = OpTypeStruct %float %_arr_float_int_5 %v4float %_arr_v4float_int_5
%_ptr_Private_S = OpTypePointer Private %S
%globalStruct = OpVariable %_ptr_Private_S Private
%_UniformBuffer = OpTypeStruct %v4float ; Block
%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
%23 = OpVariable %_ptr_Uniform__UniformBuffer Uniform ; Binding 0, DescriptorSet 0
%void = OpTypeVoid
%28 = OpTypeFunction %void
%float_0 = OpConstant %float 0
%v2float = OpTypeVector %float 2
%32 = OpConstantComposite %v2float %float_0 %float_0
%_ptr_Function_v2float = OpTypePointer Function %v2float
%_ptr_Function_float = OpTypePointer Function %float
%37 = OpTypeFunction %void %_ptr_Function_float
%_ptr_Function_int = OpTypePointer Function %int
%43 = OpTypeFunction %void %_ptr_Function_int
%46 = OpTypeFunction %void %_ptr_Function_int %_ptr_Function_float
%int_1 = OpConstant %int 1
%float_1 = OpConstant %float 1
%52 = OpTypeFunction %v4float %_ptr_Function_v2float
%int_0 = OpConstant %int 0
%v4int = OpTypeVector %int 4
%_ptr_Function_v4int = OpTypePointer Function %v4int
%int_2 = OpConstant %int 2
%int_3 = OpConstant %int 3
%int_4 = OpConstant %int 4
%63 = OpConstantComposite %v4int %int_1 %int_2 %int_3 %int_4
%v3float = OpTypeVector %float 3
%mat3v3float = OpTypeMatrix %v3float 3
%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
%float_2 = OpConstant %float 2
%float_3 = OpConstant %float 3
%float_4 = OpConstant %float 4
%float_5 = OpConstant %float 5
%float_6 = OpConstant %float 6
%float_7 = OpConstant %float 7
%float_8 = OpConstant %float 8
%float_9 = OpConstant %float 9
%76 = OpConstantComposite %v3float %float_1 %float_2 %float_3
%77 = OpConstantComposite %v3float %float_4 %float_5 %float_6
%78 = OpConstantComposite %v3float %float_7 %float_8 %float_9
%79 = OpConstantComposite %mat3v3float %76 %77 %78
%_ptr_Function_v4float = OpTypePointer Function %v4float
%_arr_int_int_1 = OpTypeArray %int %int_1 ; ArrayStride 16
%_ptr_Function__arr_int_int_1 = OpTypePointer Function %_arr_int_int_1
%_arr_v4int_int_1 = OpTypeArray %v4int %int_1 ; ArrayStride 16
%_ptr_Function__arr_v4int_int_1 = OpTypePointer Function %_arr_v4int_int_1
%_arr_mat3v3float_int_1 = OpTypeArray %mat3v3float %int_1 ; ArrayStride 48
%_ptr_Function__arr_mat3v3float_int_1 = OpTypePointer Function %_arr_mat3v3float_int_1
%_arr_v4float_int_1 = OpTypeArray %v4float %int_1 ; ArrayStride 16
%_ptr_Function__arr_v4float_int_1 = OpTypePointer Function %_arr_v4float_int_1
%102 = OpConstantComposite %v4float %float_1 %float_1 %float_1 %float_1
%_ptr_Function_S = OpTypePointer Function %S
%110 = OpConstantComposite %v3float %float_9 %float_9 %float_9
%114 = OpConstantComposite %v2float %float_5 %float_5
%118 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%_ptr_Private_float = OpTypePointer Private %float
%_ptr_Function_v3float = OpTypePointer Function %v3float
%139 = OpConstantComposite %v4float %float_2 %float_2 %float_2 %float_2
%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
; Function _entrypoint_v
%_entrypoint_v = OpFunction %void None %28
%29 = OpLabel
%33 = OpVariable %_ptr_Function_v2float Function
OpStore %33 %32
%35 = OpFunctionCall %v4float %main %33
OpStore %sk_FragColor %35
OpReturn
OpFunctionEnd
; Function keepAlive_vh
%keepAlive_vh = OpFunction %void None %37
%38 = OpFunctionParameter %_ptr_Function_float ; RelaxedPrecision
%39 = OpLabel
OpReturn
OpFunctionEnd
; Function keepAlive_vf
%keepAlive_vf = OpFunction %void None %37
%40 = OpFunctionParameter %_ptr_Function_float
%41 = OpLabel
OpReturn
OpFunctionEnd
; Function keepAlive_vi
%keepAlive_vi = OpFunction %void None %43
%44 = OpFunctionParameter %_ptr_Function_int
%45 = OpLabel
OpReturn
OpFunctionEnd
; Function assignToFunctionParameter_vif
%assignToFunctionParameter_vif = OpFunction %void None %46
%47 = OpFunctionParameter %_ptr_Function_int
%48 = OpFunctionParameter %_ptr_Function_float
%49 = OpLabel
OpStore %47 %int_1
OpStore %48 %float_1
OpReturn
OpFunctionEnd
; Function main
%main = OpFunction %v4float None %52 ; RelaxedPrecision
%53 = OpFunctionParameter %_ptr_Function_v2float
%54 = OpLabel
%i = OpVariable %_ptr_Function_int Function
%i4 = OpVariable %_ptr_Function_v4int Function
%f3x3 = OpVariable %_ptr_Function_mat3v3float Function
%x = OpVariable %_ptr_Function_v4float Function ; RelaxedPrecision
%ai = OpVariable %_ptr_Function__arr_int_int_1 Function
%ai4 = OpVariable %_ptr_Function__arr_v4int_int_1 Function
%ah3x3 = OpVariable %_ptr_Function__arr_mat3v3float_int_1 Function
%af4 = OpVariable %_ptr_Function__arr_v4float_int_1 Function
%s = OpVariable %_ptr_Function_S Function
%121 = OpVariable %_ptr_Function_int Function
%126 = OpVariable %_ptr_Function_float Function
%l = OpVariable %_ptr_Function_float Function ; RelaxedPrecision
%repeat = OpVariable %_ptr_Function_float Function
%145 = OpVariable %_ptr_Function_float Function
%151 = OpVariable %_ptr_Function_float Function ; RelaxedPrecision
%155 = OpVariable %_ptr_Function_int Function
%160 = OpVariable %_ptr_Function_int Function
%165 = OpVariable %_ptr_Function_int Function
%171 = OpVariable %_ptr_Function_int Function
%176 = OpVariable %_ptr_Function_float Function ; RelaxedPrecision
%181 = OpVariable %_ptr_Function_float Function
%185 = OpVariable %_ptr_Function_float Function ; RelaxedPrecision
%191 = OpVariable %_ptr_Function_float Function
%195 = OpVariable %_ptr_Function_float Function
OpStore %i %int_0
OpStore %i4 %63
OpStore %f3x3 %79
%82 = OpAccessChain %_ptr_Function_float %x %int_3
OpStore %82 %float_0
%83 = OpLoad %v4float %x ; RelaxedPrecision
%84 = OpVectorShuffle %v4float %83 %32 5 4 2 3 ; RelaxedPrecision
OpStore %x %84
%88 = OpAccessChain %_ptr_Function_int %ai %int_0
OpStore %88 %int_0
%92 = OpAccessChain %_ptr_Function_v4int %ai4 %int_0
OpStore %92 %63
%96 = OpAccessChain %_ptr_Function_mat3v3float %ah3x3 %int_0
OpStore %96 %79
%100 = OpAccessChain %_ptr_Function_v4float %af4 %int_0
%101 = OpAccessChain %_ptr_Function_float %100 %int_0
OpStore %101 %float_0
%103 = OpAccessChain %_ptr_Function_v4float %af4 %int_0
%104 = OpLoad %v4float %103
%105 = OpVectorShuffle %v4float %104 %102 6 4 7 5
OpStore %103 %105
%108 = OpAccessChain %_ptr_Function_float %s %int_0
OpStore %108 %float_0
%109 = OpAccessChain %_ptr_Function_float %s %int_1 %int_1
OpStore %109 %float_0
%111 = OpAccessChain %_ptr_Function_v4float %s %int_2
%112 = OpLoad %v4float %111 ; RelaxedPrecision
%113 = OpVectorShuffle %v4float %112 %110 5 6 4 3 ; RelaxedPrecision
OpStore %111 %113
%115 = OpAccessChain %_ptr_Function_v4float %s %int_3 %int_2
%116 = OpLoad %v4float %115 ; RelaxedPrecision
%117 = OpVectorShuffle %v4float %116 %114 0 4 2 5 ; RelaxedPrecision
OpStore %115 %117
OpStore %globalVar %118
%119 = OpAccessChain %_ptr_Private_float %globalStruct %int_0
OpStore %119 %float_0
OpStore %121 %int_0
%122 = OpAccessChain %_ptr_Function_v3float %f3x3 %int_0
%124 = OpAccessChain %_ptr_Function_float %122 %int_0
%125 = OpLoad %float %124
OpStore %126 %125
%127 = OpFunctionCall %void %assignToFunctionParameter_vif %121 %126
%128 = OpLoad %float %126
OpStore %124 %128
OpStore %l %float_0
%130 = OpAccessChain %_ptr_Function_int %ai %int_0
%131 = OpLoad %int %130
%132 = OpAccessChain %_ptr_Function_v4int %ai4 %int_0
%133 = OpLoad %v4int %132
%134 = OpCompositeExtract %int %133 0
%135 = OpIAdd %int %131 %134
OpStore %130 %135
%136 = OpAccessChain %_ptr_Function_float %s %int_0
OpStore %136 %float_1
%137 = OpAccessChain %_ptr_Function_float %s %int_1 %int_0
OpStore %137 %float_2
%138 = OpAccessChain %_ptr_Function_v4float %s %int_2
OpStore %138 %102
%140 = OpAccessChain %_ptr_Function_v4float %s %int_3 %int_0
OpStore %140 %139
OpStore %repeat %float_1
OpStore %repeat %float_1
%142 = OpAccessChain %_ptr_Function_v4float %af4 %int_0
%143 = OpAccessChain %_ptr_Function_float %142 %int_0
%144 = OpLoad %float %143
OpStore %145 %144
%146 = OpFunctionCall %void %keepAlive_vf %145
%147 = OpLoad %float %145
OpStore %143 %147
%148 = OpAccessChain %_ptr_Function_v3float %ah3x3 %int_0 %int_0
%149 = OpAccessChain %_ptr_Function_float %148 %int_0
%150 = OpLoad %float %149 ; RelaxedPrecision
OpStore %151 %150
%152 = OpFunctionCall %void %keepAlive_vh %151
%153 = OpLoad %float %151 ; RelaxedPrecision
OpStore %149 %153
%154 = OpLoad %int %i
OpStore %155 %154
%156 = OpFunctionCall %void %keepAlive_vi %155
%157 = OpLoad %int %155
OpStore %i %157
%158 = OpAccessChain %_ptr_Function_int %i4 %int_1
%159 = OpLoad %int %158
OpStore %160 %159
%161 = OpFunctionCall %void %keepAlive_vi %160
%162 = OpLoad %int %160
OpStore %158 %162
%163 = OpAccessChain %_ptr_Function_int %ai %int_0
%164 = OpLoad %int %163
OpStore %165 %164
%166 = OpFunctionCall %void %keepAlive_vi %165
%167 = OpLoad %int %165
OpStore %163 %167
%168 = OpAccessChain %_ptr_Function_v4int %ai4 %int_0
%169 = OpAccessChain %_ptr_Function_int %168 %int_0
%170 = OpLoad %int %169
OpStore %171 %170
%172 = OpFunctionCall %void %keepAlive_vi %171
%173 = OpLoad %int %171
OpStore %169 %173
%174 = OpAccessChain %_ptr_Function_float %x %int_1
%175 = OpLoad %float %174 ; RelaxedPrecision
OpStore %176 %175
%177 = OpFunctionCall %void %keepAlive_vh %176
%178 = OpLoad %float %176 ; RelaxedPrecision
OpStore %174 %178
%179 = OpAccessChain %_ptr_Function_float %s %int_0
%180 = OpLoad %float %179
OpStore %181 %180
%182 = OpFunctionCall %void %keepAlive_vf %181
%183 = OpLoad %float %181
OpStore %179 %183
%184 = OpLoad %float %l ; RelaxedPrecision
OpStore %185 %184
%186 = OpFunctionCall %void %keepAlive_vh %185
%187 = OpLoad %float %185 ; RelaxedPrecision
OpStore %l %187
%188 = OpAccessChain %_ptr_Function_v3float %f3x3 %int_0
%189 = OpAccessChain %_ptr_Function_float %188 %int_0
%190 = OpLoad %float %189
OpStore %191 %190
%192 = OpFunctionCall %void %keepAlive_vf %191
%193 = OpLoad %float %191
OpStore %189 %193
%194 = OpLoad %float %repeat
OpStore %195 %194
%196 = OpFunctionCall %void %keepAlive_vf %195
%197 = OpLoad %float %195
OpStore %repeat %197
%198 = OpAccessChain %_ptr_Uniform_v4float %23 %int_0
%200 = OpLoad %v4float %198 ; RelaxedPrecision
OpReturnValue %200
OpFunctionEnd