#!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 GraphicsFuzz.

# Short description: A fragment shader with gl_FragCoord.x less than zero

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

SHADER vertex reference_vertex_shader PASSTHROUGH

# reference_fragment_shader is derived from the following GLSL:
# #version 320 es
# precision highp float;
#
# precision highp int;
#
# layout(location = 0) out vec4 _GLF_color;
#
# struct BST {
#  int data;
#  int leftIndex;
#  int rightIndex;
# } ;
#
# BST tree[10];
#
# void makeTreeNode(inout BST tree, int data)
# {
#  tree.data = data;
#  tree.leftIndex = - 1;
#  tree.rightIndex = - 1;
# }
# void insert(int treeIndex, int data)
# {
#  int baseIndex = 0;
#  while(baseIndex <= treeIndex)
#   {
#    if(data <= tree[baseIndex].data)
#     {
#      if(tree[baseIndex].leftIndex == - 1)
#       {
#        tree[baseIndex].leftIndex = treeIndex;
#        makeTreeNode(tree[treeIndex], data);
#        return;
#       }
#      else
#       {
#        baseIndex = tree[baseIndex].leftIndex;
#        continue;
#       }
#     }
#    else
#     {
#      if(tree[baseIndex].rightIndex == - 1)
#       {
#        tree[baseIndex].rightIndex = treeIndex;
#        makeTreeNode(tree[treeIndex], data);
#        return;
#       }
#      else
#       {
#        baseIndex = tree[baseIndex].rightIndex;
#        continue;
#       }
#     }
#   }
# }
# int search(int target)
# {
#  BST currentNode;
#  int index = 0;
#  while(index != - 1)
#   {
#    currentNode = tree[index];
#    if(currentNode.data == target)
#     {
#      return target;
#     }
#    index = target > currentNode.data ? currentNode.rightIndex : currentNode.leftIndex;
#   }
#  return - 1;
# }
# void main()
# {
#  int treeIndex = 0;
#  makeTreeNode(tree[0], 9);
#  treeIndex ++;
#  insert(treeIndex, 5);
#  treeIndex ++;
#  insert(treeIndex, 12);
#  treeIndex ++;
#  insert(treeIndex, 15);
#  treeIndex ++;
#  insert(treeIndex, 7);
#  treeIndex ++;
#  insert(treeIndex, 8);
#  treeIndex ++;
#  insert(treeIndex, 2);
#  treeIndex ++;
#  insert(treeIndex, 6);
#  treeIndex ++;
#  insert(treeIndex, 17);
#  treeIndex ++;
#  insert(treeIndex, 13);
#  int count = 0;
#  for(int i = 0; i < 20; i ++)
#   {
#    int result = search(i);
#    switch(i)
#     {
#      case 9:
#      case 5:
#      case 12:
#      case 15:
#      case 7:
#      case 8:
#      case 2:
#      case 6:
#      case 17:
#      case 13:
#      if(result == i)
#       {
#        count ++;
#       }
#      break;
#      default:
#      if(result == - 1)
#       {
#        count ++;
#       }
#      break;
#     }
#   }
#  if(count == 20)
#   {
#    _GLF_color = vec4(1.0, 0.0, 0.0, 1.0);
#   }
#  else
#   {
#    _GLF_color = vec4(0.0, 0.0, 1.0, 1.0);
#   }
# }
SHADER fragment reference_fragment_shader SPIRV-ASM TARGET_ENV spv1.0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 260
; Schema: 0
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %4 "main" %254
               OpExecutionMode %4 OriginUpperLeft
               OpSource ESSL 320
               OpName %4 "main"
               OpName %7 "BST"
               OpMemberName %7 0 "data"
               OpMemberName %7 1 "leftIndex"
               OpMemberName %7 2 "rightIndex"
               OpName %13 "makeTreeNode(struct-BST-i1-i1-i11;i1;"
               OpName %11 "tree"
               OpName %12 "data"
               OpName %18 "insert(i1;i1;"
               OpName %16 "treeIndex"
               OpName %17 "data"
               OpName %22 "search(i1;"
               OpName %21 "target"
               OpName %32 "baseIndex"
               OpName %47 "tree"
               OpName %65 "param"
               OpName %69 "param"
               OpName %91 "param"
               OpName %94 "param"
               OpName %105 "index"
               OpName %113 "currentNode"
               OpName %140 "treeIndex"
               OpName %142 "param"
               OpName %145 "param"
               OpName %152 "param"
               OpName %154 "param"
               OpName %159 "param"
               OpName %161 "param"
               OpName %166 "param"
               OpName %168 "param"
               OpName %173 "param"
               OpName %175 "param"
               OpName %180 "param"
               OpName %182 "param"
               OpName %186 "param"
               OpName %188 "param"
               OpName %193 "param"
               OpName %195 "param"
               OpName %200 "param"
               OpName %202 "param"
               OpName %207 "param"
               OpName %209 "param"
               OpName %211 "count"
               OpName %212 "i"
               OpName %221 "result"
               OpName %222 "param"
               OpName %254 "_GLF_color"
               OpDecorate %254 Location 0
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeInt 32 1
          %7 = OpTypeStruct %6 %6 %6
          %8 = OpTypePointer Function %7
          %9 = OpTypePointer Function %6
         %10 = OpTypeFunction %2 %8 %9
         %15 = OpTypeFunction %2 %9 %9
         %20 = OpTypeFunction %6 %9
         %24 = OpConstant %6 0
         %27 = OpConstant %6 1
         %28 = OpConstant %6 -1
         %30 = OpConstant %6 2
         %40 = OpTypeBool
         %43 = OpTypeInt 32 0
         %44 = OpConstant %43 10
         %45 = OpTypeArray %7 %44
         %46 = OpTypePointer Private %45
         %47 = OpVariable %46 Private
         %49 = OpTypePointer Private %6
         %66 = OpTypePointer Private %7
        %141 = OpConstant %6 9
        %151 = OpConstant %6 5
        %158 = OpConstant %6 12
        %165 = OpConstant %6 15
        %172 = OpConstant %6 7
        %179 = OpConstant %6 8
        %192 = OpConstant %6 6
        %199 = OpConstant %6 17
        %206 = OpConstant %6 13
        %219 = OpConstant %6 20
        %251 = OpTypeFloat 32
        %252 = OpTypeVector %251 4
        %253 = OpTypePointer Output %252
        %254 = OpVariable %253 Output
        %255 = OpConstant %251 1
        %256 = OpConstant %251 0
        %257 = OpConstantComposite %252 %255 %256 %256 %255
        %259 = OpConstantComposite %252 %256 %256 %255 %255
          %4 = OpFunction %2 None %3
          %5 = OpLabel
        %140 = OpVariable %9 Function
        %142 = OpVariable %8 Function
        %145 = OpVariable %9 Function
        %152 = OpVariable %9 Function
        %154 = OpVariable %9 Function
        %159 = OpVariable %9 Function
        %161 = OpVariable %9 Function
        %166 = OpVariable %9 Function
        %168 = OpVariable %9 Function
        %173 = OpVariable %9 Function
        %175 = OpVariable %9 Function
        %180 = OpVariable %9 Function
        %182 = OpVariable %9 Function
        %186 = OpVariable %9 Function
        %188 = OpVariable %9 Function
        %193 = OpVariable %9 Function
        %195 = OpVariable %9 Function
        %200 = OpVariable %9 Function
        %202 = OpVariable %9 Function
        %207 = OpVariable %9 Function
        %209 = OpVariable %9 Function
        %211 = OpVariable %9 Function
        %212 = OpVariable %9 Function
        %221 = OpVariable %9 Function
        %222 = OpVariable %9 Function
               OpStore %140 %24
        %143 = OpAccessChain %66 %47 %24
        %144 = OpLoad %7 %143
               OpStore %142 %144
               OpStore %145 %141
        %146 = OpFunctionCall %2 %13 %142 %145
        %147 = OpLoad %7 %142
        %148 = OpAccessChain %66 %47 %24
               OpStore %148 %147
        %149 = OpLoad %6 %140
        %150 = OpIAdd %6 %149 %27
               OpStore %140 %150
        %153 = OpLoad %6 %140
               OpStore %152 %153
               OpStore %154 %151
        %155 = OpFunctionCall %2 %18 %152 %154
        %156 = OpLoad %6 %140
        %157 = OpIAdd %6 %156 %27
               OpStore %140 %157
        %160 = OpLoad %6 %140
               OpStore %159 %160
               OpStore %161 %158
        %162 = OpFunctionCall %2 %18 %159 %161
        %163 = OpLoad %6 %140
        %164 = OpIAdd %6 %163 %27
               OpStore %140 %164
        %167 = OpLoad %6 %140
               OpStore %166 %167
               OpStore %168 %165
        %169 = OpFunctionCall %2 %18 %166 %168
        %170 = OpLoad %6 %140
        %171 = OpIAdd %6 %170 %27
               OpStore %140 %171
        %174 = OpLoad %6 %140
               OpStore %173 %174
               OpStore %175 %172
        %176 = OpFunctionCall %2 %18 %173 %175
        %177 = OpLoad %6 %140
        %178 = OpIAdd %6 %177 %27
               OpStore %140 %178
        %181 = OpLoad %6 %140
               OpStore %180 %181
               OpStore %182 %179
        %183 = OpFunctionCall %2 %18 %180 %182
        %184 = OpLoad %6 %140
        %185 = OpIAdd %6 %184 %27
               OpStore %140 %185
        %187 = OpLoad %6 %140
               OpStore %186 %187
               OpStore %188 %30
        %189 = OpFunctionCall %2 %18 %186 %188
        %190 = OpLoad %6 %140
        %191 = OpIAdd %6 %190 %27
               OpStore %140 %191
        %194 = OpLoad %6 %140
               OpStore %193 %194
               OpStore %195 %192
        %196 = OpFunctionCall %2 %18 %193 %195
        %197 = OpLoad %6 %140
        %198 = OpIAdd %6 %197 %27
               OpStore %140 %198
        %201 = OpLoad %6 %140
               OpStore %200 %201
               OpStore %202 %199
        %203 = OpFunctionCall %2 %18 %200 %202
        %204 = OpLoad %6 %140
        %205 = OpIAdd %6 %204 %27
               OpStore %140 %205
        %208 = OpLoad %6 %140
               OpStore %207 %208
               OpStore %209 %206
        %210 = OpFunctionCall %2 %18 %207 %209
               OpStore %211 %24
               OpStore %212 %24
               OpBranch %213
        %213 = OpLabel
               OpLoopMerge %215 %216 None
               OpBranch %217
        %217 = OpLabel
        %218 = OpLoad %6 %212
        %220 = OpSLessThan %40 %218 %219
               OpBranchConditional %220 %214 %215
        %214 = OpLabel
        %223 = OpLoad %6 %212
               OpStore %222 %223
        %224 = OpFunctionCall %6 %22 %222
               OpStore %221 %224
        %225 = OpLoad %6 %212
               OpSelectionMerge %228 None
               OpSwitch %225 %227 9 %226 5 %226 12 %226 15 %226 7 %226 8 %226 2 %226 6 %226 17 %226 13 %226
        %227 = OpLabel
        %237 = OpLoad %6 %221
        %238 = OpIEqual %40 %237 %28
               OpSelectionMerge %240 None
               OpBranchConditional %238 %239 %240
        %239 = OpLabel
        %241 = OpLoad %6 %211
        %242 = OpIAdd %6 %241 %27
               OpStore %211 %242
               OpBranch %240
        %240 = OpLabel
               OpBranch %228
        %226 = OpLabel
        %229 = OpLoad %6 %221
        %230 = OpLoad %6 %212
        %231 = OpIEqual %40 %229 %230
               OpSelectionMerge %233 None
               OpBranchConditional %231 %232 %233
        %232 = OpLabel
        %234 = OpLoad %6 %211
        %235 = OpIAdd %6 %234 %27
               OpStore %211 %235
               OpBranch %233
        %233 = OpLabel
               OpBranch %228
        %228 = OpLabel
               OpBranch %216
        %216 = OpLabel
        %245 = OpLoad %6 %212
        %246 = OpIAdd %6 %245 %27
               OpStore %212 %246
               OpBranch %213
        %215 = OpLabel
        %247 = OpLoad %6 %211
        %248 = OpIEqual %40 %247 %219
               OpSelectionMerge %250 None
               OpBranchConditional %248 %249 %258
        %249 = OpLabel
               OpStore %254 %257
               OpBranch %250
        %258 = OpLabel
               OpStore %254 %259
               OpBranch %250
        %250 = OpLabel
               OpReturn
               OpFunctionEnd
         %13 = OpFunction %2 None %10
         %11 = OpFunctionParameter %8
         %12 = OpFunctionParameter %9
         %14 = OpLabel
         %25 = OpLoad %6 %12
         %26 = OpAccessChain %9 %11 %24
               OpStore %26 %25
         %29 = OpAccessChain %9 %11 %27
               OpStore %29 %28
         %31 = OpAccessChain %9 %11 %30
               OpStore %31 %28
               OpReturn
               OpFunctionEnd
         %18 = OpFunction %2 None %15
         %16 = OpFunctionParameter %9
         %17 = OpFunctionParameter %9
         %19 = OpLabel
         %32 = OpVariable %9 Function
         %65 = OpVariable %8 Function
         %69 = OpVariable %9 Function
         %91 = OpVariable %8 Function
         %94 = OpVariable %9 Function
               OpStore %32 %24
               OpBranch %33
         %33 = OpLabel
               OpLoopMerge %35 %36 None
               OpBranch %37
         %37 = OpLabel
         %38 = OpLoad %6 %32
         %39 = OpLoad %6 %16
         %41 = OpSLessThanEqual %40 %38 %39
               OpBranchConditional %41 %34 %35
         %34 = OpLabel
         %42 = OpLoad %6 %17
         %48 = OpLoad %6 %32
         %50 = OpAccessChain %49 %47 %48 %24
         %51 = OpLoad %6 %50
         %52 = OpSLessThanEqual %40 %42 %51
               OpSelectionMerge %54 None
               OpBranchConditional %52 %53 %80
         %53 = OpLabel
         %55 = OpLoad %6 %32
         %56 = OpAccessChain %49 %47 %55 %27
         %57 = OpLoad %6 %56
         %58 = OpIEqual %40 %57 %28
               OpSelectionMerge %60 None
               OpBranchConditional %58 %59 %75
         %59 = OpLabel
         %61 = OpLoad %6 %32
         %62 = OpLoad %6 %16
         %63 = OpAccessChain %49 %47 %61 %27
               OpStore %63 %62
         %64 = OpLoad %6 %16
         %67 = OpAccessChain %66 %47 %64
         %68 = OpLoad %7 %67
               OpStore %65 %68
         %70 = OpLoad %6 %17
               OpStore %69 %70
         %71 = OpFunctionCall %2 %13 %65 %69
         %72 = OpLoad %7 %65
         %73 = OpAccessChain %66 %47 %64
               OpStore %73 %72
               OpReturn
         %75 = OpLabel
         %76 = OpLoad %6 %32
         %77 = OpAccessChain %49 %47 %76 %27
         %78 = OpLoad %6 %77
               OpStore %32 %78
               OpBranch %36
         %60 = OpLabel
               OpUnreachable
         %80 = OpLabel
         %81 = OpLoad %6 %32
         %82 = OpAccessChain %49 %47 %81 %30
         %83 = OpLoad %6 %82
         %84 = OpIEqual %40 %83 %28
               OpSelectionMerge %86 None
               OpBranchConditional %84 %85 %100
         %85 = OpLabel
         %87 = OpLoad %6 %32
         %88 = OpLoad %6 %16
         %89 = OpAccessChain %49 %47 %87 %30
               OpStore %89 %88
         %90 = OpLoad %6 %16
         %92 = OpAccessChain %66 %47 %90
         %93 = OpLoad %7 %92
               OpStore %91 %93
         %95 = OpLoad %6 %17
               OpStore %94 %95
         %96 = OpFunctionCall %2 %13 %91 %94
         %97 = OpLoad %7 %91
         %98 = OpAccessChain %66 %47 %90
               OpStore %98 %97
               OpReturn
        %100 = OpLabel
        %101 = OpLoad %6 %32
        %102 = OpAccessChain %49 %47 %101 %30
        %103 = OpLoad %6 %102
               OpStore %32 %103
               OpBranch %36
         %86 = OpLabel
               OpUnreachable
         %54 = OpLabel
               OpUnreachable
         %36 = OpLabel
               OpBranch %33
         %35 = OpLabel
               OpReturn
               OpFunctionEnd
         %22 = OpFunction %6 None %20
         %21 = OpFunctionParameter %9
         %23 = OpLabel
        %105 = OpVariable %9 Function
        %113 = OpVariable %8 Function
        %129 = OpVariable %9 Function
               OpStore %105 %24
               OpBranch %106
        %106 = OpLabel
               OpLoopMerge %108 %109 None
               OpBranch %110
        %110 = OpLabel
        %111 = OpLoad %6 %105
        %112 = OpINotEqual %40 %111 %28
               OpBranchConditional %112 %107 %108
        %107 = OpLabel
        %114 = OpLoad %6 %105
        %115 = OpAccessChain %66 %47 %114
        %116 = OpLoad %7 %115
               OpStore %113 %116
        %117 = OpAccessChain %9 %113 %24
        %118 = OpLoad %6 %117
        %119 = OpLoad %6 %21
        %120 = OpIEqual %40 %118 %119
               OpSelectionMerge %122 None
               OpBranchConditional %120 %121 %122
        %121 = OpLabel
        %123 = OpLoad %6 %21
               OpReturnValue %123
        %122 = OpLabel
        %125 = OpLoad %6 %21
        %126 = OpAccessChain %9 %113 %24
        %127 = OpLoad %6 %126
        %128 = OpSGreaterThan %40 %125 %127
               OpSelectionMerge %131 None
               OpBranchConditional %128 %130 %134
        %130 = OpLabel
        %132 = OpAccessChain %9 %113 %30
        %133 = OpLoad %6 %132
               OpStore %129 %133
               OpBranch %131
        %134 = OpLabel
        %135 = OpAccessChain %9 %113 %27
        %136 = OpLoad %6 %135
               OpStore %129 %136
               OpBranch %131
        %131 = OpLabel
        %137 = OpLoad %6 %129
               OpStore %105 %137
               OpBranch %109
        %109 = OpLabel
               OpBranch %106
        %108 = OpLabel
               OpReturnValue %28
               OpFunctionEnd
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
END
CLEAR_COLOR reference_pipeline 0 0 0 255

