Remove output variables from compute regression tests

Output variables in GLCompute shaders is not supported in Vulkan.
Recent upgrade of spirv-tools revealed this problem.
This commit is contained in:
Greg Fischer
2021-06-15 15:56:27 -06:00
parent a23e143636
commit cd6b2382d0
6 changed files with 212 additions and 348 deletions

View File

@@ -2,86 +2,57 @@ hlsl.intrinsics.negative.comp
Shader version: 500
local_size = (1, 1, 1)
0:? Sequence
0:2 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; ( temp float)
0:2 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; ( temp void)
0:2 Function Parameters:
0:2 'inF0' ( in float)
0:2 'inF1' ( in float)
0:2 'inF2' ( in float)
0:2 'inI0' ( in int)
0:55 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1;vi1; ( temp void)
0:55 Function Parameters:
0:55 'inF0' ( in 1-component vector of float)
0:55 'inF1' ( in 1-component vector of float)
0:55 'inF2' ( in 1-component vector of float)
0:55 'inI0' ( in 1-component vector of int)
0:62 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vi2; ( temp void)
0:62 Function Parameters:
0:62 'inF0' ( in 2-component vector of float)
0:62 'inF1' ( in 2-component vector of float)
0:62 'inF2' ( in 2-component vector of float)
0:62 'inI0' ( in 2-component vector of int)
0:107 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; ( temp void)
0:107 Function Parameters:
0:107 'inF0' ( in 3-component vector of float)
0:107 'inF1' ( in 3-component vector of float)
0:107 'inF2' ( in 3-component vector of float)
0:107 'inI0' ( in 3-component vector of int)
0:150 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp void)
0:150 Function Parameters:
0:150 'inF0' ( in 4-component vector of float)
0:150 'inF1' ( in 4-component vector of float)
0:150 'inF2' ( in 4-component vector of float)
0:150 'inI0' ( in 4-component vector of int)
0:150 Function Definition: ComputeShaderFunction( ( temp void)
0:150 Function Parameters:
0:? Sequence
0:53 Branch: Return with expression
0:53 Constant:
0:53 0.000000
0:57 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1;vi1; ( temp 1-component vector of float)
0:57 Function Parameters:
0:57 'inF0' ( in 1-component vector of float)
0:57 'inF1' ( in 1-component vector of float)
0:57 'inF2' ( in 1-component vector of float)
0:57 'inI0' ( in 1-component vector of int)
0:? Sequence
0:62 Branch: Return with expression
0:62 Constant:
0:62 0.000000
0:66 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vi2; ( temp 2-component vector of float)
0:66 Function Parameters:
0:66 'inF0' ( in 2-component vector of float)
0:66 'inF1' ( in 2-component vector of float)
0:66 'inF2' ( in 2-component vector of float)
0:66 'inI0' ( in 2-component vector of int)
0:? Sequence
0:109 Branch: Return with expression
0:109 Constant:
0:109 1.000000
0:109 2.000000
0:113 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float)
0:113 Function Parameters:
0:113 'inF0' ( in 3-component vector of float)
0:113 'inF1' ( in 3-component vector of float)
0:113 'inF2' ( in 3-component vector of float)
0:113 'inI0' ( in 3-component vector of int)
0:? Sequence
0:154 Branch: Return with expression
0:154 Constant:
0:154 1.000000
0:154 2.000000
0:154 3.000000
0:158 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
0:158 Function Parameters:
0:158 'inF0' ( in 4-component vector of float)
0:158 'inF1' ( in 4-component vector of float)
0:158 'inF2' ( in 4-component vector of float)
0:158 'inI0' ( in 4-component vector of int)
0:? Sequence
0:199 Branch: Return with expression
0:199 Constant:
0:199 1.000000
0:199 2.000000
0:199 3.000000
0:199 4.000000
0:158 Function Definition: ComputeShaderFunction( ( temp void)
0:158 Function Parameters:
0:? Sequence
0:158 move second child to first child ( temp 4-component vector of float)
0:150 move second child to first child ( temp 4-component vector of float)
0:? 'inF0' ( temp 4-component vector of float)
0:? 'inF0' (layout( location=0) in 4-component vector of float)
0:158 move second child to first child ( temp 4-component vector of float)
0:150 move second child to first child ( temp 4-component vector of float)
0:? 'inF1' ( temp 4-component vector of float)
0:? 'inF1' (layout( location=1) in 4-component vector of float)
0:158 move second child to first child ( temp 4-component vector of float)
0:150 move second child to first child ( temp 4-component vector of float)
0:? 'inF2' ( temp 4-component vector of float)
0:? 'inF2' (layout( location=2) in 4-component vector of float)
0:158 move second child to first child ( temp 4-component vector of int)
0:150 move second child to first child ( temp 4-component vector of int)
0:? 'inI0' ( temp 4-component vector of int)
0:? 'inI0' (layout( location=3) in 4-component vector of int)
0:158 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:158 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
0:? 'inF0' ( temp 4-component vector of float)
0:? 'inF1' ( temp 4-component vector of float)
0:? 'inF2' ( temp 4-component vector of float)
0:? 'inI0' ( temp 4-component vector of int)
0:150 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp void)
0:? 'inF0' ( temp 4-component vector of float)
0:? 'inF1' ( temp 4-component vector of float)
0:? 'inF2' ( temp 4-component vector of float)
0:? 'inI0' ( temp 4-component vector of int)
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'inF0' (layout( location=0) in 4-component vector of float)
0:? 'inF1' (layout( location=1) in 4-component vector of float)
0:? 'inF2' (layout( location=2) in 4-component vector of float)
@@ -94,100 +65,70 @@ Linked compute stage:
Shader version: 500
local_size = (1, 1, 1)
0:? Sequence
0:2 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; ( temp float)
0:2 Function Definition: ComputeShaderFunctionS(f1;f1;f1;i1; ( temp void)
0:2 Function Parameters:
0:2 'inF0' ( in float)
0:2 'inF1' ( in float)
0:2 'inF2' ( in float)
0:2 'inI0' ( in int)
0:55 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1;vi1; ( temp void)
0:55 Function Parameters:
0:55 'inF0' ( in 1-component vector of float)
0:55 'inF1' ( in 1-component vector of float)
0:55 'inF2' ( in 1-component vector of float)
0:55 'inI0' ( in 1-component vector of int)
0:62 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vi2; ( temp void)
0:62 Function Parameters:
0:62 'inF0' ( in 2-component vector of float)
0:62 'inF1' ( in 2-component vector of float)
0:62 'inF2' ( in 2-component vector of float)
0:62 'inI0' ( in 2-component vector of int)
0:107 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; ( temp void)
0:107 Function Parameters:
0:107 'inF0' ( in 3-component vector of float)
0:107 'inF1' ( in 3-component vector of float)
0:107 'inF2' ( in 3-component vector of float)
0:107 'inI0' ( in 3-component vector of int)
0:150 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp void)
0:150 Function Parameters:
0:150 'inF0' ( in 4-component vector of float)
0:150 'inF1' ( in 4-component vector of float)
0:150 'inF2' ( in 4-component vector of float)
0:150 'inI0' ( in 4-component vector of int)
0:150 Function Definition: ComputeShaderFunction( ( temp void)
0:150 Function Parameters:
0:? Sequence
0:53 Branch: Return with expression
0:53 Constant:
0:53 0.000000
0:57 Function Definition: ComputeShaderFunction1(vf1;vf1;vf1;vi1; ( temp 1-component vector of float)
0:57 Function Parameters:
0:57 'inF0' ( in 1-component vector of float)
0:57 'inF1' ( in 1-component vector of float)
0:57 'inF2' ( in 1-component vector of float)
0:57 'inI0' ( in 1-component vector of int)
0:? Sequence
0:62 Branch: Return with expression
0:62 Constant:
0:62 0.000000
0:66 Function Definition: ComputeShaderFunction2(vf2;vf2;vf2;vi2; ( temp 2-component vector of float)
0:66 Function Parameters:
0:66 'inF0' ( in 2-component vector of float)
0:66 'inF1' ( in 2-component vector of float)
0:66 'inF2' ( in 2-component vector of float)
0:66 'inI0' ( in 2-component vector of int)
0:? Sequence
0:109 Branch: Return with expression
0:109 Constant:
0:109 1.000000
0:109 2.000000
0:113 Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float)
0:113 Function Parameters:
0:113 'inF0' ( in 3-component vector of float)
0:113 'inF1' ( in 3-component vector of float)
0:113 'inF2' ( in 3-component vector of float)
0:113 'inI0' ( in 3-component vector of int)
0:? Sequence
0:154 Branch: Return with expression
0:154 Constant:
0:154 1.000000
0:154 2.000000
0:154 3.000000
0:158 Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
0:158 Function Parameters:
0:158 'inF0' ( in 4-component vector of float)
0:158 'inF1' ( in 4-component vector of float)
0:158 'inF2' ( in 4-component vector of float)
0:158 'inI0' ( in 4-component vector of int)
0:? Sequence
0:199 Branch: Return with expression
0:199 Constant:
0:199 1.000000
0:199 2.000000
0:199 3.000000
0:199 4.000000
0:158 Function Definition: ComputeShaderFunction( ( temp void)
0:158 Function Parameters:
0:? Sequence
0:158 move second child to first child ( temp 4-component vector of float)
0:150 move second child to first child ( temp 4-component vector of float)
0:? 'inF0' ( temp 4-component vector of float)
0:? 'inF0' (layout( location=0) in 4-component vector of float)
0:158 move second child to first child ( temp 4-component vector of float)
0:150 move second child to first child ( temp 4-component vector of float)
0:? 'inF1' ( temp 4-component vector of float)
0:? 'inF1' (layout( location=1) in 4-component vector of float)
0:158 move second child to first child ( temp 4-component vector of float)
0:150 move second child to first child ( temp 4-component vector of float)
0:? 'inF2' ( temp 4-component vector of float)
0:? 'inF2' (layout( location=2) in 4-component vector of float)
0:158 move second child to first child ( temp 4-component vector of int)
0:150 move second child to first child ( temp 4-component vector of int)
0:? 'inI0' ( temp 4-component vector of int)
0:? 'inI0' (layout( location=3) in 4-component vector of int)
0:158 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:158 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
0:? 'inF0' ( temp 4-component vector of float)
0:? 'inF1' ( temp 4-component vector of float)
0:? 'inF2' ( temp 4-component vector of float)
0:? 'inI0' ( temp 4-component vector of int)
0:150 Function Call: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp void)
0:? 'inF0' ( temp 4-component vector of float)
0:? 'inF1' ( temp 4-component vector of float)
0:? 'inF2' ( temp 4-component vector of float)
0:? 'inI0' ( temp 4-component vector of int)
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'inF0' (layout( location=0) in 4-component vector of float)
0:? 'inF1' (layout( location=1) in 4-component vector of float)
0:? 'inF2' (layout( location=2) in 4-component vector of float)
0:? 'inI0' (layout( location=3) in 4-component vector of int)
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 99
// Id's are bound by 79
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "ComputeShaderFunction" 76 79 82 86 89
EntryPoint GLCompute 4 "ComputeShaderFunction" 58 61 64 68
ExecutionMode 4 LocalSize 1 1 1
Source HLSL 500
Name 4 "ComputeShaderFunction"
@@ -216,129 +157,116 @@ Validation failed
Name 51 "inF1"
Name 52 "inF2"
Name 53 "inI0"
Name 74 "inF0"
Name 76 "inF0"
Name 78 "inF1"
Name 79 "inF1"
Name 81 "inF2"
Name 82 "inF2"
Name 84 "inI0"
Name 86 "inI0"
Name 89 "@entryPointOutput"
Name 90 "param"
Name 92 "param"
Name 94 "param"
Name 96 "param"
Decorate 76(inF0) Location 0
Decorate 79(inF1) Location 1
Decorate 82(inF2) Location 2
Decorate 86(inI0) Location 3
Decorate 89(@entryPointOutput) Location 0
Name 56 "inF0"
Name 58 "inF0"
Name 60 "inF1"
Name 61 "inF1"
Name 63 "inF2"
Name 64 "inF2"
Name 66 "inI0"
Name 68 "inI0"
Name 70 "param"
Name 72 "param"
Name 74 "param"
Name 76 "param"
Decorate 58(inF0) Location 0
Decorate 61(inF1) Location 1
Decorate 64(inF2) Location 2
Decorate 68(inI0) Location 3
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
8: TypeInt 32 1
9: TypePointer Function 8(int)
10: TypeFunction 6(float) 7(ptr) 7(ptr) 7(ptr) 9(ptr)
10: TypeFunction 2 7(ptr) 7(ptr) 7(ptr) 9(ptr)
23: TypeVector 6(float) 2
24: TypePointer Function 23(fvec2)
25: TypeVector 8(int) 2
26: TypePointer Function 25(ivec2)
27: TypeFunction 23(fvec2) 24(ptr) 24(ptr) 24(ptr) 26(ptr)
27: TypeFunction 2 24(ptr) 24(ptr) 24(ptr) 26(ptr)
34: TypeVector 6(float) 3
35: TypePointer Function 34(fvec3)
36: TypeVector 8(int) 3
37: TypePointer Function 36(ivec3)
38: TypeFunction 34(fvec3) 35(ptr) 35(ptr) 35(ptr) 37(ptr)
38: TypeFunction 2 35(ptr) 35(ptr) 35(ptr) 37(ptr)
45: TypeVector 6(float) 4
46: TypePointer Function 45(fvec4)
47: TypeVector 8(int) 4
48: TypePointer Function 47(ivec4)
49: TypeFunction 45(fvec4) 46(ptr) 46(ptr) 46(ptr) 48(ptr)
56: 6(float) Constant 0
61: 6(float) Constant 1065353216
62: 6(float) Constant 1073741824
63: 23(fvec2) ConstantComposite 61 62
66: 6(float) Constant 1077936128
67: 34(fvec3) ConstantComposite 61 62 66
70: 6(float) Constant 1082130432
71: 45(fvec4) ConstantComposite 61 62 66 70
75: TypePointer Input 45(fvec4)
76(inF0): 75(ptr) Variable Input
79(inF1): 75(ptr) Variable Input
82(inF2): 75(ptr) Variable Input
85: TypePointer Input 47(ivec4)
86(inI0): 85(ptr) Variable Input
88: TypePointer Output 45(fvec4)
89(@entryPointOutput): 88(ptr) Variable Output
49: TypeFunction 2 46(ptr) 46(ptr) 46(ptr) 48(ptr)
57: TypePointer Input 45(fvec4)
58(inF0): 57(ptr) Variable Input
61(inF1): 57(ptr) Variable Input
64(inF2): 57(ptr) Variable Input
67: TypePointer Input 47(ivec4)
68(inI0): 67(ptr) Variable Input
4(ComputeShaderFunction): 2 Function None 3
5: Label
74(inF0): 46(ptr) Variable Function
78(inF1): 46(ptr) Variable Function
81(inF2): 46(ptr) Variable Function
84(inI0): 48(ptr) Variable Function
90(param): 46(ptr) Variable Function
92(param): 46(ptr) Variable Function
94(param): 46(ptr) Variable Function
96(param): 48(ptr) Variable Function
77: 45(fvec4) Load 76(inF0)
Store 74(inF0) 77
80: 45(fvec4) Load 79(inF1)
Store 78(inF1) 80
83: 45(fvec4) Load 82(inF2)
Store 81(inF2) 83
87: 47(ivec4) Load 86(inI0)
Store 84(inI0) 87
91: 45(fvec4) Load 74(inF0)
Store 90(param) 91
93: 45(fvec4) Load 78(inF1)
Store 92(param) 93
95: 45(fvec4) Load 81(inF2)
Store 94(param) 95
97: 47(ivec4) Load 84(inI0)
Store 96(param) 97
98: 45(fvec4) FunctionCall 54(@ComputeShaderFunction(vf4;vf4;vf4;vi4;) 90(param) 92(param) 94(param) 96(param)
Store 89(@entryPointOutput) 98
56(inF0): 46(ptr) Variable Function
60(inF1): 46(ptr) Variable Function
63(inF2): 46(ptr) Variable Function
66(inI0): 48(ptr) Variable Function
70(param): 46(ptr) Variable Function
72(param): 46(ptr) Variable Function
74(param): 46(ptr) Variable Function
76(param): 48(ptr) Variable Function
59: 45(fvec4) Load 58(inF0)
Store 56(inF0) 59
62: 45(fvec4) Load 61(inF1)
Store 60(inF1) 62
65: 45(fvec4) Load 64(inF2)
Store 63(inF2) 65
69: 47(ivec4) Load 68(inI0)
Store 66(inI0) 69
71: 45(fvec4) Load 56(inF0)
Store 70(param) 71
73: 45(fvec4) Load 60(inF1)
Store 72(param) 73
75: 45(fvec4) Load 63(inF2)
Store 74(param) 75
77: 47(ivec4) Load 66(inI0)
Store 76(param) 77
78: 2 FunctionCall 54(@ComputeShaderFunction(vf4;vf4;vf4;vi4;) 70(param) 72(param) 74(param) 76(param)
Return
FunctionEnd
15(ComputeShaderFunctionS(f1;f1;f1;i1;): 6(float) Function None 10
15(ComputeShaderFunctionS(f1;f1;f1;i1;): 2 Function None 10
11(inF0): 7(ptr) FunctionParameter
12(inF1): 7(ptr) FunctionParameter
13(inF2): 7(ptr) FunctionParameter
14(inI0): 9(ptr) FunctionParameter
16: Label
ReturnValue 56
Return
FunctionEnd
21(ComputeShaderFunction1(vf1;vf1;vf1;vi1;): 6(float) Function None 10
21(ComputeShaderFunction1(vf1;vf1;vf1;vi1;): 2 Function None 10
17(inF0): 7(ptr) FunctionParameter
18(inF1): 7(ptr) FunctionParameter
19(inF2): 7(ptr) FunctionParameter
20(inI0): 9(ptr) FunctionParameter
22: Label
ReturnValue 56
Return
FunctionEnd
32(ComputeShaderFunction2(vf2;vf2;vf2;vi2;): 23(fvec2) Function None 27
32(ComputeShaderFunction2(vf2;vf2;vf2;vi2;): 2 Function None 27
28(inF0): 24(ptr) FunctionParameter
29(inF1): 24(ptr) FunctionParameter
30(inF2): 24(ptr) FunctionParameter
31(inI0): 26(ptr) FunctionParameter
33: Label
ReturnValue 63
Return
FunctionEnd
43(ComputeShaderFunction3(vf3;vf3;vf3;vi3;): 34(fvec3) Function None 38
43(ComputeShaderFunction3(vf3;vf3;vf3;vi3;): 2 Function None 38
39(inF0): 35(ptr) FunctionParameter
40(inF1): 35(ptr) FunctionParameter
41(inF2): 35(ptr) FunctionParameter
42(inI0): 37(ptr) FunctionParameter
44: Label
ReturnValue 67
Return
FunctionEnd
54(@ComputeShaderFunction(vf4;vf4;vf4;vi4;): 45(fvec4) Function None 49
54(@ComputeShaderFunction(vf4;vf4;vf4;vi4;): 2 Function None 49
50(inF0): 46(ptr) FunctionParameter
51(inF1): 46(ptr) FunctionParameter
52(inF2): 46(ptr) FunctionParameter
53(inI0): 48(ptr) FunctionParameter
55: Label
ReturnValue 71
Return
FunctionEnd