blob: dd582413176f95ed34c6bbef0364e0fdbe382499 [file] [log] [blame]
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 %r "r"
OpName %buf0 "buf0"
OpMemberName %buf0 0 "_GLF_uniform_int_values"
OpName %_ ""
OpName %i "i"
OpName %data "data"
OpName %i_0 "i"
OpName %i_1 "i"
OpName %i_2 "i"
OpName %_GLF_color "_GLF_color"
OpDecorate %_arr_int_uint_16 ArrayStride 16
OpMemberDecorate %buf0 0 Offset 0
OpDecorate %buf0 Block
OpDecorate %_ DescriptorSet 0
OpDecorate %_ Binding 0
OpDecorate %_GLF_color Location 0
%void = OpTypeVoid
%14 = OpTypeFunction %void
%int = OpTypeInt 32 1
%uint = OpTypeInt 32 0
%uint_15 = OpConstant %uint 15
%_arr_int_uint_15 = OpTypeArray %int %uint_15
%_ptr_Function__arr_int_uint_15 = OpTypePointer Function %_arr_int_uint_15
%uint_16 = OpConstant %uint 16
%_arr_int_uint_16 = OpTypeArray %int %uint_16
%buf0 = OpTypeStruct %_arr_int_uint_16
%_ptr_Uniform_buf0 = OpTypePointer Uniform %buf0
%_ = OpVariable %_ptr_Uniform_buf0 Uniform
%int_0 = OpConstant %int 0
%_ptr_Uniform_int = OpTypePointer Uniform %int
%_ptr_Function_int = OpTypePointer Function %int
%int_1 = OpConstant %int 1
%int_2 = OpConstant %int 2
%int_3 = OpConstant %int 3
%int_4 = OpConstant %int 4
%int_5 = OpConstant %int 5
%int_8 = OpConstant %int 8
%int_9 = OpConstant %int 9
%int_10 = OpConstant %int 10
%int_11 = OpConstant %int 11
%int_6 = OpConstant %int 6
%int_12 = OpConstant %int 12
%int_13 = OpConstant %int 13
%int_14 = OpConstant %int 14
%int_15 = OpConstant %int 15
%bool = OpTypeBool
%int_7 = OpConstant %int 7
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%_ptr_Output_v4float = OpTypePointer Output %v4float
%_GLF_color = OpVariable %_ptr_Output_v4float Output
%main = OpFunction %void None %14
%44 = OpLabel
%r = OpVariable %_ptr_Function__arr_int_uint_15 Function
%i = OpVariable %_ptr_Function_int Function
%data = OpVariable %_ptr_Function__arr_int_uint_15 Function
%i_0 = OpVariable %_ptr_Function_int Function
%i_1 = OpVariable %_ptr_Function_int Function
%i_2 = OpVariable %_ptr_Function_int Function
%45 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%46 = OpLoad %int %45
%47 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%48 = OpLoad %int %47
%49 = OpAccessChain %_ptr_Function_int %r %46
OpStore %49 %48
%50 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%51 = OpLoad %int %50
%52 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%53 = OpLoad %int %52
%54 = OpAccessChain %_ptr_Function_int %r %51
OpStore %54 %53
%55 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%56 = OpLoad %int %55
%57 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%58 = OpLoad %int %57
%59 = OpAccessChain %_ptr_Function_int %r %56
OpStore %59 %58
%60 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
%61 = OpLoad %int %60
%62 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_3
%63 = OpLoad %int %62
%64 = OpAccessChain %_ptr_Function_int %r %61
OpStore %64 %63
%65 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%66 = OpLoad %int %65
%67 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_4
%68 = OpLoad %int %67
%69 = OpAccessChain %_ptr_Function_int %r %66
OpStore %69 %68
%70 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
%71 = OpLoad %int %70
%72 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%73 = OpLoad %int %72
%74 = OpSNegate %int %73
%75 = OpAccessChain %_ptr_Function_int %r %71
OpStore %75 %74
%76 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_8
%77 = OpLoad %int %76
%78 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%79 = OpLoad %int %78
%80 = OpSNegate %int %79
%81 = OpAccessChain %_ptr_Function_int %r %77
OpStore %81 %80
%82 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_9
%83 = OpLoad %int %82
%84 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%85 = OpLoad %int %84
%86 = OpSNegate %int %85
%87 = OpAccessChain %_ptr_Function_int %r %83
OpStore %87 %86
%88 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_10
%89 = OpLoad %int %88
%90 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%91 = OpLoad %int %90
%92 = OpSNegate %int %91
%93 = OpAccessChain %_ptr_Function_int %r %89
OpStore %93 %92
%94 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_11
%95 = OpLoad %int %94
%96 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%97 = OpLoad %int %96
%98 = OpSNegate %int %97
%99 = OpAccessChain %_ptr_Function_int %r %95
OpStore %99 %98
%100 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
%101 = OpLoad %int %100
%102 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%103 = OpLoad %int %102
%104 = OpSNegate %int %103
%105 = OpAccessChain %_ptr_Function_int %r %101
OpStore %105 %104
%106 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_12
%107 = OpLoad %int %106
%108 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%109 = OpLoad %int %108
%110 = OpSNegate %int %109
%111 = OpAccessChain %_ptr_Function_int %r %107
OpStore %111 %110
%112 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_13
%113 = OpLoad %int %112
%114 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%115 = OpLoad %int %114
%116 = OpSNegate %int %115
%117 = OpAccessChain %_ptr_Function_int %r %113
OpStore %117 %116
%118 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_14
%119 = OpLoad %int %118
%120 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%121 = OpLoad %int %120
%122 = OpSNegate %int %121
%123 = OpAccessChain %_ptr_Function_int %r %119
OpStore %123 %122
%124 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_15
%125 = OpLoad %int %124
%126 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_2
%127 = OpLoad %int %126
%128 = OpSNegate %int %127
%129 = OpAccessChain %_ptr_Function_int %r %125
OpStore %129 %128
OpStore %i %int_0
OpBranch %130
%130 = OpLabel
OpLoopMerge %131 %132 None
OpBranch %133
%133 = OpLabel
%134 = OpLoad %int %i
%135 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
%136 = OpLoad %int %135
%137 = OpSLessThan %bool %134 %136
OpBranchConditional %137 %138 %131
%138 = OpLabel
%139 = OpLoad %int %i
%140 = OpLoad %int %i
%141 = OpNot %int %140
%142 = OpLoad %int %i
%143 = OpNot %int %142
%144 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%145 = OpLoad %int %144
%146 = OpExtInst %int %1 SClamp %141 %143 %145
%147 = OpNot %int %146
%148 = OpAccessChain %_ptr_Function_int %data %139
OpStore %148 %147
OpBranch %132
%132 = OpLabel
%149 = OpLoad %int %i
%150 = OpIAdd %int %149 %int_1
OpStore %i %150
OpBranch %130
%131 = OpLabel
%151 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_5
%152 = OpLoad %int %151
OpStore %i_0 %152
OpBranch %153
%153 = OpLabel
OpLoopMerge %154 %155 None
OpBranch %156
%156 = OpLabel
%157 = OpLoad %int %i_0
%158 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
%159 = OpLoad %int %158
%160 = OpSLessThan %bool %157 %159
OpBranchConditional %160 %161 %154
%161 = OpLabel
%162 = OpLoad %int %i_0
%163 = OpLoad %int %i_0
%164 = OpNot %int %163
%165 = OpExtInst %int %1 SClamp %164 %int_0 %int_1
%166 = OpNot %int %165
%167 = OpAccessChain %_ptr_Function_int %data %162
OpStore %167 %166
OpBranch %155
%155 = OpLabel
%168 = OpLoad %int %i_0
%169 = OpIAdd %int %168 %int_1
OpStore %i_0 %169
OpBranch %153
%154 = OpLabel
%170 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_6
%171 = OpLoad %int %170
OpStore %i_1 %171
OpBranch %172
%172 = OpLabel
OpLoopMerge %173 %174 None
OpBranch %175
%175 = OpLabel
%176 = OpLoad %int %i_1
%177 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_7
%178 = OpLoad %int %177
%179 = OpSLessThan %bool %176 %178
OpBranchConditional %179 %180 %173
%180 = OpLabel
%181 = OpLoad %int %i_1
%182 = OpLoad %int %i_1
%183 = OpExtInst %int %1 SClamp %182 %int_0 %int_1
%184 = OpNot %int %183
%185 = OpAccessChain %_ptr_Function_int %data %181
OpStore %185 %184
OpBranch %174
%174 = OpLabel
%186 = OpLoad %int %i_1
%187 = OpIAdd %int %186 %int_1
OpStore %i_1 %187
OpBranch %172
%173 = OpLabel
%188 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%189 = OpLoad %int %188
OpStore %i_2 %189
OpBranch %190
%190 = OpLabel
OpLoopMerge %191 %192 None
OpBranch %193
%193 = OpLabel
%194 = OpLoad %int %i_2
%195 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_7
%196 = OpLoad %int %195
%197 = OpSLessThan %bool %194 %196
OpBranchConditional %197 %198 %191
%198 = OpLabel
%199 = OpLoad %int %i_2
%200 = OpAccessChain %_ptr_Function_int %data %199
%201 = OpLoad %int %200
%202 = OpLoad %int %i_2
%203 = OpAccessChain %_ptr_Function_int %r %202
%204 = OpLoad %int %203
%205 = OpINotEqual %bool %201 %204
OpSelectionMerge %206 None
OpBranchConditional %205 %207 %206
%207 = OpLabel
%208 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%209 = OpLoad %int %208
%210 = OpConvertSToF %float %209
%211 = OpCompositeConstruct %v4float %210 %210 %210 %210
OpStore %_GLF_color %211
OpReturn
%206 = OpLabel
OpBranch %192
%192 = OpLabel
%212 = OpLoad %int %i_2
%213 = OpIAdd %int %212 %int_1
OpStore %i_2 %213
OpBranch %190
%191 = OpLabel
%214 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%215 = OpLoad %int %214
%216 = OpConvertSToF %float %215
%217 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%218 = OpLoad %int %217
%219 = OpConvertSToF %float %218
%220 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_0
%221 = OpLoad %int %220
%222 = OpConvertSToF %float %221
%223 = OpAccessChain %_ptr_Uniform_int %_ %int_0 %int_1
%224 = OpLoad %int %223
%225 = OpConvertSToF %float %224
%226 = OpCompositeConstruct %v4float %216 %219 %222 %225
OpStore %_GLF_color %226
OpReturn
OpFunctionEnd