#!amber

# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


# A test for a bug found by the GraphicsFuzz project.

# Short description: A fragment shader with a for loop containing injection

# The test passes because both shaders render the same image.

# reference_vertex_shader is derived from the following GLSL:
# #version 310 es
# precision highp float;
#
# precision highp int;
#
# vec4 _GLF_FragCoord;
#
# layout(location = 0) in vec4 _GLF_pos;
#
# layout(location = 0) out vec4 frag_color;
#
# layout(set = 0, binding = 0) uniform buf0 {
#  vec2 resolution;
# };
# struct QuicksortObject {
#  int numbers[10];
# } ;
#
# QuicksortObject obj;
#
# void swap(int i, int j)
# {
#  int temp = obj.numbers[i];
#  obj.numbers[i] = obj.numbers[j];
#  obj.numbers[j] = temp;
# }
# int performPartition(int l, int h)
# {
#  int pivot = obj.numbers[h];
#  int i = (l - 1);
#  for(int j = l; j <= h - 1; j ++)
#   {
#    if(obj.numbers[j] <= pivot)
#     {
#      i ++;
#      swap(i, j);
#     }
#   }
#  swap(i + 1, h);
#  return (i + 1);
# }
# void quicksort()
# {
#  int l = 0, h = 9;
#  int stack[10];
#  int top = - 1;
#  stack[++ top] = l;
#  stack[++ top] = h;
#  while(top >= 0)
#   {
#    h = stack[top --];
#    l = stack[top --];
#    int p = performPartition(l, h);
#    if(p - 1 > l)
#     {
#      stack[++ top] = l;
#      stack[++ top] = p - 1;
#     }
#    if(p + 1 < h)
#     {
#      stack[++ top] = p + 1;
#      stack[++ top] = h;
#     }
#   }
# }
# void main()
# {
#  _GLF_FragCoord = (_GLF_pos + vec4(1.0, 1.0, 0.0, 0.0)) * vec4(128.0, 128.0, 1.0, 1.0);
#  for(int i = 0; i < 10; i ++)
#   {
#    obj.numbers[i] = (10 - i);
#    obj.numbers[i] = obj.numbers[i] * obj.numbers[i];
#   }
#  quicksort();
#  vec2 uv = _GLF_FragCoord.xy / resolution;
#  vec3 color = vec3(1.0, 2.0, 3.0);
#  color.x += float(obj.numbers[0]);
#  if(uv.x > (1.0 / 4.0))
#   {
#    color.x += float(obj.numbers[1]);
#   }
#  if(uv.x > (2.0 / 4.0))
#   {
#    color.y += float(obj.numbers[2]);
#   }
#  if(uv.x > (3.0 / 4.0))
#   {
#    color.z += float(obj.numbers[3]);
#   }
#  color.y += float(obj.numbers[4]);
#  if(uv.y > (1.0 / 4.0))
#   {
#    color.x += float(obj.numbers[5]);
#   }
#  if(uv.y > (2.0 / 4.0))
#   {
#    color.y += float(obj.numbers[6]);
#   }
#  if(uv.y > (3.0 / 4.0))
#   {
#    color.z += float(obj.numbers[7]);
#   }
#  color.z += float(obj.numbers[8]);
#  if(abs(uv.x - uv.y) < 0.25)
#   {
#    color.x += float(obj.numbers[9]);
#   }
#  frag_color = vec4(normalize(color), 1.0);
#  gl_Position = _GLF_pos;
# }
SHADER vertex reference_vertex_shader SPIRV-ASM TARGET_ENV spv1.0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 8
; Bound: 345
; Schema: 0
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %4 "main" %157 %333 %342
               OpSource ESSL 310
               OpName %4 "main"
               OpName %11 "swap(i1;i1;"
               OpName %9 "i"
               OpName %10 "j"
               OpName %16 "performPartition(i1;i1;"
               OpName %14 "l"
               OpName %15 "h"
               OpName %18 "quicksort("
               OpName %20 "temp"
               OpName %24 "QuicksortObject"
               OpMemberName %24 0 "numbers"
               OpName %26 "obj"
               OpName %40 "pivot"
               OpName %44 "i"
               OpName %48 "j"
               OpName %69 "param"
               OpName %71 "param"
               OpName %78 "param"
               OpName %79 "param"
               OpName %86 "l"
               OpName %87 "h"
               OpName %89 "top"
               OpName %92 "stack"
               OpName %116 "p"
               OpName %117 "param"
               OpName %119 "param"
               OpName %155 "_GLF_FragCoord"
               OpName %157 "_GLF_pos"
               OpName %166 "i"
               OpName %193 "uv"
               OpName %196 "buf0"
               OpMemberName %196 0 "resolution"
               OpName %198 ""
               OpName %205 "color"
               OpName %333 "frag_color"
               OpName %340 "gl_PerVertex"
               OpMemberName %340 0 "gl_Position"
               OpMemberName %340 1 "gl_PointSize"
               OpName %342 ""
               OpDecorate %157 Location 0
               OpMemberDecorate %196 0 Offset 0
               OpDecorate %196 Block
               OpDecorate %198 DescriptorSet 0
               OpDecorate %198 Binding 0
               OpDecorate %333 Location 0
               OpMemberDecorate %340 0 BuiltIn Position
               OpMemberDecorate %340 1 BuiltIn PointSize
               OpDecorate %340 Block
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeInt 32 1
          %7 = OpTypePointer Function %6
          %8 = OpTypeFunction %2 %7 %7
         %13 = OpTypeFunction %6 %7 %7
         %21 = OpTypeInt 32 0
         %22 = OpConstant %21 10
         %23 = OpTypeArray %6 %22
         %24 = OpTypeStruct %23
         %25 = OpTypePointer Private %24
         %26 = OpVariable %25 Private
         %27 = OpConstant %6 0
         %29 = OpTypePointer Private %6
         %46 = OpConstant %6 1
         %58 = OpTypeBool
         %88 = OpConstant %6 9
         %90 = OpConstant %6 -1
         %91 = OpTypePointer Function %23
        %152 = OpTypeFloat 32
        %153 = OpTypeVector %152 4
        %154 = OpTypePointer Private %153
        %155 = OpVariable %154 Private
        %156 = OpTypePointer Input %153
        %157 = OpVariable %156 Input
        %159 = OpConstant %152 1
        %160 = OpConstant %152 0
        %161 = OpConstantComposite %153 %159 %159 %160 %160
        %163 = OpConstant %152 128
        %164 = OpConstantComposite %153 %163 %163 %159 %159
        %173 = OpConstant %6 10
        %191 = OpTypeVector %152 2
        %192 = OpTypePointer Function %191
        %196 = OpTypeStruct %191
        %197 = OpTypePointer Uniform %196
        %198 = OpVariable %197 Uniform
        %199 = OpTypePointer Uniform %191
        %203 = OpTypeVector %152 3
        %204 = OpTypePointer Function %203
        %206 = OpConstant %152 2
        %207 = OpConstant %152 3
        %208 = OpConstantComposite %203 %159 %206 %207
        %212 = OpConstant %21 0
        %213 = OpTypePointer Function %152
        %220 = OpConstant %152 0.25
        %233 = OpConstant %152 0.5
        %237 = OpConstant %6 2
        %241 = OpConstant %21 1
        %248 = OpConstant %152 0.75
        %252 = OpConstant %6 3
        %256 = OpConstant %21 2
        %261 = OpConstant %6 4
        %274 = OpConstant %6 5
        %287 = OpConstant %6 6
        %300 = OpConstant %6 7
        %308 = OpConstant %6 8
        %332 = OpTypePointer Output %153
        %333 = OpVariable %332 Output
        %340 = OpTypeStruct %153 %152
        %341 = OpTypePointer Output %340
        %342 = OpVariable %341 Output
          %4 = OpFunction %2 None %3
          %5 = OpLabel
        %166 = OpVariable %7 Function
        %193 = OpVariable %192 Function
        %205 = OpVariable %204 Function
        %158 = OpLoad %153 %157
        %162 = OpFAdd %153 %158 %161
        %165 = OpFMul %153 %162 %164
               OpStore %155 %165
               OpStore %166 %27
               OpBranch %167
        %167 = OpLabel
               OpLoopMerge %169 %170 None
               OpBranch %171
        %171 = OpLabel
        %172 = OpLoad %6 %166
        %174 = OpSLessThan %58 %172 %173
               OpBranchConditional %174 %168 %169
        %168 = OpLabel
        %175 = OpLoad %6 %166
        %176 = OpLoad %6 %166
        %177 = OpISub %6 %173 %176
        %178 = OpAccessChain %29 %26 %27 %175
               OpStore %178 %177
        %179 = OpLoad %6 %166
        %180 = OpLoad %6 %166
        %181 = OpAccessChain %29 %26 %27 %180
        %182 = OpLoad %6 %181
        %183 = OpLoad %6 %166
        %184 = OpAccessChain %29 %26 %27 %183
        %185 = OpLoad %6 %184
        %186 = OpIMul %6 %182 %185
        %187 = OpAccessChain %29 %26 %27 %179
               OpStore %187 %186
               OpBranch %170
        %170 = OpLabel
        %188 = OpLoad %6 %166
        %189 = OpIAdd %6 %188 %46
               OpStore %166 %189
               OpBranch %167
        %169 = OpLabel
        %190 = OpFunctionCall %2 %18
        %194 = OpLoad %153 %155
        %195 = OpVectorShuffle %191 %194 %194 0 1
        %200 = OpAccessChain %199 %198 %27
        %201 = OpLoad %191 %200
        %202 = OpFDiv %191 %195 %201
               OpStore %193 %202
               OpStore %205 %208
        %209 = OpAccessChain %29 %26 %27 %27
        %210 = OpLoad %6 %209
        %211 = OpConvertSToF %152 %210
        %214 = OpAccessChain %213 %205 %212
        %215 = OpLoad %152 %214
        %216 = OpFAdd %152 %215 %211
        %217 = OpAccessChain %213 %205 %212
               OpStore %217 %216
        %218 = OpAccessChain %213 %193 %212
        %219 = OpLoad %152 %218
        %221 = OpFOrdGreaterThan %58 %219 %220
               OpSelectionMerge %223 None
               OpBranchConditional %221 %222 %223
        %222 = OpLabel
        %224 = OpAccessChain %29 %26 %27 %46
        %225 = OpLoad %6 %224
        %226 = OpConvertSToF %152 %225
        %227 = OpAccessChain %213 %205 %212
        %228 = OpLoad %152 %227
        %229 = OpFAdd %152 %228 %226
        %230 = OpAccessChain %213 %205 %212
               OpStore %230 %229
               OpBranch %223
        %223 = OpLabel
        %231 = OpAccessChain %213 %193 %212
        %232 = OpLoad %152 %231
        %234 = OpFOrdGreaterThan %58 %232 %233
               OpSelectionMerge %236 None
               OpBranchConditional %234 %235 %236
        %235 = OpLabel
        %238 = OpAccessChain %29 %26 %27 %237
        %239 = OpLoad %6 %238
        %240 = OpConvertSToF %152 %239
        %242 = OpAccessChain %213 %205 %241
        %243 = OpLoad %152 %242
        %244 = OpFAdd %152 %243 %240
        %245 = OpAccessChain %213 %205 %241
               OpStore %245 %244
               OpBranch %236
        %236 = OpLabel
        %246 = OpAccessChain %213 %193 %212
        %247 = OpLoad %152 %246
        %249 = OpFOrdGreaterThan %58 %247 %248
               OpSelectionMerge %251 None
               OpBranchConditional %249 %250 %251
        %250 = OpLabel
        %253 = OpAccessChain %29 %26 %27 %252
        %254 = OpLoad %6 %253
        %255 = OpConvertSToF %152 %254
        %257 = OpAccessChain %213 %205 %256
        %258 = OpLoad %152 %257
        %259 = OpFAdd %152 %258 %255
        %260 = OpAccessChain %213 %205 %256
               OpStore %260 %259
               OpBranch %251
        %251 = OpLabel
        %262 = OpAccessChain %29 %26 %27 %261
        %263 = OpLoad %6 %262
        %264 = OpConvertSToF %152 %263
        %265 = OpAccessChain %213 %205 %241
        %266 = OpLoad %152 %265
        %267 = OpFAdd %152 %266 %264
        %268 = OpAccessChain %213 %205 %241
               OpStore %268 %267
        %269 = OpAccessChain %213 %193 %241
        %270 = OpLoad %152 %269
        %271 = OpFOrdGreaterThan %58 %270 %220
               OpSelectionMerge %273 None
               OpBranchConditional %271 %272 %273
        %272 = OpLabel
        %275 = OpAccessChain %29 %26 %27 %274
        %276 = OpLoad %6 %275
        %277 = OpConvertSToF %152 %276
        %278 = OpAccessChain %213 %205 %212
        %279 = OpLoad %152 %278
        %280 = OpFAdd %152 %279 %277
        %281 = OpAccessChain %213 %205 %212
               OpStore %281 %280
               OpBranch %273
        %273 = OpLabel
        %282 = OpAccessChain %213 %193 %241
        %283 = OpLoad %152 %282
        %284 = OpFOrdGreaterThan %58 %283 %233
               OpSelectionMerge %286 None
               OpBranchConditional %284 %285 %286
        %285 = OpLabel
        %288 = OpAccessChain %29 %26 %27 %287
        %289 = OpLoad %6 %288
        %290 = OpConvertSToF %152 %289
        %291 = OpAccessChain %213 %205 %241
        %292 = OpLoad %152 %291
        %293 = OpFAdd %152 %292 %290
        %294 = OpAccessChain %213 %205 %241
               OpStore %294 %293
               OpBranch %286
        %286 = OpLabel
        %295 = OpAccessChain %213 %193 %241
        %296 = OpLoad %152 %295
        %297 = OpFOrdGreaterThan %58 %296 %248
               OpSelectionMerge %299 None
               OpBranchConditional %297 %298 %299
        %298 = OpLabel
        %301 = OpAccessChain %29 %26 %27 %300
        %302 = OpLoad %6 %301
        %303 = OpConvertSToF %152 %302
        %304 = OpAccessChain %213 %205 %256
        %305 = OpLoad %152 %304
        %306 = OpFAdd %152 %305 %303
        %307 = OpAccessChain %213 %205 %256
               OpStore %307 %306
               OpBranch %299
        %299 = OpLabel
        %309 = OpAccessChain %29 %26 %27 %308
        %310 = OpLoad %6 %309
        %311 = OpConvertSToF %152 %310
        %312 = OpAccessChain %213 %205 %256
        %313 = OpLoad %152 %312
        %314 = OpFAdd %152 %313 %311
        %315 = OpAccessChain %213 %205 %256
               OpStore %315 %314
        %316 = OpAccessChain %213 %193 %212
        %317 = OpLoad %152 %316
        %318 = OpAccessChain %213 %193 %241
        %319 = OpLoad %152 %318
        %320 = OpFSub %152 %317 %319
        %321 = OpExtInst %152 %1 FAbs %320
        %322 = OpFOrdLessThan %58 %321 %220
               OpSelectionMerge %324 None
               OpBranchConditional %322 %323 %324
        %323 = OpLabel
        %325 = OpAccessChain %29 %26 %27 %88
        %326 = OpLoad %6 %325
        %327 = OpConvertSToF %152 %326
        %328 = OpAccessChain %213 %205 %212
        %329 = OpLoad %152 %328
        %330 = OpFAdd %152 %329 %327
        %331 = OpAccessChain %213 %205 %212
               OpStore %331 %330
               OpBranch %324
        %324 = OpLabel
        %334 = OpLoad %203 %205
        %335 = OpExtInst %203 %1 Normalize %334
        %336 = OpCompositeExtract %152 %335 0
        %337 = OpCompositeExtract %152 %335 1
        %338 = OpCompositeExtract %152 %335 2
        %339 = OpCompositeConstruct %153 %336 %337 %338 %159
               OpStore %333 %339
        %343 = OpLoad %153 %157
        %344 = OpAccessChain %332 %342 %27
               OpStore %344 %343
               OpReturn
               OpFunctionEnd
         %11 = OpFunction %2 None %8
          %9 = OpFunctionParameter %7
         %10 = OpFunctionParameter %7
         %12 = OpLabel
         %20 = OpVariable %7 Function
         %28 = OpLoad %6 %9
         %30 = OpAccessChain %29 %26 %27 %28
         %31 = OpLoad %6 %30
               OpStore %20 %31
         %32 = OpLoad %6 %9
         %33 = OpLoad %6 %10
         %34 = OpAccessChain %29 %26 %27 %33
         %35 = OpLoad %6 %34
         %36 = OpAccessChain %29 %26 %27 %32
               OpStore %36 %35
         %37 = OpLoad %6 %10
         %38 = OpLoad %6 %20
         %39 = OpAccessChain %29 %26 %27 %37
               OpStore %39 %38
               OpReturn
               OpFunctionEnd
         %16 = OpFunction %6 None %13
         %14 = OpFunctionParameter %7
         %15 = OpFunctionParameter %7
         %17 = OpLabel
         %40 = OpVariable %7 Function
         %44 = OpVariable %7 Function
         %48 = OpVariable %7 Function
         %69 = OpVariable %7 Function
         %71 = OpVariable %7 Function
         %78 = OpVariable %7 Function
         %79 = OpVariable %7 Function
         %41 = OpLoad %6 %15
         %42 = OpAccessChain %29 %26 %27 %41
         %43 = OpLoad %6 %42
               OpStore %40 %43
         %45 = OpLoad %6 %14
         %47 = OpISub %6 %45 %46
               OpStore %44 %47
         %49 = OpLoad %6 %14
               OpStore %48 %49
               OpBranch %50
         %50 = OpLabel
               OpLoopMerge %52 %53 None
               OpBranch %54
         %54 = OpLabel
         %55 = OpLoad %6 %48
         %56 = OpLoad %6 %15
         %57 = OpISub %6 %56 %46
         %59 = OpSLessThanEqual %58 %55 %57
               OpBranchConditional %59 %51 %52
         %51 = OpLabel
         %60 = OpLoad %6 %48
         %61 = OpAccessChain %29 %26 %27 %60
         %62 = OpLoad %6 %61
         %63 = OpLoad %6 %40
         %64 = OpSLessThanEqual %58 %62 %63
               OpSelectionMerge %66 None
               OpBranchConditional %64 %65 %66
         %65 = OpLabel
         %67 = OpLoad %6 %44
         %68 = OpIAdd %6 %67 %46
               OpStore %44 %68
         %70 = OpLoad %6 %44
               OpStore %69 %70
         %72 = OpLoad %6 %48
               OpStore %71 %72
         %73 = OpFunctionCall %2 %11 %69 %71
               OpBranch %66
         %66 = OpLabel
               OpBranch %53
         %53 = OpLabel
         %74 = OpLoad %6 %48
         %75 = OpIAdd %6 %74 %46
               OpStore %48 %75
               OpBranch %50
         %52 = OpLabel
         %76 = OpLoad %6 %44
         %77 = OpIAdd %6 %76 %46
               OpStore %78 %77
         %80 = OpLoad %6 %15
               OpStore %79 %80
         %81 = OpFunctionCall %2 %11 %78 %79
         %82 = OpLoad %6 %44
         %83 = OpIAdd %6 %82 %46
               OpReturnValue %83
               OpFunctionEnd
         %18 = OpFunction %2 None %3
         %19 = OpLabel
         %86 = OpVariable %7 Function
         %87 = OpVariable %7 Function
         %89 = OpVariable %7 Function
         %92 = OpVariable %91 Function
        %116 = OpVariable %7 Function
        %117 = OpVariable %7 Function
        %119 = OpVariable %7 Function
               OpStore %86 %27
               OpStore %87 %88
               OpStore %89 %90
         %93 = OpLoad %6 %89
         %94 = OpIAdd %6 %93 %46
               OpStore %89 %94
         %95 = OpLoad %6 %86
         %96 = OpAccessChain %7 %92 %94
               OpStore %96 %95
         %97 = OpLoad %6 %89
         %98 = OpIAdd %6 %97 %46
               OpStore %89 %98
         %99 = OpLoad %6 %87
        %100 = OpAccessChain %7 %92 %98
               OpStore %100 %99
               OpBranch %101
        %101 = OpLabel
               OpLoopMerge %103 %104 None
               OpBranch %105
        %105 = OpLabel
        %106 = OpLoad %6 %89
        %107 = OpSGreaterThanEqual %58 %106 %27
               OpBranchConditional %107 %102 %103
        %102 = OpLabel
        %108 = OpLoad %6 %89
        %109 = OpISub %6 %108 %46
               OpStore %89 %109
        %110 = OpAccessChain %7 %92 %108
        %111 = OpLoad %6 %110
               OpStore %87 %111
        %112 = OpLoad %6 %89
        %113 = OpISub %6 %112 %46
               OpStore %89 %113
        %114 = OpAccessChain %7 %92 %112
        %115 = OpLoad %6 %114
               OpStore %86 %115
        %118 = OpLoad %6 %86
               OpStore %117 %118
        %120 = OpLoad %6 %87
               OpStore %119 %120
        %121 = OpFunctionCall %6 %16 %117 %119
               OpStore %116 %121
        %122 = OpLoad %6 %116
        %123 = OpISub %6 %122 %46
        %124 = OpLoad %6 %86
        %125 = OpSGreaterThan %58 %123 %124
               OpSelectionMerge %127 None
               OpBranchConditional %125 %126 %127
        %126 = OpLabel
        %128 = OpLoad %6 %89
        %129 = OpIAdd %6 %128 %46
               OpStore %89 %129
        %130 = OpLoad %6 %86
        %131 = OpAccessChain %7 %92 %129
               OpStore %131 %130
        %132 = OpLoad %6 %89
        %133 = OpIAdd %6 %132 %46
               OpStore %89 %133
        %134 = OpLoad %6 %116
        %135 = OpISub %6 %134 %46
        %136 = OpAccessChain %7 %92 %133
               OpStore %136 %135
               OpBranch %127
        %127 = OpLabel
        %137 = OpLoad %6 %116
        %138 = OpIAdd %6 %137 %46
        %139 = OpLoad %6 %87
        %140 = OpSLessThan %58 %138 %139
               OpSelectionMerge %142 None
               OpBranchConditional %140 %141 %142
        %141 = OpLabel
        %143 = OpLoad %6 %89
        %144 = OpIAdd %6 %143 %46
               OpStore %89 %144
        %145 = OpLoad %6 %116
        %146 = OpIAdd %6 %145 %46
        %147 = OpAccessChain %7 %92 %144
               OpStore %147 %146
        %148 = OpLoad %6 %89
        %149 = OpIAdd %6 %148 %46
               OpStore %89 %149
        %150 = OpLoad %6 %87
        %151 = OpAccessChain %7 %92 %149
               OpStore %151 %150
               OpBranch %142
        %142 = OpLabel
               OpBranch %104
        %104 = OpLabel
               OpBranch %101
        %103 = OpLabel
               OpReturn
               OpFunctionEnd
