blob: e266743dca17b34e59224674b0695fd7ae17102e [file] [log] [blame]
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