#!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 coverage-gap found by the GraphicsFuzz project.

# Short description: A fragment shader that covers specific NIR code paths

# The test passes because the shader always writes red.

SHADER vertex variant_vertex_shader PASSTHROUGH

# variant_fragment_shader is derived from the following GLSL:
# #version 320 es
# #define _int_0 _GLF_uniform_int_values[0]
# #define _int_1 _GLF_uniform_int_values[1]
# #define _float_1_0 _GLF_uniform_float_values[0]
# #define _float_0_0 _GLF_uniform_float_values[1]
#
# precision highp int;
# precision highp float;
#
# // Contents of _GLF_uniform_float_values: [1.0, 0.0]
# layout(set = 0, binding = 0) uniform buf0
# {
#     float _GLF_uniform_float_values[2];
# };
# // Contents of _GLF_uniform_int_values: [0, 1]
# layout(set = 0, binding = 1) uniform buf1
# {
#     int _GLF_uniform_int_values[2];
# };
# // Contents of injectionSwitch: [0.0, 1.0]
# layout(push_constant) uniform buf_push
# {
#     highp vec2 injectionSwitch;
# };
# layout(location = 0) out vec4 _GLF_color;
#
# void main()
# {
#     int a = _int_0;
#
#     // Always false.
#     if(injectionSwitch.x > injectionSwitch.y)
#         a = _int_1;
#
#     vec2 v = injectionSwitch;
#
#     // Always true.
#     if(a == _int_0 && v.x == _float_0_0 && v.y == _float_1_0)
#         _GLF_color = vec4(_int_1, _int_0, _int_0, _int_1);
#     else
#         _GLF_color = vec4(_int_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: 92
; Schema: 0
               OpCapability Shader
          %1 = OpExtInstImport "GLSL.std.450"
               OpMemoryModel Logical GLSL450
               OpEntryPoint Fragment %4 "main" %73
               OpExecutionMode %4 OriginUpperLeft
               OpSource ESSL 320
               OpName %4 "main"
               OpName %8 "a"
               OpName %12 "buf1"
               OpMemberName %12 0 "_GLF_uniform_int_values"
               OpName %14 ""
               OpName %21 "buf_push"
               OpMemberName %21 0 "injectionSwitch"
               OpName %23 ""
               OpName %39 "v"
               OpName %53 "buf0"
               OpMemberName %53 0 "_GLF_uniform_float_values"
               OpName %55 ""
               OpName %73 "_GLF_color"
               OpDecorate %11 ArrayStride 16
               OpMemberDecorate %12 0 Offset 0
               OpDecorate %12 Block
               OpDecorate %14 DescriptorSet 0
               OpDecorate %14 Binding 1
               OpMemberDecorate %21 0 Offset 0
               OpDecorate %21 Block
               OpDecorate %52 ArrayStride 16
               OpMemberDecorate %53 0 Offset 0
               OpDecorate %53 Block
               OpDecorate %55 DescriptorSet 0
               OpDecorate %55 Binding 0
               OpDecorate %73 Location 0
          %2 = OpTypeVoid
          %3 = OpTypeFunction %2
          %6 = OpTypeInt 32 1
          %7 = OpTypePointer Function %6
          %9 = OpTypeInt 32 0
         %10 = OpConstant %9 2
         %11 = OpTypeArray %6 %10
         %12 = OpTypeStruct %11
         %13 = OpTypePointer Uniform %12
         %14 = OpVariable %13 Uniform
         %15 = OpConstant %6 0
         %16 = OpTypePointer Uniform %6
         %19 = OpTypeFloat 32
         %20 = OpTypeVector %19 2
         %21 = OpTypeStruct %20
         %22 = OpTypePointer PushConstant %21
         %23 = OpVariable %22 PushConstant
         %24 = OpConstant %9 0
         %25 = OpTypePointer PushConstant %19
         %28 = OpConstant %9 1
         %31 = OpTypeBool
         %35 = OpConstant %6 1
         %38 = OpTypePointer Function %20
         %40 = OpTypePointer PushConstant %20
         %49 = OpTypePointer Function %19
         %52 = OpTypeArray %19 %10
         %53 = OpTypeStruct %52
         %54 = OpTypePointer Uniform %53
         %55 = OpVariable %54 Uniform
         %56 = OpTypePointer Uniform %19
         %71 = OpTypeVector %19 4
         %72 = OpTypePointer Output %71
         %73 = OpVariable %72 Output
          %4 = OpFunction %2 None %3
          %5 = OpLabel
          %8 = OpVariable %7 Function
         %39 = OpVariable %38 Function
         %17 = OpAccessChain %16 %14 %15 %15
         %18 = OpLoad %6 %17
               OpStore %8 %18
         %26 = OpAccessChain %25 %23 %15 %24
         %27 = OpLoad %19 %26
         %29 = OpAccessChain %25 %23 %15 %28
         %30 = OpLoad %19 %29
         %32 = OpFOrdGreaterThan %31 %27 %30
               OpSelectionMerge %34 None
               OpBranchConditional %32 %33 %34
         %33 = OpLabel
         %36 = OpAccessChain %16 %14 %15 %35
         %37 = OpLoad %6 %36
               OpStore %8 %37
               OpBranch %34
         %34 = OpLabel
         %41 = OpAccessChain %40 %23 %15
         %42 = OpLoad %20 %41
               OpStore %39 %42
         %43 = OpLoad %6 %8
         %44 = OpAccessChain %16 %14 %15 %15
         %45 = OpLoad %6 %44
         %46 = OpIEqual %31 %43 %45
               OpSelectionMerge %48 None
               OpBranchConditional %46 %47 %48
         %47 = OpLabel
         %50 = OpAccessChain %49 %39 %24
         %51 = OpLoad %19 %50
         %57 = OpAccessChain %56 %55 %15 %35
         %58 = OpLoad %19 %57
         %59 = OpFOrdEqual %31 %51 %58
               OpBranch %48
         %48 = OpLabel
         %60 = OpPhi %31 %46 %34 %59 %47
               OpSelectionMerge %62 None
               OpBranchConditional %60 %61 %62
         %61 = OpLabel
         %63 = OpAccessChain %49 %39 %28
         %64 = OpLoad %19 %63
         %65 = OpAccessChain %56 %55 %15 %15
         %66 = OpLoad %19 %65
         %67 = OpFOrdEqual %31 %64 %66
               OpBranch %62
         %62 = OpLabel
         %68 = OpPhi %31 %60 %48 %67 %61
               OpSelectionMerge %70 None
               OpBranchConditional %68 %69 %87
         %69 = OpLabel
         %74 = OpAccessChain %16 %14 %15 %35
         %75 = OpLoad %6 %74
         %76 = OpConvertSToF %19 %75
         %77 = OpAccessChain %16 %14 %15 %15
         %78 = OpLoad %6 %77
         %79 = OpConvertSToF %19 %78
         %80 = OpAccessChain %16 %14 %15 %15
         %81 = OpLoad %6 %80
         %82 = OpConvertSToF %19 %81
         %83 = OpAccessChain %16 %14 %15 %35
         %84 = OpLoad %6 %83
         %85 = OpConvertSToF %19 %84
         %86 = OpCompositeConstruct %71 %76 %79 %82 %85
               OpStore %73 %86
               OpBranch %70
         %87 = OpLabel
         %88 = OpAccessChain %16 %14 %15 %15
         %89 = OpLoad %6 %88
         %90 = OpConvertSToF %19 %89
         %91 = OpCompositeConstruct %71 %90 %90 %90 %90
               OpStore %73 %91
               OpBranch %70
         %70 = OpLabel
               OpReturn
               OpFunctionEnd
END

# uniforms for variant

# injectionSwitch
BUFFER variant_injectionSwitch DATA_TYPE vec2<float> STD140 DATA
 0.0 1.0
END
# _GLF_uniform_int_values
BUFFER variant__GLF_uniform_int_values DATA_TYPE int32[] STD140 DATA
 0 1
END
# _GLF_uniform_float_values
BUFFER variant__GLF_uniform_float_values DATA_TYPE float[] STD140 DATA
 1.0 0.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_injectionSwitch AS push_constant
  BIND BUFFER variant__GLF_uniform_int_values AS uniform DESCRIPTOR_SET 0 BINDING 1
  BIND BUFFER variant__GLF_uniform_float_values 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 variant_framebuffer IDX 0 0 SIZE 256 256 EQ_RGBA 255 0 0 255