END

# reference_fragment_shader is derived from the following GLSL:
# #version 310 es
# precision highp float;
#
# layout(location = 0) out vec4 _GLF_color;
#
# layout(location = 0) in vec4 frag_color;
#
# void main()
# {
#  _GLF_color = frag_color;
# }
SHADER fragment reference_fragment_shader SPIRV-ASM TARGET_ENV spv1.0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 8
; Bound: 13
; Schema: 0
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %4 "main" %9 %11
               OpExecutionMode %4 OriginUpperLeft
               OpSource ESSL 310
               OpName %4 "main"
               OpName %9 "_GLF_color"
               OpName %11 "frag_color"
               OpDecorate %9 Location 0
               OpDecorate %11 Location 0
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeFloat 32
          %7 = OpTypeVector %6 4
          %8 = OpTypePointer Output %7
          %9 = OpVariable %8 Output
         %10 = OpTypePointer Input %7
         %11 = OpVariable %10 Input
          %4 = OpFunction %2 None %3
          %5 = OpLabel
         %12 = OpLoad %7 %11
               OpStore %9 %12
               OpReturn
               OpFunctionEnd
END

# uniforms for reference

# resolution
BUFFER reference_resolution DATA_TYPE vec2<float> DATA
 256.0 256.0
END

BUFFER reference_framebuffer FORMAT B8G8R8A8_UNORM

