#!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: Equivalent shaders except one declares a bvec4

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

SHADER vertex reference_vertex_shader PASSTHROUGH

SHADER fragment reference_fragment_shader SPIRV-ASM TARGET_ENV spv1.0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 7
; Bound: 189
; Schema: 0
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %4 "main" %165 %180
               OpExecutionMode %4 OriginUpperLeft
               OpSource ESSL 320
               OpName %4 "main"
               OpName %15 "collision(vf2;vf4;"
               OpName %13 "pos"
               OpName %14 "quad"
               OpName %19 "match(vf2;"
               OpName %18 "pos"
               OpName %69 "res"
               OpName %75 "i"
               OpName %105 "param"
               OpName %107 "param"
               OpName %109 "indexable"
               OpName %135 "indexable"
               OpName %140 "indexable"
               OpName %154 "indexable"
               OpName %163 "lin"
               OpName %165 "gl_FragCoord"
               OpName %168 "buf0"
               OpMemberName %168 0 "resolution"
               OpName %170 ""
               OpName %180 "_GLF_color"
               OpName %181 "param"
               OpName %185 "index"
               OpName %188 "state"
               OpDecorate %165 BuiltIn FragCoord
               OpMemberDecorate %168 0 Offset 0
               OpDecorate %168 Block
               OpDecorate %170 DescriptorSet 0
               OpDecorate %170 Binding 0
               OpDecorate %180 Location 0
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeFloat 32
          %7 = OpTypeVector %6 2
          %8 = OpTypePointer Function %7
          %9 = OpTypeVector %6 4
         %10 = OpTypePointer Function %9
         %11 = OpTypeBool
         %12 = OpTypeFunction %11 %8 %10
         %17 = OpTypeFunction %9 %8
         %21 = OpTypeInt 32 0
         %22 = OpConstant %21 0
         %23 = OpTypePointer Function %6
         %31 = OpConstantFalse %11
         %33 = OpConstant %21 1
         %46 = OpConstant %21 2
         %58 = OpConstant %21 3
         %66 = OpConstantTrue %11
         %70 = OpConstant %6 0.5
         %71 = OpConstant %6 1
         %72 = OpConstantComposite %9 %70 %70 %71 %71
         %73 = OpTypeInt 32 1
         %74 = OpTypePointer Function %73
         %76 = OpConstant %73 0
         %83 = OpConstant %73 8
         %85 = OpConstant %21 8
         %86 = OpTypeArray %9 %85
         %87 = OpConstant %6 4
         %88 = OpConstant %6 20
         %89 = OpConstantComposite %9 %87 %87 %88 %87
         %90 = OpConstantComposite %9 %87 %87 %87 %88
         %91 = OpConstantComposite %9 %87 %88 %88 %87
         %92 = OpConstant %6 8
         %93 = OpConstantComposite %9 %88 %87 %87 %92
         %94 = OpConstant %6 6
         %95 = OpConstant %6 2
         %96 = OpConstantComposite %9 %92 %94 %87 %95
         %97 = OpConstant %6 12
         %98 = OpConstantComposite %9 %95 %97 %95 %87
         %99 = OpConstant %6 16
        %100 = OpConstantComposite %9 %99 %95 %87 %87
        %101 = OpConstant %6 22
        %102 = OpConstantComposite %9 %97 %101 %87 %87
        %103 = OpConstantComposite %86 %89 %90 %91 %93 %96 %98 %100 %102
        %108 = OpTypePointer Function %86
        %115 = OpConstant %21 16
        %116 = OpTypeArray %9 %115
        %117 = OpConstant %6 0
        %118 = OpConstantComposite %9 %117 %117 %117 %71
        %119 = OpConstantComposite %9 %70 %117 %117 %71
        %120 = OpConstantComposite %9 %117 %70 %117 %71
        %121 = OpConstantComposite %9 %70 %70 %117 %71
        %122 = OpConstantComposite %9 %117 %117 %70 %71
        %123 = OpConstantComposite %9 %70 %117 %70 %71
        %124 = OpConstantComposite %9 %117 %70 %70 %71
        %125 = OpConstantComposite %9 %70 %70 %70 %71
        %126 = OpConstantComposite %9 %71 %117 %117 %71
        %127 = OpConstantComposite %9 %117 %71 %117 %71
        %128 = OpConstantComposite %9 %71 %71 %117 %71
        %129 = OpConstantComposite %9 %117 %117 %71 %71
        %130 = OpConstantComposite %9 %71 %117 %71 %71
        %131 = OpConstantComposite %9 %117 %71 %71 %71
        %132 = OpConstantComposite %9 %71 %71 %71 %71
        %133 = OpConstantComposite %116 %118 %119 %120 %121 %122 %123 %124 %125 %118 %126 %127 %128 %129 %130 %131 %132
        %146 = OpConstant %73 9
        %149 = OpConstant %73 11
        %151 = OpConstant %73 16
        %153 = OpTypePointer Function %116
        %158 = OpConstant %73 1
        %164 = OpTypePointer Input %9
        %165 = OpVariable %164 Input
        %168 = OpTypeStruct %7
        %169 = OpTypePointer Uniform %168
        %170 = OpVariable %169 Uniform
        %171 = OpTypePointer Uniform %7
        %176 = OpConstant %6 32
        %179 = OpTypePointer Output %9
        %180 = OpVariable %179 Output
        %184 = OpTypePointer Private %73
        %185 = OpVariable %184 Private
        %186 = OpTypeArray %73 %115
        %187 = OpTypePointer Private %186
        %188 = OpVariable %187 Private
          %4 = OpFunction %2 None %3
          %5 = OpLabel
        %163 = OpVariable %8 Function
        %181 = OpVariable %8 Function
        %166 = OpLoad %9 %165
        %167 = OpVectorShuffle %7 %166 %166 0 1
        %172 = OpAccessChain %171 %170 %76
        %173 = OpLoad %7 %172
        %174 = OpFDiv %7 %167 %173
               OpStore %163 %174
        %175 = OpLoad %7 %163
        %177 = OpVectorTimesScalar %7 %175 %176
        %178 = OpExtInst %7 %1 Floor %177
               OpStore %163 %178
        %182 = OpLoad %7 %163
               OpStore %181 %182
        %183 = OpFunctionCall %9 %19 %181
               OpStore %180 %183
               OpReturn
               OpFunctionEnd
         %15 = OpFunction %11 None %12
         %13 = OpFunctionParameter %8
         %14 = OpFunctionParameter %10
         %16 = OpLabel
         %24 = OpAccessChain %23 %13 %22
         %25 = OpLoad %6 %24
         %26 = OpAccessChain %23 %14 %22
         %27 = OpLoad %6 %26
         %28 = OpFOrdLessThan %11 %25 %27
               OpSelectionMerge %30 None
               OpBranchConditional %28 %29 %30
         %29 = OpLabel
               OpReturnValue %31
         %30 = OpLabel
         %34 = OpAccessChain %23 %13 %33
         %35 = OpLoad %6 %34
         %36 = OpAccessChain %23 %14 %33
         %37 = OpLoad %6 %36
         %38 = OpFOrdLessThan %11 %35 %37
               OpSelectionMerge %40 None
               OpBranchConditional %38 %39 %40
         %39 = OpLabel
               OpReturnValue %31
         %40 = OpLabel
         %42 = OpAccessChain %23 %13 %22
         %43 = OpLoad %6 %42
         %44 = OpAccessChain %23 %14 %22
         %45 = OpLoad %6 %44
         %47 = OpAccessChain %23 %14 %46
         %48 = OpLoad %6 %47
         %49 = OpFAdd %6 %45 %48
         %50 = OpFOrdGreaterThan %11 %43 %49
               OpSelectionMerge %52 None
               OpBranchConditional %50 %51 %52
         %51 = OpLabel
               OpReturnValue %31
         %52 = OpLabel
         %54 = OpAccessChain %23 %13 %33
         %55 = OpLoad %6 %54
         %56 = OpAccessChain %23 %14 %33
         %57 = OpLoad %6 %56
         %59 = OpAccessChain %23 %14 %58
         %60 = OpLoad %6 %59
         %61 = OpFAdd %6 %57 %60
         %62 = OpFOrdGreaterThan %11 %55 %61
               OpSelectionMerge %64 None
               OpBranchConditional %62 %63 %64
         %63 = OpLabel
               OpReturnValue %31
         %64 = OpLabel
               OpReturnValue %66
               OpFunctionEnd
         %19 = OpFunction %9 None %17
         %18 = OpFunctionParameter %8
         %20 = OpLabel
         %69 = OpVariable %10 Function
         %75 = OpVariable %74 Function
        %105 = OpVariable %8 Function
        %107 = OpVariable %10 Function
        %109 = OpVariable %108 Function
        %135 = OpVariable %108 Function
        %140 = OpVariable %108 Function
        %154 = OpVariable %153 Function
               OpStore %69 %72
               OpStore %75 %76
               OpBranch %77
         %77 = OpLabel
               OpLoopMerge %79 %80 None
               OpBranch %81
         %81 = OpLabel
         %82 = OpLoad %73 %75
         %84 = OpSLessThan %11 %82 %83
               OpBranchConditional %84 %78 %79
         %78 = OpLabel
        %104 = OpLoad %73 %75
        %106 = OpLoad %7 %18
               OpStore %105 %106
               OpStore %109 %103
        %110 = OpAccessChain %10 %109 %104
        %111 = OpLoad %9 %110
               OpStore %107 %111
        %112 = OpFunctionCall %11 %15 %105 %107
               OpSelectionMerge %114 None
               OpBranchConditional %112 %113 %114
        %113 = OpLabel
        %134 = OpLoad %73 %75
               OpStore %135 %103
        %136 = OpAccessChain %23 %135 %134 %22
        %137 = OpLoad %6 %136
        %138 = OpConvertFToS %73 %137
        %139 = OpLoad %73 %75
               OpStore %140 %103
        %141 = OpAccessChain %23 %140 %139 %33
        %142 = OpLoad %6 %141
        %143 = OpConvertFToS %73 %142
        %144 = OpIMul %73 %138 %143
        %145 = OpLoad %73 %75
        %147 = OpIMul %73 %145 %146
        %148 = OpIAdd %73 %144 %147
        %150 = OpIAdd %73 %148 %149
        %152 = OpSMod %73 %150 %151
               OpStore %154 %133
        %155 = OpAccessChain %10 %154 %152
        %156 = OpLoad %9 %155
               OpStore %69 %156
               OpBranch %114
        %114 = OpLabel
               OpBranch %80
         %80 = OpLabel
        %157 = OpLoad %73 %75
        %159 = OpIAdd %73 %157 %158
               OpStore %75 %159
               OpBranch %77
         %79 = OpLabel
        %160 = OpLoad %9 %69
               OpReturnValue %160
               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_RECT POS 0 0 SIZE 256 256