CLEAR reference_pipeline
RUN reference_pipeline DRAW_RECT POS 0 0 SIZE 256 256


SHADER vertex variant_vertex_shader PASSTHROUGH

# variant_fragment_shader is derived from the following GLSL:
# #version 320 es
# precision highp float;
#
# precision highp int;
#
# layout(location = 0) out vec4 _GLF_color;
#
# struct BST {
#  int data;
#  int leftIndex;
#  int rightIndex;
# } ;
#
# BST tree[10];
#
# void makeTreeNode(inout BST tree, int data)
# {
#  tree.data = data;
#  tree.leftIndex = - 1;
#  tree.rightIndex = - 1;
# }
# void insert(int treeIndex, int data)
# {
#  int baseIndex = 0;
#  while(baseIndex <= treeIndex)
#   {
#    if(data <= tree[baseIndex].data)
#     {
#      if(tree[baseIndex].leftIndex == - 1)
#       {
#        tree[baseIndex].leftIndex = treeIndex;
#        makeTreeNode(tree[treeIndex], data);
#        return;
#       }
#      else
#       {
#        baseIndex = tree[baseIndex].leftIndex;
#        continue;
#       }
#     }
#    else
#     {
#      if(tree[baseIndex].rightIndex == - 1)
#       {
#        tree[baseIndex].rightIndex = treeIndex;
#        makeTreeNode(tree[treeIndex], data);
#        return;
#       }
#      else
#       {
#        baseIndex = tree[baseIndex].rightIndex;
#        continue;
#       }
#     }
#   }
# }
# int search(int target)
# {
#  BST currentNode;
#  int index = 0;
#  while(index != - 1)
#   {
#    currentNode = tree[index];
#    if(currentNode.data == target)
#     {
#      return target;
#     }
#    index = target > currentNode.data ? currentNode.rightIndex : currentNode.leftIndex;
#   }
#  return - 1;
# }
# void main()
# {
#  int treeIndex = 0;
#  makeTreeNode(tree[0], 9);
#  treeIndex ++;
#  insert(treeIndex, 5);
#  treeIndex ++;
#  insert(treeIndex, 12);
#  treeIndex ++;
#  insert(treeIndex, 15);
#  treeIndex ++;
#  insert(treeIndex, 7);
#  treeIndex ++;
#  insert(treeIndex, 8);
#  treeIndex ++;
#  insert(treeIndex, 2);
#  treeIndex ++;
#  insert(treeIndex, 6);
#  treeIndex ++;
#  insert(treeIndex, 17);
#  treeIndex ++;
#  insert(treeIndex, 13);
#  int count = 0;
#  for(int i = 0; i < 20; i ++)
#   {
#    int result = search(i);
#    switch(i)
#     {
#      case 9:
#      case 5:
#      case 12:
#      case 15:
#      case 7:
#      case 8:
#      case 2:
#      case 6:
#      case 17:
#      case 13:
#      // Always false: gl_Frag_Coord.x < 0.0
#      // Thus, the end result is the same as in the reference shader.
#      if((result == i) || (gl_FragCoord.x < 0.0))
#       {
#        count ++;
#       }
#      break;
#      default:
#      if(result == - 1)
#       {
#        count ++;
#       }
#      break;
#     }
#   }
#  if(count == 20)
#   {
#    _GLF_color = vec4(1.0, 0.0, 0.0, 1.0);
#   }
#  else
#   {
#    _GLF_color = vec4(0.0, 0.0, 1.0, 1.0);
#   }
# }
SHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 10
; Bound: 271
; Schema: 0
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %4 "main" %238 %266
               OpExecutionMode %4 OriginUpperLeft
               OpSource ESSL 320
               OpName %4 "main"
               OpName %7 "BST"
               OpMemberName %7 0 "data"
               OpMemberName %7 1 "leftIndex"
               OpMemberName %7 2 "rightIndex"
               OpName %13 "makeTreeNode(struct-BST-i1-i1-i11;i1;"
               OpName %11 "tree"
               OpName %12 "data"
               OpName %18 "insert(i1;i1;"
               OpName %16 "treeIndex"
               OpName %17 "data"
               OpName %22 "search(i1;"
               OpName %21 "target"
               OpName %32 "baseIndex"
               OpName %47 "tree"
               OpName %65 "param"
               OpName %69 "param"
               OpName %91 "param"
               OpName %94 "param"
               OpName %105 "index"
               OpName %113 "currentNode"
               OpName %140 "treeIndex"
               OpName %142 "param"
               OpName %145 "param"
               OpName %152 "param"
               OpName %154 "param"
               OpName %159 "param"
               OpName %161 "param"
               OpName %166 "param"
               OpName %168 "param"
               OpName %173 "param"
               OpName %175 "param"
               OpName %180 "param"
               OpName %182 "param"
               OpName %186 "param"
               OpName %188 "param"
               OpName %193 "param"
               OpName %195 "param"
               OpName %200 "param"
               OpName %202 "param"
               OpName %207 "param"
               OpName %209 "param"
               OpName %211 "count"
               OpName %212 "i"
               OpName %221 "result"
               OpName %222 "param"
               OpName %238 "gl_FragCoord"
               OpName %266 "_GLF_color"
               OpDecorate %238 BuiltIn FragCoord
               OpDecorate %266 Location 0
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeInt 32 1
          %7 = OpTypeStruct %6 %6 %6
          %8 = OpTypePointer Function %7
          %9 = OpTypePointer Function %6
         %10 = OpTypeFunction %2 %8 %9
         %15 = OpTypeFunction %2 %9 %9
         %20 = OpTypeFunction %6 %9
         %24 = OpConstant %6 0
         %27 = OpConstant %6 1
         %28 = OpConstant %6 -1
         %30 = OpConstant %6 2
         %40 = OpTypeBool
         %43 = OpTypeInt 32 0
         %44 = OpConstant %43 10
         %45 = OpTypeArray %7 %44
         %46 = OpTypePointer Private %45
         %47 = OpVariable %46 Private
         %49 = OpTypePointer Private %6
         %66 = OpTypePointer Private %7
        %141 = OpConstant %6 9
        %151 = OpConstant %6 5
        %158 = OpConstant %6 12
        %165 = OpConstant %6 15
        %172 = OpConstant %6 7
        %179 = OpConstant %6 8
        %192 = OpConstant %6 6
        %199 = OpConstant %6 17
        %206 = OpConstant %6 13
        %219 = OpConstant %6 20
        %235 = OpTypeFloat 32
        %236 = OpTypeVector %235 4
        %237 = OpTypePointer Input %236
        %238 = OpVariable %237 Input
        %239 = OpConstant %43 0
        %240 = OpTypePointer Input %235
        %243 = OpConstant %235 0
        %265 = OpTypePointer Output %236
        %266 = OpVariable %265 Output
        %267 = OpConstant %235 1
        %268 = OpConstantComposite %236 %267 %243 %243 %267
        %270 = OpConstantComposite %236 %243 %243 %267 %267
          %4 = OpFunction %2 None %3
          %5 = OpLabel
        %140 = OpVariable %9 Function
        %142 = OpVariable %8 Function
        %145 = OpVariable %9 Function
        %152 = OpVariable %9 Function
        %154 = OpVariable %9 Function
        %159 = OpVariable %9 Function
        %161 = OpVariable %9 Function
        %166 = OpVariable %9 Function
        %168 = OpVariable %9 Function
        %173 = OpVariable %9 Function
        %175 = OpVariable %9 Function
        %180 = OpVariable %9 Function
        %182 = OpVariable %9 Function
        %186 = OpVariable %9 Function
        %188 = OpVariable %9 Function
        %193 = OpVariable %9 Function
        %195 = OpVariable %9 Function
        %200 = OpVariable %9 Function
        %202 = OpVariable %9 Function
        %207 = OpVariable %9 Function
        %209 = OpVariable %9 Function
        %211 = OpVariable %9 Function
        %212 = OpVariable %9 Function
        %221 = OpVariable %9 Function
        %222 = OpVariable %9 Function
               OpStore %140 %24
        %143 = OpAccessChain %66 %47 %24
        %144 = OpLoad %7 %143
               OpStore %142 %144
               OpStore %145 %141
        %146 = OpFunctionCall %2 %13 %142 %145
        %147 = OpLoad %7 %142
        %148 = OpAccessChain %66 %47 %24
               OpStore %148 %147
        %149 = OpLoad %6 %140
        %150 = OpIAdd %6 %149 %27
               OpStore %140 %150
        %153 = OpLoad %6 %140
               OpStore %152 %153
               OpStore %154 %151
        %155 = OpFunctionCall %2 %18 %152 %154
        %156 = OpLoad %6 %140
        %157 = OpIAdd %6 %156 %27
               OpStore %140 %157
        %160 = OpLoad %6 %140
               OpStore %159 %160
               OpStore %161 %158
        %162 = OpFunctionCall %2 %18 %159 %161
        %163 = OpLoad %6 %140
        %164 = OpIAdd %6 %163 %27
               OpStore %140 %164
        %167 = OpLoad %6 %140
               OpStore %166 %167
               OpStore %168 %165
        %169 = OpFunctionCall %2 %18 %166 %168
        %170 = OpLoad %6 %140
        %171 = OpIAdd %6 %170 %27
               OpStore %140 %171
        %174 = OpLoad %6 %140
               OpStore %173 %174
               OpStore %175 %172
        %176 = OpFunctionCall %2 %18 %173 %175
        %177 = OpLoad %6 %140
        %178 = OpIAdd %6 %177 %27
               OpStore %140 %178
        %181 = OpLoad %6 %140
               OpStore %180 %181
               OpStore %182 %179
        %183 = OpFunctionCall %2 %18 %180 %182
        %184 = OpLoad %6 %140
        %185 = OpIAdd %6 %184 %27
               OpStore %140 %185
        %187 = OpLoad %6 %140
               OpStore %186 %187
               OpStore %188 %30
        %189 = OpFunctionCall %2 %18 %186 %188
        %190 = OpLoad %6 %140
        %191 = OpIAdd %6 %190 %27
               OpStore %140 %191
        %194 = OpLoad %6 %140
               OpStore %193 %194
               OpStore %195 %192
        %196 = OpFunctionCall %2 %18 %193 %195
        %197 = OpLoad %6 %140
        %198 = OpIAdd %6 %197 %27
               OpStore %140 %198
        %201 = OpLoad %6 %140
               OpStore %200 %201
               OpStore %202 %199
        %203 = OpFunctionCall %2 %18 %200 %202
        %204 = OpLoad %6 %140
        %205 = OpIAdd %6 %204 %27
               OpStore %140 %205
        %208 = OpLoad %6 %140
               OpStore %207 %208
               OpStore %209 %206
        %210 = OpFunctionCall %2 %18 %207 %209
               OpStore %211 %24
               OpStore %212 %24
               OpBranch %213
        %213 = OpLabel
               OpLoopMerge %215 %216 None
               OpBranch %217
        %217 = OpLabel
        %218 = OpLoad %6 %212
        %220 = OpSLessThan %40 %218 %219
               OpBranchConditional %220 %214 %215
        %214 = OpLabel
        %223 = OpLoad %6 %212
               OpStore %222 %223
        %224 = OpFunctionCall %6 %22 %222
               OpStore %221 %224
        %225 = OpLoad %6 %212
               OpSelectionMerge %228 None
               OpSwitch %225 %227 9 %226 5 %226 12 %226 15 %226 7 %226 8 %226 2 %226 6 %226 17 %226 13 %226
        %227 = OpLabel
        %251 = OpLoad %6 %221
        %252 = OpIEqual %40 %251 %28
               OpSelectionMerge %254 None
               OpBranchConditional %252 %253 %254
        %253 = OpLabel
        %255 = OpLoad %6 %211
        %256 = OpIAdd %6 %255 %27
               OpStore %211 %256
               OpBranch %254
        %254 = OpLabel
               OpBranch %228
        %226 = OpLabel
        %229 = OpLoad %6 %221
        %230 = OpLoad %6 %212
        %231 = OpIEqual %40 %229 %230
        %232 = OpLogicalNot %40 %231
               OpSelectionMerge %234 None
               OpBranchConditional %232 %233 %234
        %233 = OpLabel
        %241 = OpAccessChain %240 %238 %239
        %242 = OpLoad %235 %241
        %244 = OpFOrdLessThan %40 %242 %243
               OpBranch %234
        %234 = OpLabel
        %245 = OpPhi %40 %231 %226 %244 %233
               OpSelectionMerge %247 None
               OpBranchConditional %245 %246 %247
        %246 = OpLabel
        %248 = OpLoad %6 %211
        %249 = OpIAdd %6 %248 %27
               OpStore %211 %249
               OpBranch %247
        %247 = OpLabel
               OpBranch %228
        %228 = OpLabel
               OpBranch %216
        %216 = OpLabel
        %259 = OpLoad %6 %212
        %260 = OpIAdd %6 %259 %27
               OpStore %212 %260
               OpBranch %213
        %215 = OpLabel
        %261 = OpLoad %6 %211
        %262 = OpIEqual %40 %261 %219
               OpSelectionMerge %264 None
               OpBranchConditional %262 %263 %269
        %263 = OpLabel
               OpStore %266 %268
               OpBranch %264
        %269 = OpLabel
               OpStore %266 %270
               OpBranch %264
        %264 = OpLabel
               OpReturn
               OpFunctionEnd
         %13 = OpFunction %2 None %10
         %11 = OpFunctionParameter %8
         %12 = OpFunctionParameter %9
         %14 = OpLabel
         %25 = OpLoad %6 %12
         %26 = OpAccessChain %9 %11 %24
               OpStore %26 %25
         %29 = OpAccessChain %9 %11 %27
               OpStore %29 %28
         %31 = OpAccessChain %9 %11 %30
               OpStore %31 %28
               OpReturn
               OpFunctionEnd
         %18 = OpFunction %2 None %15
         %16 = OpFunctionParameter %9
         %17 = OpFunctionParameter %9
         %19 = OpLabel
         %32 = OpVariable %9 Function
         %65 = OpVariable %8 Function
         %69 = OpVariable %9 Function
         %91 = OpVariable %8 Function
         %94 = OpVariable %9 Function
               OpStore %32 %24
               OpBranch %33
         %33 = OpLabel
               OpLoopMerge %35 %36 None
               OpBranch %37
         %37 = OpLabel
         %38 = OpLoad %6 %32
         %39 = OpLoad %6 %16
         %41 = OpSLessThanEqual %40 %38 %39
               OpBranchConditional %41 %34 %35
         %34 = OpLabel
         %42 = OpLoad %6 %17
         %48 = OpLoad %6 %32
         %50 = OpAccessChain %49 %47 %48 %24
         %51 = OpLoad %6 %50
         %52 = OpSLessThanEqual %40 %42 %51
               OpSelectionMerge %54 None
               OpBranchConditional %52 %53 %80
         %53 = OpLabel
         %55 = OpLoad %6 %32
         %56 = OpAccessChain %49 %47 %55 %27
         %57 = OpLoad %6 %56
         %58 = OpIEqual %40 %57 %28
               OpSelectionMerge %60 None
               OpBranchConditional %58 %59 %75
         %59 = OpLabel
         %61 = OpLoad %6 %32
         %62 = OpLoad %6 %16
         %63 = OpAccessChain %49 %47 %61 %27
               OpStore %63 %62
         %64 = OpLoad %6 %16
         %67 = OpAccessChain %66 %47 %64
         %68 = OpLoad %7 %67
               OpStore %65 %68
         %70 = OpLoad %6 %17
               OpStore %69 %70
         %71 = OpFunctionCall %2 %13 %65 %69
         %72 = OpLoad %7 %65
         %73 = OpAccessChain %66 %47 %64
               OpStore %73 %72
               OpReturn
         %75 = OpLabel
         %76 = OpLoad %6 %32
         %77 = OpAccessChain %49 %47 %76 %27
         %78 = OpLoad %6 %77
               OpStore %32 %78
               OpBranch %36
         %60 = OpLabel
               OpUnreachable
         %80 = OpLabel
         %81 = OpLoad %6 %32
         %82 = OpAccessChain %49 %47 %81 %30
         %83 = OpLoad %6 %82
         %84 = OpIEqual %40 %83 %28
               OpSelectionMerge %86 None
               OpBranchConditional %84 %85 %100
         %85 = OpLabel
         %87 = OpLoad %6 %32
         %88 = OpLoad %6 %16
         %89 = OpAccessChain %49 %47 %87 %30
               OpStore %89 %88
         %90 = OpLoad %6 %16
         %92 = OpAccessChain %66 %47 %90
         %93 = OpLoad %7 %92
               OpStore %91 %93
         %95 = OpLoad %6 %17
               OpStore %94 %95
         %96 = OpFunctionCall %2 %13 %91 %94
         %97 = OpLoad %7 %91
         %98 = OpAccessChain %66 %47 %90
               OpStore %98 %97
               OpReturn
        %100 = OpLabel
        %101 = OpLoad %6 %32
        %102 = OpAccessChain %49 %47 %101 %30
        %103 = OpLoad %6 %102
               OpStore %32 %103
               OpBranch %36
         %86 = OpLabel
               OpUnreachable
         %54 = OpLabel
               OpUnreachable
         %36 = OpLabel
               OpBranch %33
         %35 = OpLabel
               OpReturn
               OpFunctionEnd
         %22 = OpFunction %6 None %20
         %21 = OpFunctionParameter %9
         %23 = OpLabel
        %105 = OpVariable %9 Function
        %113 = OpVariable %8 Function
        %129 = OpVariable %9 Function
               OpStore %105 %24
               OpBranch %106
        %106 = OpLabel
               OpLoopMerge %108 %109 None
               OpBranch %110
        %110 = OpLabel
        %111 = OpLoad %6 %105
        %112 = OpINotEqual %40 %111 %28
               OpBranchConditional %112 %107 %108
        %107 = OpLabel
        %114 = OpLoad %6 %105
        %115 = OpAccessChain %66 %47 %114
        %116 = OpLoad %7 %115
               OpStore %113 %116
        %117 = OpAccessChain %9 %113 %24
        %118 = OpLoad %6 %117
        %119 = OpLoad %6 %21
        %120 = OpIEqual %40 %118 %119
               OpSelectionMerge %122 None
               OpBranchConditional %120 %121 %122
        %121 = OpLabel
        %123 = OpLoad %6 %21
               OpReturnValue %123
        %122 = OpLabel
        %125 = OpLoad %6 %21
        %126 = OpAccessChain %9 %113 %24
        %127 = OpLoad %6 %126
        %128 = OpSGreaterThan %40 %125 %127
               OpSelectionMerge %131 None
               OpBranchConditional %128 %130 %134
        %130 = OpLabel
        %132 = OpAccessChain %9 %113 %30
        %133 = OpLoad %6 %132
               OpStore %129 %133
               OpBranch %131
        %134 = OpLabel
        %135 = OpAccessChain %9 %113 %27
        %136 = OpLoad %6 %135
               OpStore %129 %136
               OpBranch %131
        %131 = OpLabel
        %137 = OpLoad %6 %129
               OpStore %105 %137
               OpBranch %109
        %109 = OpLabel
               OpBranch %106
        %108 = OpLabel
               OpReturnValue %28
               OpFunctionEnd
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
END
CLEAR_COLOR variant_pipeline 0 0 0 255

CLEAR variant_pipeline
RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 256 256

EXPECT reference_framebuffer EQ_HISTOGRAM_EMD_BUFFER variant_framebuffer TOLERANCE 0.005