PIPELINE graphics reference_pipeline
  ATTACH reference_vertex_shader
  ATTACH reference_fragment_shader
  FRAMEBUFFER_SIZE 256 256
  BIND BUFFER reference_framebuffer AS color LOCATION 0
  BIND BUFFER reference_resolution AS uniform DESCRIPTOR_SET 0 BINDING 0
END
CLEAR_COLOR reference_pipeline 0 0 0 255

CLEAR reference_pipeline
RUN reference_pipeline DRAW_GRID POS 0 0 SIZE 256 256 CELLS 8 8


# variant_vertex_shader is derived from the following GLSL:
# #version 310 es
# precision highp float;
#
# precision highp int;
#
# vec4 _GLF_FragCoord;
#
# layout(location = 0) in vec4 _GLF_pos;
#
# layout(location = 0) out vec4 frag_color;
#
# layout(set = 0, binding = 1) uniform buf1 {
#  vec2 resolution;
# };
#
# layout(set = 0, binding = 0) uniform buf0 {
#  highp vec2 injectionSwitch;
# };
#
# struct QuicksortObject {
#  int numbers[10];
# } ;
#
# QuicksortObject obj;
#
# void swap(int i, int j)
# {
#  int temp = obj.numbers[i];
#  obj.numbers[i] = obj.numbers[j];
#  obj.numbers[j] = temp;
# }
# int performPartition(int l, int h)
# {
#  int pivot = obj.numbers[h];
#  int i = (l - 1);
#  for(int j = l; j <= h - 1; j ++)
#   {
#    if(obj.numbers[j] <= pivot)
#     {
#      i ++;
#      swap(i, j);
#     }
#   }
#  swap(i + 1, h);
#  return (i + 1);
# }
# void quicksort()
# {
#  int l = 0, h = 9;
#  int stack[10];
#  int top = - 1;
#  stack[++ top] = l;
#  stack[++ top] = h;
#  while(top >= 0)
#   {
#    h = stack[top --];
#    l = stack[top --];
#    int p = performPartition(l, h);
#    if(p - 1 > l)
#     {
#      stack[++ top] = l;
#      stack[++ top] = p - 1;
#     }
#    if(p + 1 < h)
#     {
#      stack[++ top] = p + 1;
#      stack[++ top] = h;
#     }
#   }
# }
# void main()
# {
#  _GLF_FragCoord = (_GLF_pos + vec4(1.0, 1.0, 0.0, 0.0)) * vec4(128.0, 128.0, 1.0, 1.0);
#  for(int i = 0; i < 10; i ++)
#   {
#    obj.numbers[i] = (10 - i);
#    // injectionSwitch.x is always less than injectionSwitch.y,
#    // therefore this break; should always be unreachable.
#    if((injectionSwitch.x > injectionSwitch.y))
#     {
#      break;
#     }
#    obj.numbers[i] = obj.numbers[i] * obj.numbers[i];
#   }
#  quicksort();
#  vec2 uv = _GLF_FragCoord.xy / resolution;
#  vec3 color = vec3(1.0, 2.0, 3.0);
#  color.x += float(obj.numbers[0]);
#  if(uv.x > (1.0 / 4.0))
#   {
#    color.x += float(obj.numbers[1]);
#   }
#  if(uv.x > (2.0 / 4.0))
#   {
#    color.y += float(obj.numbers[2]);
#   }
#  if(uv.x > (3.0 / 4.0))
#   {
#    color.z += float(obj.numbers[3]);
#   }
#  color.y += float(obj.numbers[4]);
#  if(uv.y > (1.0 / 4.0))
#   {
#    color.x += float(obj.numbers[5]);
#   }
#  if(uv.y > (2.0 / 4.0))
#   {
#    color.y += float(obj.numbers[6]);
#   }
#  if(uv.y > (3.0 / 4.0))
#   {
#    color.z += float(obj.numbers[7]);
#   }
#  color.z += float(obj.numbers[8]);
#  if(abs(uv.x - uv.y) < 0.25)
#   {
#    color.x += float(obj.numbers[9]);
#   }
#  frag_color = vec4(normalize(color), 1.0);
#  gl_Position = _GLF_pos;
# }
SHADER vertex variant_vertex_shader SPIRV-ASM TARGET_ENV spv1.0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 8
; Bound: 357
; Schema: 0
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Vertex %4 "main" %157 %345 %354
               OpSource ESSL 310
               OpName %4 "main"
               OpName %11 "swap(i1;i1;"
               OpName %9 "i"
               OpName %10 "j"
               OpName %16 "performPartition(i1;i1;"
               OpName %14 "l"
               OpName %15 "h"
               OpName %18 "quicksort("
               OpName %20 "temp"
               OpName %24 "QuicksortObject"
               OpMemberName %24 0 "numbers"
               OpName %26 "obj"
               OpName %40 "pivot"
               OpName %44 "i"
               OpName %48 "j"
               OpName %69 "param"
               OpName %71 "param"
               OpName %78 "param"
               OpName %79 "param"
               OpName %86 "l"
               OpName %87 "h"
               OpName %89 "top"
               OpName %92 "stack"
               OpName %116 "p"
               OpName %117 "param"
               OpName %119 "param"
               OpName %155 "_GLF_FragCoord"
               OpName %157 "_GLF_pos"
               OpName %166 "i"
               OpName %180 "buf0"
               OpMemberName %180 0 "injectionSwitch"
               OpName %182 ""
               OpName %207 "uv"
               OpName %210 "buf1"
               OpMemberName %210 0 "resolution"
               OpName %212 ""
               OpName %219 "color"
               OpName %345 "frag_color"
               OpName %352 "gl_PerVertex"
               OpMemberName %352 0 "gl_Position"
               OpMemberName %352 1 "gl_PointSize"
               OpName %354 ""
               OpDecorate %157 Location 0
               OpMemberDecorate %180 0 Offset 0
               OpDecorate %180 Block
               OpDecorate %182 DescriptorSet 0
               OpDecorate %182 Binding 0
               OpMemberDecorate %210 0 Offset 0
               OpDecorate %210 Block
               OpDecorate %212 DescriptorSet 0
               OpDecorate %212 Binding 1
               OpDecorate %345 Location 0
               OpMemberDecorate %352 0 BuiltIn Position
               OpMemberDecorate %352 1 BuiltIn PointSize
               OpDecorate %352 Block
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeInt 32 1
          %7 = OpTypePointer Function %6
          %8 = OpTypeFunction %2 %7 %7
         %13 = OpTypeFunction %6 %7 %7
         %21 = OpTypeInt 32 0
         %22 = OpConstant %21 10
         %23 = OpTypeArray %6 %22
         %24 = OpTypeStruct %23
         %25 = OpTypePointer Private %24
         %26 = OpVariable %25 Private
         %27 = OpConstant %6 0
         %29 = OpTypePointer Private %6
         %46 = OpConstant %6 1
         %58 = OpTypeBool
         %88 = OpConstant %6 9
         %90 = OpConstant %6 -1
         %91 = OpTypePointer Function %23
        %152 = OpTypeFloat 32
        %153 = OpTypeVector %152 4
        %154 = OpTypePointer Private %153
        %155 = OpVariable %154 Private
        %156 = OpTypePointer Input %153
        %157 = OpVariable %156 Input
        %159 = OpConstant %152 1
        %160 = OpConstant %152 0
        %161 = OpConstantComposite %153 %159 %159 %160 %160
        %163 = OpConstant %152 128
        %164 = OpConstantComposite %153 %163 %163 %159 %159
        %173 = OpConstant %6 10
        %179 = OpTypeVector %152 2
        %180 = OpTypeStruct %179
        %181 = OpTypePointer Uniform %180
        %182 = OpVariable %181 Uniform
        %183 = OpConstant %21 0
        %184 = OpTypePointer Uniform %152
        %187 = OpConstant %21 1
        %206 = OpTypePointer Function %179
        %210 = OpTypeStruct %179
        %211 = OpTypePointer Uniform %210
        %212 = OpVariable %211 Uniform
        %213 = OpTypePointer Uniform %179
        %217 = OpTypeVector %152 3
        %218 = OpTypePointer Function %217
        %220 = OpConstant %152 2
        %221 = OpConstant %152 3
        %222 = OpConstantComposite %217 %159 %220 %221
        %226 = OpTypePointer Function %152
        %233 = OpConstant %152 0.25
        %246 = OpConstant %152 0.5
        %250 = OpConstant %6 2
        %260 = OpConstant %152 0.75
        %264 = OpConstant %6 3
        %268 = OpConstant %21 2
        %273 = OpConstant %6 4
        %286 = OpConstant %6 5
        %299 = OpConstant %6 6
        %312 = OpConstant %6 7
        %320 = OpConstant %6 8
        %344 = OpTypePointer Output %153
        %345 = OpVariable %344 Output
        %352 = OpTypeStruct %153 %152
        %353 = OpTypePointer Output %352
        %354 = OpVariable %353 Output
          %4 = OpFunction %2 None %3
          %5 = OpLabel
        %166 = OpVariable %7 Function
        %207 = OpVariable %206 Function
        %219 = OpVariable %218 Function
        %158 = OpLoad %153 %157
        %162 = OpFAdd %153 %158 %161
        %165 = OpFMul %153 %162 %164
               OpStore %155 %165
               OpStore %166 %27
               OpBranch %167
        %167 = OpLabel
               OpLoopMerge %169 %170 None
               OpBranch %171
        %171 = OpLabel
        %172 = OpLoad %6 %166
        %174 = OpSLessThan %58 %172 %173
               OpBranchConditional %174 %168 %169
        %168 = OpLabel
        %175 = OpLoad %6 %166
        %176 = OpLoad %6 %166
        %177 = OpISub %6 %173 %176
        %178 = OpAccessChain %29 %26 %27 %175
               OpStore %178 %177
        %185 = OpAccessChain %184 %182 %27 %183
        %186 = OpLoad %152 %185
        %188 = OpAccessChain %184 %182 %27 %187
        %189 = OpLoad %152 %188
        %190 = OpFOrdGreaterThan %58 %186 %189
               OpSelectionMerge %192 None
               OpBranchConditional %190 %191 %192
        %191 = OpLabel
               OpBranch %169
        %192 = OpLabel
        %194 = OpLoad %6 %166
        %195 = OpLoad %6 %166
        %196 = OpAccessChain %29 %26 %27 %195
        %197 = OpLoad %6 %196
        %198 = OpLoad %6 %166
        %199 = OpAccessChain %29 %26 %27 %198
        %200 = OpLoad %6 %199
        %201 = OpIMul %6 %197 %200
        %202 = OpAccessChain %29 %26 %27 %194
               OpStore %202 %201
               OpBranch %170
        %170 = OpLabel
        %203 = OpLoad %6 %166
        %204 = OpIAdd %6 %203 %46
               OpStore %166 %204
               OpBranch %167
        %169 = OpLabel
        %205 = OpFunctionCall %2 %18
        %208 = OpLoad %153 %155
        %209 = OpVectorShuffle %179 %208 %208 0 1
        %214 = OpAccessChain %213 %212 %27
        %215 = OpLoad %179 %214
        %216 = OpFDiv %179 %209 %215
               OpStore %207 %216
               OpStore %219 %222
        %223 = OpAccessChain %29 %26 %27 %27
        %224 = OpLoad %6 %223
        %225 = OpConvertSToF %152 %224
        %227 = OpAccessChain %226 %219 %183
        %228 = OpLoad %152 %227
        %229 = OpFAdd %152 %228 %225
        %230 = OpAccessChain %226 %219 %183
               OpStore %230 %229
        %231 = OpAccessChain %226 %207 %183
        %232 = OpLoad %152 %231
        %234 = OpFOrdGreaterThan %58 %232 %233
               OpSelectionMerge %236 None
               OpBranchConditional %234 %235 %236
        %235 = OpLabel
        %237 = OpAccessChain %29 %26 %27 %46
        %238 = OpLoad %6 %237
        %239 = OpConvertSToF %152 %238
        %240 = OpAccessChain %226 %219 %183
        %241 = OpLoad %152 %240
        %242 = OpFAdd %152 %241 %239
        %243 = OpAccessChain %226 %219 %183
               OpStore %243 %242
               OpBranch %236
        %236 = OpLabel
        %244 = OpAccessChain %226 %207 %183
        %245 = OpLoad %152 %244
        %247 = OpFOrdGreaterThan %58 %245 %246
               OpSelectionMerge %249 None
               OpBranchConditional %247 %248 %249
        %248 = OpLabel
        %251 = OpAccessChain %29 %26 %27 %250
        %252 = OpLoad %6 %251
        %253 = OpConvertSToF %152 %252
        %254 = OpAccessChain %226 %219 %187
        %255 = OpLoad %152 %254
        %256 = OpFAdd %152 %255 %253
        %257 = OpAccessChain %226 %219 %187
               OpStore %257 %256
               OpBranch %249
        %249 = OpLabel
        %258 = OpAccessChain %226 %207 %183
        %259 = OpLoad %152 %258
        %261 = OpFOrdGreaterThan %58 %259 %260
               OpSelectionMerge %263 None
               OpBranchConditional %261 %262 %263
        %262 = OpLabel
        %265 = OpAccessChain %29 %26 %27 %264
        %266 = OpLoad %6 %265
        %267 = OpConvertSToF %152 %266
        %269 = OpAccessChain %226 %219 %268
        %270 = OpLoad %152 %269
        %271 = OpFAdd %152 %270 %267
        %272 = OpAccessChain %226 %219 %268
               OpStore %272 %271
               OpBranch %263
        %263 = OpLabel
        %274 = OpAccessChain %29 %26 %27 %273
        %275 = OpLoad %6 %274
        %276 = OpConvertSToF %152 %275
        %277 = OpAccessChain %226 %219 %187
        %278 = OpLoad %152 %277
        %279 = OpFAdd %152 %278 %276
        %280 = OpAccessChain %226 %219 %187
               OpStore %280 %279
        %281 = OpAccessChain %226 %207 %187
        %282 = OpLoad %152 %281
        %283 = OpFOrdGreaterThan %58 %282 %233
               OpSelectionMerge %285 None
               OpBranchConditional %283 %284 %285
        %284 = OpLabel
        %287 = OpAccessChain %29 %26 %27 %286
        %288 = OpLoad %6 %287
        %289 = OpConvertSToF %152 %288
        %290 = OpAccessChain %226 %219 %183
        %291 = OpLoad %152 %290
        %292 = OpFAdd %152 %291 %289
        %293 = OpAccessChain %226 %219 %183
               OpStore %293 %292
               OpBranch %285
        %285 = OpLabel
        %294 = OpAccessChain %226 %207 %187
        %295 = OpLoad %152 %294
        %296 = OpFOrdGreaterThan %58 %295 %246
               OpSelectionMerge %298 None
               OpBranchConditional %296 %297 %298
        %297 = OpLabel
        %300 = OpAccessChain %29 %26 %27 %299
        %301 = OpLoad %6 %300
        %302 = OpConvertSToF %152 %301
        %303 = OpAccessChain %226 %219 %187
        %304 = OpLoad %152 %303
        %305 = OpFAdd %152 %304 %302
        %306 = OpAccessChain %226 %219 %187
               OpStore %306 %305
               OpBranch %298
        %298 = OpLabel
        %307 = OpAccessChain %226 %207 %187
        %308 = OpLoad %152 %307
        %309 = OpFOrdGreaterThan %58 %308 %260
               OpSelectionMerge %311 None
               OpBranchConditional %309 %310 %311
        %310 = OpLabel
        %313 = OpAccessChain %29 %26 %27 %312
        %314 = OpLoad %6 %313
        %315 = OpConvertSToF %152 %314
        %316 = OpAccessChain %226 %219 %268
        %317 = OpLoad %152 %316
        %318 = OpFAdd %152 %317 %315
        %319 = OpAccessChain %226 %219 %268
               OpStore %319 %318
               OpBranch %311
        %311 = OpLabel
        %321 = OpAccessChain %29 %26 %27 %320
        %322 = OpLoad %6 %321
        %323 = OpConvertSToF %152 %322
        %324 = OpAccessChain %226 %219 %268
        %325 = OpLoad %152 %324
        %326 = OpFAdd %152 %325 %323
        %327 = OpAccessChain %226 %219 %268
               OpStore %327 %326
        %328 = OpAccessChain %226 %207 %183
        %329 = OpLoad %152 %328
        %330 = OpAccessChain %226 %207 %187
        %331 = OpLoad %152 %330
        %332 = OpFSub %152 %329 %331
        %333 = OpExtInst %152 %1 FAbs %332
        %334 = OpFOrdLessThan %58 %333 %233
               OpSelectionMerge %336 None
               OpBranchConditional %334 %335 %336
        %335 = OpLabel
        %337 = OpAccessChain %29 %26 %27 %88
        %338 = OpLoad %6 %337
        %339 = OpConvertSToF %152 %338
        %340 = OpAccessChain %226 %219 %183
        %341 = OpLoad %152 %340
        %342 = OpFAdd %152 %341 %339
        %343 = OpAccessChain %226 %219 %183
               OpStore %343 %342
               OpBranch %336
        %336 = OpLabel
        %346 = OpLoad %217 %219
        %347 = OpExtInst %217 %1 Normalize %346
        %348 = OpCompositeExtract %152 %347 0
        %349 = OpCompositeExtract %152 %347 1
        %350 = OpCompositeExtract %152 %347 2
        %351 = OpCompositeConstruct %153 %348 %349 %350 %159
               OpStore %345 %351
        %355 = OpLoad %153 %157
        %356 = OpAccessChain %344 %354 %27
               OpStore %356 %355
               OpReturn
               OpFunctionEnd
         %11 = OpFunction %2 None %8
          %9 = OpFunctionParameter %7
         %10 = OpFunctionParameter %7
         %12 = OpLabel
         %20 = OpVariable %7 Function
         %28 = OpLoad %6 %9
         %30 = OpAccessChain %29 %26 %27 %28
         %31 = OpLoad %6 %30
               OpStore %20 %31
         %32 = OpLoad %6 %9
         %33 = OpLoad %6 %10
         %34 = OpAccessChain %29 %26 %27 %33
         %35 = OpLoad %6 %34
         %36 = OpAccessChain %29 %26 %27 %32
               OpStore %36 %35
         %37 = OpLoad %6 %10
         %38 = OpLoad %6 %20
         %39 = OpAccessChain %29 %26 %27 %37
               OpStore %39 %38
               OpReturn
               OpFunctionEnd
         %16 = OpFunction %6 None %13
         %14 = OpFunctionParameter %7
         %15 = OpFunctionParameter %7
         %17 = OpLabel
         %40 = OpVariable %7 Function
         %44 = OpVariable %7 Function
         %48 = OpVariable %7 Function
         %69 = OpVariable %7 Function
         %71 = OpVariable %7 Function
         %78 = OpVariable %7 Function
         %79 = OpVariable %7 Function
         %41 = OpLoad %6 %15
         %42 = OpAccessChain %29 %26 %27 %41
         %43 = OpLoad %6 %42
               OpStore %40 %43
         %45 = OpLoad %6 %14
         %47 = OpISub %6 %45 %46
               OpStore %44 %47
         %49 = OpLoad %6 %14
               OpStore %48 %49
               OpBranch %50
         %50 = OpLabel
               OpLoopMerge %52 %53 None
               OpBranch %54
         %54 = OpLabel
         %55 = OpLoad %6 %48
         %56 = OpLoad %6 %15
         %57 = OpISub %6 %56 %46
         %59 = OpSLessThanEqual %58 %55 %57
               OpBranchConditional %59 %51 %52
         %51 = OpLabel
         %60 = OpLoad %6 %48
         %61 = OpAccessChain %29 %26 %27 %60
         %62 = OpLoad %6 %61
         %63 = OpLoad %6 %40
         %64 = OpSLessThanEqual %58 %62 %63
               OpSelectionMerge %66 None
               OpBranchConditional %64 %65 %66
         %65 = OpLabel
         %67 = OpLoad %6 %44
         %68 = OpIAdd %6 %67 %46
               OpStore %44 %68
         %70 = OpLoad %6 %44
               OpStore %69 %70
         %72 = OpLoad %6 %48
               OpStore %71 %72
         %73 = OpFunctionCall %2 %11 %69 %71
               OpBranch %66
         %66 = OpLabel
               OpBranch %53
         %53 = OpLabel
         %74 = OpLoad %6 %48
         %75 = OpIAdd %6 %74 %46
               OpStore %48 %75
               OpBranch %50
         %52 = OpLabel
         %76 = OpLoad %6 %44
         %77 = OpIAdd %6 %76 %46
               OpStore %78 %77
         %80 = OpLoad %6 %15
               OpStore %79 %80
         %81 = OpFunctionCall %2 %11 %78 %79
         %82 = OpLoad %6 %44
         %83 = OpIAdd %6 %82 %46
               OpReturnValue %83
               OpFunctionEnd
         %18 = OpFunction %2 None %3
         %19 = OpLabel
         %86 = OpVariable %7 Function
         %87 = OpVariable %7 Function
         %89 = OpVariable %7 Function
         %92 = OpVariable %91 Function
        %116 = OpVariable %7 Function
        %117 = OpVariable %7 Function
        %119 = OpVariable %7 Function
               OpStore %86 %27
               OpStore %87 %88
               OpStore %89 %90
         %93 = OpLoad %6 %89
         %94 = OpIAdd %6 %93 %46
               OpStore %89 %94
         %95 = OpLoad %6 %86
         %96 = OpAccessChain %7 %92 %94
               OpStore %96 %95
         %97 = OpLoad %6 %89
         %98 = OpIAdd %6 %97 %46
               OpStore %89 %98
         %99 = OpLoad %6 %87
        %100 = OpAccessChain %7 %92 %98
               OpStore %100 %99
               OpBranch %101
        %101 = OpLabel
               OpLoopMerge %103 %104 None
               OpBranch %105
        %105 = OpLabel
        %106 = OpLoad %6 %89
        %107 = OpSGreaterThanEqual %58 %106 %27
               OpBranchConditional %107 %102 %103
        %102 = OpLabel
        %108 = OpLoad %6 %89
        %109 = OpISub %6 %108 %46
               OpStore %89 %109
        %110 = OpAccessChain %7 %92 %108
        %111 = OpLoad %6 %110
               OpStore %87 %111
        %112 = OpLoad %6 %89
        %113 = OpISub %6 %112 %46
               OpStore %89 %113
        %114 = OpAccessChain %7 %92 %112
        %115 = OpLoad %6 %114
               OpStore %86 %115
        %118 = OpLoad %6 %86
               OpStore %117 %118
        %120 = OpLoad %6 %87
               OpStore %119 %120
        %121 = OpFunctionCall %6 %16 %117 %119
               OpStore %116 %121
        %122 = OpLoad %6 %116
        %123 = OpISub %6 %122 %46
        %124 = OpLoad %6 %86
        %125 = OpSGreaterThan %58 %123 %124
               OpSelectionMerge %127 None
               OpBranchConditional %125 %126 %127
        %126 = OpLabel
        %128 = OpLoad %6 %89
        %129 = OpIAdd %6 %128 %46
               OpStore %89 %129
        %130 = OpLoad %6 %86
        %131 = OpAccessChain %7 %92 %129
               OpStore %131 %130
        %132 = OpLoad %6 %89
        %133 = OpIAdd %6 %132 %46
               OpStore %89 %133
        %134 = OpLoad %6 %116
        %135 = OpISub %6 %134 %46
        %136 = OpAccessChain %7 %92 %133
               OpStore %136 %135
               OpBranch %127
        %127 = OpLabel
        %137 = OpLoad %6 %116
        %138 = OpIAdd %6 %137 %46
        %139 = OpLoad %6 %87
        %140 = OpSLessThan %58 %138 %139
               OpSelectionMerge %142 None
               OpBranchConditional %140 %141 %142
        %141 = OpLabel
        %143 = OpLoad %6 %89
        %144 = OpIAdd %6 %143 %46
               OpStore %89 %144
        %145 = OpLoad %6 %116
        %146 = OpIAdd %6 %145 %46
        %147 = OpAccessChain %7 %92 %144
               OpStore %147 %146
        %148 = OpLoad %6 %89
        %149 = OpIAdd %6 %148 %46
               OpStore %89 %149
        %150 = OpLoad %6 %87
        %151 = OpAccessChain %7 %92 %149
               OpStore %151 %150
               OpBranch %142
        %142 = OpLabel
               OpBranch %104
        %104 = OpLabel
               OpBranch %101
        %103 = OpLabel
               OpReturn
               OpFunctionEnd