SHADER vertex variant_vertex_shader PASSTHROUGH

SHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0
; SPIR-V
; Version: 1.0
; Generator: Khronos Glslang Reference Front End; 7
; Bound: 366
; Schema: 0
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %4 "main" %165 %180
               OpExecutionMode %4 OriginUpperLeft
               OpSource ESSL 320
               OpName %4 "main"
               OpName %15 "collision(vf2;vf4;"
               OpName %13 "pos"
               OpName %14 "quad"
               OpName %19 "match(vf2;"
               OpName %18 "pos"
               OpName %69 "res"
               OpName %75 "i"
               OpName %105 "param"
               OpName %107 "param"
               OpName %109 "indexable"
               OpName %135 "indexable"
               OpName %140 "indexable"
               OpName %154 "indexable"
               OpName %163 "lin"
               OpName %165 "gl_FragCoord"
               OpName %168 "buf0"
               OpMemberName %168 0 "resolution"
               OpName %170 ""
               OpName %180 "_GLF_color"
               OpName %181 "param"
               OpName %185 "index"
               OpName %188 "state"
               OpDecorate %165 BuiltIn FragCoord
               OpMemberDecorate %168 0 Offset 0
               OpDecorate %168 Block
               OpDecorate %170 DescriptorSet 0
               OpDecorate %170 Binding 0
               OpDecorate %180 Location 0
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeFloat 32
          %7 = OpTypeVector %6 2
          %8 = OpTypePointer Function %7
          %9 = OpTypeVector %6 4
         %10 = OpTypePointer Function %9
         %11 = OpTypeBool
         %12 = OpTypeFunction %11 %8 %10
         %17 = OpTypeFunction %9 %8
         %21 = OpTypeInt 32 0
         %22 = OpConstant %21 0
         %23 = OpTypePointer Function %6
         %31 = OpConstantFalse %11
         %33 = OpConstant %21 1
         %46 = OpConstant %21 2
         %58 = OpConstant %21 3
         %66 = OpConstantTrue %11
         %70 = OpConstant %6 0.5
         %71 = OpConstant %6 1
         %72 = OpConstantComposite %9 %70 %70 %71 %71
         %73 = OpTypeInt 32 1
         %74 = OpTypePointer Function %73
         %76 = OpConstant %73 0
         %83 = OpConstant %73 8
         %85 = OpConstant %21 8
         %86 = OpTypeArray %9 %85
         %87 = OpConstant %6 4
         %88 = OpConstant %6 20
         %89 = OpConstantComposite %9 %87 %87 %88 %87
         %90 = OpConstantComposite %9 %87 %87 %87 %88
         %91 = OpConstantComposite %9 %87 %88 %88 %87
         %92 = OpConstant %6 8
         %93 = OpConstantComposite %9 %88 %87 %87 %92
         %94 = OpConstant %6 6
         %95 = OpConstant %6 2
         %96 = OpConstantComposite %9 %92 %94 %87 %95
         %97 = OpConstant %6 12
         %98 = OpConstantComposite %9 %95 %97 %95 %87
         %99 = OpConstant %6 16
        %100 = OpConstantComposite %9 %99 %95 %87 %87
        %101 = OpConstant %6 22
        %102 = OpConstantComposite %9 %97 %101 %87 %87
        %103 = OpConstantComposite %86 %89 %90 %91 %93 %96 %98 %100 %102
        %108 = OpTypePointer Function %86
        %115 = OpConstant %21 16
        %116 = OpTypeArray %9 %115
        %117 = OpConstant %6 0
        %118 = OpConstantComposite %9 %117 %117 %117 %71
        %119 = OpConstantComposite %9 %70 %117 %117 %71
        %120 = OpConstantComposite %9 %117 %70 %117 %71
        %121 = OpConstantComposite %9 %70 %70 %117 %71
        %122 = OpConstantComposite %9 %117 %117 %70 %71
        %123 = OpConstantComposite %9 %70 %117 %70 %71
        %124 = OpConstantComposite %9 %117 %70 %70 %71
        %125 = OpConstantComposite %9 %70 %70 %70 %71
        %126 = OpConstantComposite %9 %71 %117 %117 %71
        %127 = OpConstantComposite %9 %117 %71 %117 %71
        %128 = OpConstantComposite %9 %71 %71 %117 %71
        %129 = OpConstantComposite %9 %117 %117 %71 %71
        %130 = OpConstantComposite %9 %71 %117 %71 %71
        %131 = OpConstantComposite %9 %117 %71 %71 %71
        %132 = OpConstantComposite %9 %71 %71 %71 %71
        %133 = OpConstantComposite %116 %118 %119 %120 %121 %122 %123 %124 %125 %118 %126 %127 %128 %129 %130 %131 %132
        %146 = OpConstant %73 9
        %149 = OpConstant %73 11
        %151 = OpConstant %73 16
        %153 = OpTypePointer Function %116
        %158 = OpConstant %73 1
        %164 = OpTypePointer Input %9
        %165 = OpVariable %164 Input
        %168 = OpTypeStruct %7
        %169 = OpTypePointer Uniform %168
        %170 = OpVariable %169 Uniform
        %171 = OpTypePointer Uniform %7
        %176 = OpConstant %6 32
        %179 = OpTypePointer Output %9
        %180 = OpVariable %179 Output
        %184 = OpTypePointer Private %73
        %185 = OpVariable %184 Private
        %186 = OpTypeArray %73 %115
        %187 = OpTypePointer Private %186
        %188 = OpVariable %187 Private
        %313 = OpTypeVector %11 4
        %363 = OpTypePointer Function %313
        %364 = OpConstantComposite %313 %31 %31 %31 %31
          %4 = OpFunction %2 None %3
          %5 = OpLabel
        %163 = OpVariable %8 Function
        %181 = OpVariable %8 Function
        %166 = OpLoad %9 %165
        %167 = OpVectorShuffle %7 %166 %166 0 1
        %172 = OpAccessChain %171 %170 %76
        %173 = OpLoad %7 %172
        %174 = OpFDiv %7 %167 %173
               OpStore %163 %174
        %175 = OpLoad %7 %163
        %177 = OpVectorTimesScalar %7 %175 %176
        %178 = OpExtInst %7 %1 Floor %177
               OpStore %163 %178
        %182 = OpLoad %7 %163
               OpStore %181 %182
        %183 = OpFunctionCall %9 %19 %181
               OpStore %180 %183
               OpReturn
               OpFunctionEnd
         %15 = OpFunction %11 None %12
         %13 = OpFunctionParameter %8
         %14 = OpFunctionParameter %10
         %16 = OpLabel
        %365 = OpVariable %363 Function %364
         %24 = OpAccessChain %23 %13 %22
         %25 = OpLoad %6 %24
         %26 = OpAccessChain %23 %14 %22
         %27 = OpLoad %6 %26
         %28 = OpFOrdLessThan %11 %25 %27
               OpSelectionMerge %30 None
               OpBranchConditional %28 %29 %30
         %29 = OpLabel
               OpReturnValue %31
         %30 = OpLabel
         %34 = OpAccessChain %23 %13 %33
         %35 = OpLoad %6 %34
         %36 = OpAccessChain %23 %14 %33
         %37 = OpLoad %6 %36
         %38 = OpFOrdLessThan %11 %35 %37
               OpSelectionMerge %40 None
               OpBranchConditional %38 %39 %40
         %39 = OpLabel
               OpReturnValue %31
         %40 = OpLabel
         %42 = OpAccessChain %23 %13 %22
         %43 = OpLoad %6 %42
         %44 = OpAccessChain %23 %14 %22
         %45 = OpLoad %6 %44
         %47 = OpAccessChain %23 %14 %46
         %48 = OpLoad %6 %47
         %49 = OpFAdd %6 %45 %48
         %50 = OpFOrdGreaterThan %11 %43 %49
               OpSelectionMerge %52 None
               OpBranchConditional %50 %51 %52
         %51 = OpLabel
               OpReturnValue %31
         %52 = OpLabel
         %54 = OpAccessChain %23 %13 %33
         %55 = OpLoad %6 %54
         %56 = OpAccessChain %23 %14 %33
         %57 = OpLoad %6 %56
         %59 = OpAccessChain %23 %14 %58
         %60 = OpLoad %6 %59
         %61 = OpFAdd %6 %57 %60
         %62 = OpFOrdGreaterThan %11 %55 %61
               OpSelectionMerge %64 None
               OpBranchConditional %62 %63 %64
         %63 = OpLabel
               OpReturnValue %31
         %64 = OpLabel
               OpReturnValue %66
               OpFunctionEnd
         %19 = OpFunction %9 None %17
         %18 = OpFunctionParameter %8
         %20 = OpLabel
         %69 = OpVariable %10 Function
         %75 = OpVariable %74 Function
        %105 = OpVariable %8 Function
        %107 = OpVariable %10 Function
        %109 = OpVariable %108 Function
        %135 = OpVariable %108 Function
        %140 = OpVariable %108 Function
        %154 = OpVariable %153 Function
               OpStore %69 %72
               OpStore %75 %76
               OpBranch %77
         %77 = OpLabel
               OpLoopMerge %79 %80 None
               OpBranch %81
         %81 = OpLabel
         %82 = OpLoad %73 %75
         %84 = OpSLessThan %11 %82 %83
               OpBranchConditional %84 %78 %79
         %78 = OpLabel
        %104 = OpLoad %73 %75
        %106 = OpLoad %7 %18
               OpStore %105 %106
               OpStore %109 %103
        %110 = OpAccessChain %10 %109 %104
        %111 = OpLoad %9 %110
               OpStore %107 %111
        %112 = OpFunctionCall %11 %15 %105 %107
               OpSelectionMerge %114 None
               OpBranchConditional %112 %113 %114
        %113 = OpLabel
        %134 = OpLoad %73 %75
               OpStore %135 %103
        %136 = OpAccessChain %23 %135 %134 %22
        %137 = OpLoad %6 %136
        %138 = OpConvertFToS %73 %137
        %139 = OpLoad %73 %75
               OpStore %140 %103
        %141 = OpAccessChain %23 %140 %139 %33
        %142 = OpLoad %6 %141
        %143 = OpConvertFToS %73 %142
        %144 = OpIMul %73 %138 %143
        %145 = OpLoad %73 %75
        %147 = OpIMul %73 %145 %146
        %148 = OpIAdd %73 %144 %147
        %150 = OpIAdd %73 %148 %149
        %152 = OpSMod %73 %150 %151
               OpStore %154 %133
        %155 = OpAccessChain %10 %154 %152
        %156 = OpLoad %9 %155
               OpStore %69 %156
               OpBranch %114
        %114 = OpLabel
               OpBranch %80
         %80 = OpLabel
        %157 = OpLoad %73 %75
        %159 = OpIAdd %73 %157 %158
               OpStore %75 %159
               OpBranch %77
         %79 = OpLabel
        %160 = OpLoad %9 %69
               OpReturnValue %160
               OpFunctionEnd
END

# uniforms for variant

# resolution
BUFFER variant_resolution DATA_TYPE vec2<float> DATA
 256.0 256.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 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
