Regres: Add pending deqp change to fix bad graphicsfuzz tests
Change-Id: Ida07aa22365990b23dbddf59025506c75e880c22
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/38768
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/tests/regres/deqp-patches/graphicsfuzz-pending-test-fix.patch b/tests/regres/deqp-patches/graphicsfuzz-pending-test-fix.patch
new file mode 100644
index 0000000..e266743
--- /dev/null
+++ b/tests/regres/deqp-patches/graphicsfuzz-pending-test-fix.patch
@@ -0,0 +1,472 @@
+From a5bd5004f721a52b7b274b2bbe2a727723093636 Mon Sep 17 00:00:00 2001
+From: Alastair Donaldson <afdx@google.com>
+Date: Tue, 26 Nov 2019 14:17:11 +0000
+Subject: [PATCH] Fix invalid SPIR-V in GraphicsFuzz tests
+
+Components: Vulkan
+
+VK-GL-CTS Issue: 2122
+
+Affected tests:
+
+dEQP-VK.graphicsfuzz.continue-and-merge
+dEQP-VK.graphicsfuzz.control-flow-switch
+dEQP-VK.graphicsfuzz.discard-continue-return
+dEQP-VK.graphicsfuzz.fragcoord-control-flow-2
+dEQP-VK.graphicsfuzz.fragcoord-control-flow
+dEQP-VK.graphicsfuzz.loop-call-discard
+dEQP-VK.graphicsfuzz.mat-array-deep-control-flow
+dEQP-VK.graphicsfuzz.mat-array-distance
+dEQP-VK.graphicsfuzz.return-in-loop-in-function
+dEQP-VK.graphicsfuzz.unreachable-continue-statement
+
+Change-Id: Iaa7448ee4a815d9e3a1c8a5582214ecd599ac143
+---
+ .../graphicsfuzz/continue-and-merge.amber | 16 +++++++-----
+ .../graphicsfuzz/control-flow-switch.amber | 8 +++---
+ .../discard-continue-return.amber | 6 +++--
+ .../fragcoord-control-flow-2.amber | 14 ++++++----
+ .../graphicsfuzz/fragcoord-control-flow.amber | 26 +++++++++++++------
+ .../graphicsfuzz/loop-call-discard.amber | 16 ++++++++----
+ .../mat-array-deep-control-flow.amber | 12 ++++++---
+ .../graphicsfuzz/mat-array-distance.amber | 14 ++++++----
+ .../return-in-loop-in-function.amber | 6 +++--
+ .../unreachable-continue-statement.amber | 6 +++--
+ 10 files changed, 81 insertions(+), 43 deletions(-)
+
+diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/continue-and-merge.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/continue-and-merge.amber
+index 8e49dd8d0..4eae6504e 100644
+--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/continue-and-merge.amber
++++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/continue-and-merge.amber
+@@ -49,13 +49,15 @@
+ %42 = OpLabel
+ OpLoopMerge %47 %45 None
+ OpBranchConditional %false %49 %47
+- %49 = OpLabel
+- OpLoopMerge %45 %52 None
+- OpBranchConditional %false %45 %45
+- %52 = OpLabel
+- OpBranch %49
+- %45 = OpLabel
+- OpBranch %42
++ %49 = OpLabel
++ OpLoopMerge %50 %52 None
++ OpBranchConditional %false %50 %50
++ %52 = OpLabel
++ OpBranch %49
++ %50 = OpLabel
++ OpBranch %45
++ %45 = OpLabel
++ OpBranch %42
+ %47 = OpLabel
+ OpStore %_GLF_color %red
+ OpReturn
+diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/control-flow-switch.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/control-flow-switch.amber
+index efc9bb1de..113ac09de 100644
+--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/control-flow-switch.amber
++++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/control-flow-switch.amber
+@@ -86,7 +86,7 @@
+ ; SPIR-V
+ ; Version: 1.0
+ ; Generator: Khronos Glslang Reference Front End; 7
+-; Bound: 195
++; Bound: 196
+ ; Schema: 0
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+@@ -157,10 +157,12 @@
+ OpBranchConditional %150 %151 %146
+ %151 = OpLabel
+ %154 = OpConvertFToS %int %124
+- OpSelectionMerge %156 None
++ OpSelectionMerge %195 None
+ OpSwitch %154 %156 9 %157 42 %158
++ %195 = OpLabel
++ OpBranch %156
+ %156 = OpLabel
+- %194 = OpPhi %bool %179 %151 %178 %166
++ %194 = OpPhi %bool %179 %151 %178 %166 %false %195
+ %169 = OpIAdd %int %177 %int_1
+ OpBranch %145
+ %157 = OpLabel
+diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/discard-continue-return.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/discard-continue-return.amber
+index 5890c9908..bc71ac499 100644
+--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/discard-continue-return.amber
++++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/discard-continue-return.amber
+@@ -65,7 +65,7 @@ SHADER fragment variant_fragment_shader SPIRV-ASM
+ ; SPIR-V
+ ; Version: 1.0
+ ; Generator: Khronos Glslang Reference Front End; 7
+-; Bound: 95
++; Bound: 96
+ ; Schema: 0
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+@@ -129,10 +129,12 @@ SHADER fragment variant_fragment_shader SPIRV-ASM
+ %84 = OpAccessChain %36 %32 %34 %35
+ %85 = OpLoad %6 %84
+ %86 = OpFOrdGreaterThan %24 %28 %85
+- OpSelectionMerge %87 None
++ OpSelectionMerge %95 None
+ OpBranchConditional %86 %88 %87
+ %88 = OpLabel
+ OpKill
++ %95 = OpLabel
++ OpBranch %87
+ %87 = OpLabel
+ OpBranchConditional %46 %75 %76
+ %82 = OpLabel
+diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/fragcoord-control-flow-2.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/fragcoord-control-flow-2.amber
+index cfcb9fb32..baa82c96d 100644
+--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/fragcoord-control-flow-2.amber
++++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/fragcoord-control-flow-2.amber
+@@ -57,7 +57,7 @@
+ ; SPIR-V
+ ; Version: 1.0
+ ; Generator: Khronos Glslang Reference Front End; 7
+-; Bound: 96
++; Bound: 98
+ ; Schema: 0
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+@@ -105,7 +105,7 @@
+ %32 = OpLoad %float %31
+ %33 = OpConvertFToS %int %32
+ %35 = OpSLessThan %bool %33 %int_10000000
+- OpSelectionMerge %37 None
++ OpSelectionMerge %96 None
+ OpBranchConditional %35 %36 %38
+ %36 = OpLabel
+ OpBranch %37
+@@ -124,12 +124,14 @@
+ %54 = OpLabel
+ %89 = OpPhi %int %int_0 %47 %62 %55
+ %60 = OpSLessThan %bool %89 %int_1
+- OpLoopMerge %56 %55 None
+- OpBranchConditional %60 %55 %56
++ OpLoopMerge %97 %55 None
++ OpBranchConditional %60 %55 %97
+ %55 = OpLabel
+ OpStore %_GLF_color %12
+ %62 = OpIAdd %int %89 %int_1
+ OpBranch %54
++ %97 = OpLabel
++ OpBranch %56
+ %56 = OpLabel
+ %64 = OpIAdd %int %83 %int_1
+ OpBranch %46
+@@ -151,8 +153,10 @@
+ OpKill
+ %44 = OpLabel
+ OpBranch %37
++ %96 = OpLabel
++ OpBranch %37
+ %37 = OpLabel
+- %95 = OpPhi %v4float %87 %36 %85 %44
++ %95 = OpPhi %v4float %87 %36 %85 %44 %88 %96
+ %81 = OpIAdd %int %82 %int_1
+ OpBranch %17
+ %19 = OpLabel
+diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/fragcoord-control-flow.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/fragcoord-control-flow.amber
+index b7fb85cdf..453944028 100644
+--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/fragcoord-control-flow.amber
++++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/fragcoord-control-flow.amber
+@@ -85,7 +85,7 @@
+ ; SPIR-V
+ ; Version: 1.0
+ ; Generator: Khronos Glslang Reference Front End; 7
+-; Bound: 201
++; Bound: 206
+ ; Schema: 0
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+@@ -146,10 +146,12 @@
+ OpBranch %19
+ %35 = OpLabel
+ %39 = OpFOrdLessThan %bool %32 %float_0
+- OpSelectionMerge %41 None
++ OpSelectionMerge %201 None
+ OpBranchConditional %39 %40 %41
+ %40 = OpLabel
+ OpBranch %19
++ %201 = OpLabel
++ OpBranch %41
+ %41 = OpLabel
+ %44 = OpIAdd %int %167 %int_1
+ OpBranch %17
+@@ -166,8 +168,10 @@
+ %49 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_0
+ %50 = OpLoad %float %49
+ %52 = OpFOrdLessThan %bool %50 %float_40
+- OpSelectionMerge %53 None
++ OpSelectionMerge %202 None
+ OpBranchConditional %52 %53 %55
++ %202 = OpLabel
++ OpBranch %53
+ %53 = OpLabel
+ OpStore %_GLF_color %12
+ OpBranchConditional %false %45 %47
+@@ -187,7 +191,7 @@
+ OpBranchConditional %70 %65 %66
+ %65 = OpLabel
+ %74 = OpFOrdLessThan %bool %50 %float_160
+- OpSelectionMerge %76 None
++ OpSelectionMerge %203 None
+ OpBranchConditional %74 %75 %94
+ %75 = OpLabel
+ OpBranch %78
+@@ -200,13 +204,15 @@
+ %86 = OpAccessChain %_ptr_Input_float %gl_FragCoord %uint_1
+ %87 = OpLoad %float %86
+ %88 = OpFOrdLessThan %bool %87 %float_0
+- OpSelectionMerge %90 None
++ OpSelectionMerge %204 None
+ OpBranchConditional %88 %89 %91
+ %89 = OpLabel
+ OpBranch %90
+ %91 = OpLabel
+ OpStore %_GLF_color %12
+ OpBranch %90
++ %204 = OpLabel
++ OpBranch %90
+ %90 = OpLabel
+ %93 = OpISub %int %185 %int_1
+ OpBranch %78
+@@ -244,12 +250,14 @@
+ %126 = OpLabel
+ %182 = OpPhi %int %int_0 %119 %134 %127
+ %132 = OpSLessThan %bool %182 %int_1
+- OpLoopMerge %128 %127 None
+- OpBranchConditional %132 %127 %128
++ OpLoopMerge %205 %127 None
++ OpBranchConditional %132 %127 %205
+ %127 = OpLabel
+ OpStore %_GLF_color %12
+ %134 = OpIAdd %int %182 %int_1
+ OpBranch %126
++ %205 = OpLabel
++ OpBranch %128
+ %128 = OpLabel
+ %136 = OpIAdd %int %172 %int_1
+ OpBranch %118
+@@ -274,8 +282,10 @@
+ %100 = OpLabel
+ %200 = OpPhi %v4float %176 %104 %174 %116
+ OpBranch %76
++ %203 = OpLabel
++ OpBranch %76
+ %76 = OpLabel
+- %197 = OpPhi %v4float %176 %80 %200 %100
++ %197 = OpPhi %v4float %176 %80 %200 %100 %181 %203
+ %153 = OpISub %int %171 %int_1
+ OpBranch %64
+ %66 = OpLabel
+diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/loop-call-discard.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/loop-call-discard.amber
+index fc164a570..59f78503c 100644
+--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/loop-call-discard.amber
++++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/loop-call-discard.amber
+@@ -113,7 +113,7 @@ SHADER fragment variant_fragment_shader SPIRV-ASM
+ ; SPIR-V
+ ; Version: 1.0
+ ; Generator: Khronos Glslang Reference Front End; 7
+-; Bound: 267
++; Bound: 270
+ ; Schema: 0
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+@@ -209,8 +209,8 @@ SHADER fragment variant_fragment_shader SPIRV-ASM
+ %246 = OpPhi %6 %247 %117 %264 %139
+ %241 = OpPhi %11 %14 %117 %142 %139
+ %126 = OpSLessThan %24 %241 %111
+- OpLoopMerge %122 %139 None
+- OpBranchConditional %126 %121 %122
++ OpLoopMerge %267 %139 None
++ OpBranchConditional %126 %121 %267
+ %121 = OpLabel
+ %128 = OpIMul %11 %111 %241
+ %130 = OpIAdd %11 %128 %240
+@@ -258,10 +258,12 @@ SHADER fragment variant_fragment_shader SPIRV-ASM
+ %217 = OpAccessChain %20 %17 %58
+ %218 = OpLoad %6 %217
+ %219 = OpFOrdLessThan %24 %218 %23
+- OpSelectionMerge %220 None
++ OpSelectionMerge %269 None
+ OpBranchConditional %219 %221 %220
+ %221 = OpLabel
+ OpKill
++ %269 = OpLabel
++ OpBranch %220
+ %220 = OpLabel
+ %224 = OpFMul %6 %78 %249
+ %225 = OpFAdd %6 %224 %28
+@@ -283,13 +285,17 @@ SHADER fragment variant_fragment_shader SPIRV-ASM
+ %135 = OpAccessChain %59 %57 %14 %19
+ %136 = OpLoad %6 %135
+ %137 = OpFOrdGreaterThan %24 %114 %136
+- OpSelectionMerge %139 None
++ OpSelectionMerge %268 None
+ OpBranchConditional %137 %138 %139
+ %138 = OpLabel
+ OpKill
++ %268 = OpLabel
++ OpBranch %139
+ %139 = OpLabel
+ %142 = OpIAdd %11 %241 %84
+ OpBranch %120
++ %267 = OpLabel
++ OpBranch %122
+ %122 = OpLabel
+ %144 = OpIAdd %11 %240 %84
+ OpBranch %105
+diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/mat-array-deep-control-flow.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/mat-array-deep-control-flow.amber
+index a5d60e5b2..ef6c7d45c 100644
+--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/mat-array-deep-control-flow.amber
++++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/mat-array-deep-control-flow.amber
+@@ -60,7 +60,7 @@
+ ; SPIR-V
+ ; Version: 1.0
+ ; Generator: Khronos Glslang Reference Front End; 7
+-; Bound: 104
++; Bound: 106
+ ; Schema: 0
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+@@ -134,8 +134,8 @@
+ %60 = OpLabel
+ %99 = OpPhi %int %int_0 %52 %88 %86
+ %66 = OpSLessThan %bool %99 %int_4
+- OpLoopMerge %62 %86 None
+- OpBranchConditional %66 %61 %62
++ OpLoopMerge %104 %86 None
++ OpBranchConditional %66 %61 %104
+ %61 = OpLabel
+ %74 = OpSelect %int %66 %int_1 %int_0
+ %78 = OpAccessChain %_ptr_Function_float %m %74 %98 %uint_3
+@@ -144,14 +144,18 @@
+ %81 = OpFDiv %v2float %70 %80
+ %83 = OpExtInst %float %1 Distance %70 %81
+ %84 = OpFOrdLessThan %bool %83 %float_1
+- OpSelectionMerge %86 None
++ OpSelectionMerge %105 None
+ OpBranchConditional %84 %85 %86
+ %85 = OpLabel
+ OpStore %_GLF_color %36
+ OpBranch %86
++ %105 = OpLabel
++ OpBranch %86
+ %86 = OpLabel
+ %88 = OpIAdd %int %99 %int_1
+ OpBranch %60
++ %104 = OpLabel
++ OpBranch %62
+ %62 = OpLabel
+ %90 = OpIAdd %int %98 %int_1
+ OpBranch %51
+diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/mat-array-distance.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/mat-array-distance.amber
+index 58e415945..a5658efb8 100644
+--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/mat-array-distance.amber
++++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/mat-array-distance.amber
+@@ -55,7 +55,7 @@
+ ; SPIR-V
+ ; Version: 1.0
+ ; Generator: Khronos Glslang Reference Front End; 7
+-; Bound: 98
++; Bound: 100
+ ; Schema: 0
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+@@ -134,14 +134,14 @@
+ %97 = OpPhi %int %int_0 %42 %66 %81
+ %96 = OpPhi %int %int_0 %42 %84 %81
+ %57 = OpSLessThan %bool %96 %int_4
+- OpLoopMerge %53 %81 None
+- OpBranchConditional %57 %52 %53
++ OpLoopMerge %98 %81 None
++ OpBranchConditional %57 %52 %98
+ %52 = OpLabel
+ %60 = OpSGreaterThanEqual %bool %97 %int_2
+ OpSelectionMerge %62 None
+ OpBranchConditional %60 %61 %62
+ %61 = OpLabel
+- OpBranch %53
++ OpBranch %98
+ %62 = OpLabel
+ %66 = OpIAdd %int %97 %int_1
+ %73 = OpAccessChain %_ptr_Function_v4float %m %96 %95
+@@ -149,14 +149,18 @@
+ %75 = OpVectorShuffle %v2float %74 %74 0 1
+ %78 = OpExtInst %float %1 Distance %76 %75
+ %79 = OpFOrdLessThan %bool %78 %float_1
+- OpSelectionMerge %81 None
++ OpSelectionMerge %99 None
+ OpBranchConditional %79 %80 %81
+ %80 = OpLabel
+ OpStore %_GLF_color %82
+ OpBranch %81
++ %99 = OpLabel
++ OpBranch %81
+ %81 = OpLabel
+ %84 = OpIAdd %int %96 %int_1
+ OpBranch %51
++ %98 = OpLabel
++ OpBranch %53
+ %53 = OpLabel
+ %86 = OpIAdd %int %95 %int_1
+ OpBranch %41
+diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/return-in-loop-in-function.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/return-in-loop-in-function.amber
+index 40cd66caa..dfd656972 100644
+--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/return-in-loop-in-function.amber
++++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/return-in-loop-in-function.amber
+@@ -71,7 +71,7 @@ fbsize 256 256
+ ; SPIR-V
+ ; Version: 1.0
+ ; Generator: Khronos Glslang Reference Front End; 7
+-; Bound: 58
++; Bound: 59
+ ; Schema: 0
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+@@ -154,10 +154,12 @@ fbsize 256 256
+ %23 = OpLoad %10 %12
+ %24 = OpConvertSToF %6 %23
+ %26 = OpFOrdGreaterThanEqual %21 %24 %25
+- OpSelectionMerge %28 None
++ OpSelectionMerge %58 None
+ OpBranchConditional %26 %27 %28
+ %27 = OpLabel
+ OpReturnValue %25
++ %58 = OpLabel
++ OpBranch %28
+ %28 = OpLabel
+ %30 = OpLoad %10 %12
+ %31 = OpIAdd %10 %30 %13
+diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/unreachable-continue-statement.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/unreachable-continue-statement.amber
+index bda5d738f..8eb52cb55 100644
+--- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/unreachable-continue-statement.amber
++++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/unreachable-continue-statement.amber
+@@ -73,7 +73,7 @@ SHADER fragment variant_fragment_shader SPIRV-ASM
+ ; SPIR-V
+ ; Version: 1.0
+ ; Generator: Khronos Glslang Reference Front End; 7
+-; Bound: 52
++; Bound: 53
+ ; Schema: 0
+ OpCapability Shader
+ %1 = OpExtInstImport "GLSL.std.450"
+@@ -143,10 +143,12 @@ SHADER fragment variant_fragment_shader SPIRV-ASM
+ %41 = OpAccessChain %35 %31 %32 %34
+ %42 = OpLoad %6 %41
+ %43 = OpFOrdGreaterThan %26 %42 %14
+- OpSelectionMerge %45 None
++ OpSelectionMerge %52 None
+ OpBranchConditional %43 %44 %45
+ %44 = OpLabel
+ OpBranch %45
++ %52 = OpLabel
++ OpBranch %45
+ %45 = OpLabel
+ OpBranch %21
+ %40 = OpLabel
+--
+2.24.0.432.g9d3f5f5b63-goog
+
diff --git a/tests/regres/deqp.json b/tests/regres/deqp.json
index 84b205c..0b713a6 100644
--- a/tests/regres/deqp.json
+++ b/tests/regres/deqp.json
@@ -2,6 +2,7 @@
"remote": "https://android.googlesource.com/platform/external/deqp",
"sha": "3ca6f6fe2e4e023cb9d4ea763990336d762b49e2",
"patches": [
- "tests/regres/deqp-patches/deqp-x11.patch"
+ "tests/regres/deqp-patches/deqp-x11.patch",
+ "tests/regres/deqp-patches/graphicsfuzz-pending-test-fix.patch"
]
}