END

# variant_fragment_shader is derived from the following GLSL:
# #version 310 es
# precision highp float;
#
# layout(location = 0) out vec4 _GLF_color;
#
# layout(location = 0) in vec4 frag_color;
#
# void main()
# {
#  _GLF_color = frag_color;
# }
SHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 8
; Bound: 13
; Schema: 0
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %4 "main" %9 %11
               OpExecutionMode %4 OriginUpperLeft
               OpSource ESSL 310
               OpName %4 "main"
               OpName %9 "_GLF_color"
               OpName %11 "frag_color"
               OpDecorate %9 Location 0
               OpDecorate %11 Location 0
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeFloat 32
          %7 = OpTypeVector %6 4
          %8 = OpTypePointer Output %7
          %9 = OpVariable %8 Output
         %10 = OpTypePointer Input %7
         %11 = OpVariable %10 Input
          %4 = OpFunction %2 None %3
          %5 = OpLabel
         %12 = OpLoad %7 %11
               OpStore %9 %12
               OpReturn
               OpFunctionEnd
END

# uniforms for variant

# resolution
BUFFER variant_resolution DATA_TYPE vec2<float> DATA
 256.0 256.0
END
# injectionSwitch
BUFFER variant_injectionSwitch DATA_TYPE vec2<float> DATA
 0.0 1.0
END

BUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM

PIPELINE graphics variant_pipeline
  ATTACH variant_vertex_shader
  ATTACH variant_fragment_shader
  FRAMEBUFFER_SIZE 256 256
  BIND BUFFER variant_framebuffer AS color LOCATION 0
  BIND BUFFER variant_resolution AS uniform DESCRIPTOR_SET 0 BINDING 1
  BIND BUFFER variant_injectionSwitch AS uniform DESCRIPTOR_SET 0 BINDING 0
END
CLEAR_COLOR variant_pipeline 0 0 0 255

CLEAR variant_pipeline
RUN variant_pipeline DRAW_GRID POS 0 0 SIZE 256 256 CELLS 8 8

EXPECT reference_framebuffer EQ_HISTOGRAM_EMD_BUFFER variant_framebuffer TOLERANCE 0.005
