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,7 +2,7 @@ hlsl.attribute.expression.comp
Shader version: 500
local_size = (4, 6, 8)
0:? Sequence
0:9 Function Definition: @main( ( temp 4-component vector of float)
0:9 Function Definition: @main( ( temp void)
0:9 Function Parameters:
0:? Sequence
0:11 Sequence
@ -22,21 +22,12 @@ local_size = (4, 6, 8)
0:11 Loop Terminal Expression
0:11 Pre-Increment ( temp int)
0:11 'x' ( temp int)
0:14 Branch: Return with expression
0:14 Constant:
0:14 0.000000
0:14 0.000000
0:14 0.000000
0:14 0.000000
0:9 Function Definition: main( ( temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:9 Function Call: @main( ( temp 4-component vector of float)
0:9 Function Call: @main( ( temp void)
0:? Linker Objects
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int bound})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
Linked compute stage:
@ -45,7 +36,7 @@ Linked compute stage:
Shader version: 500
local_size = (4, 6, 8)
0:? Sequence
0:9 Function Definition: @main( ( temp 4-component vector of float)
0:9 Function Definition: @main( ( temp void)
0:9 Function Parameters:
0:? Sequence
0:11 Sequence
@ -65,90 +56,70 @@ local_size = (4, 6, 8)
0:11 Loop Terminal Expression
0:11 Pre-Increment ( temp int)
0:11 'x' ( temp int)
0:14 Branch: Return with expression
0:14 Constant:
0:14 0.000000
0:14 0.000000
0:14 0.000000
0:14 0.000000
0:9 Function Definition: main( ( temp void)
0:9 Function Parameters:
0:? Sequence
0:9 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:9 Function Call: @main( ( temp 4-component vector of float)
0:9 Function Call: @main( ( temp void)
0:? Linker Objects
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int bound})
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 39
// Id's are bound by 30
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 37
EntryPoint GLCompute 4 "main"
ExecutionMode 4 LocalSize 4 6 8
Source HLSL 500
Name 4 "main"
Name 9 "@main("
Name 13 "x"
Name 21 "$Global"
MemberName 21($Global) 0 "bound"
Name 23 ""
Name 37 "@entryPointOutput"
MemberDecorate 21($Global) 0 Offset 0
Decorate 21($Global) Block
Decorate 23 DescriptorSet 0
Decorate 23 Binding 0
Decorate 37(@entryPointOutput) Location 0
Name 6 "@main("
Name 10 "x"
Name 18 "$Global"
MemberName 18($Global) 0 "bound"
Name 20 ""
MemberDecorate 18($Global) 0 Offset 0
Decorate 18($Global) Block
Decorate 20 DescriptorSet 0
Decorate 20 Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeFunction 7(fvec4)
11: TypeInt 32 1
12: TypePointer Function 11(int)
14: 11(int) Constant 0
21($Global): TypeStruct 11(int)
22: TypePointer Uniform 21($Global)
23: 22(ptr) Variable Uniform
24: TypePointer Uniform 11(int)
27: TypeBool
30: 11(int) Constant 1
32: 6(float) Constant 0
33: 7(fvec4) ConstantComposite 32 32 32 32
36: TypePointer Output 7(fvec4)
37(@entryPointOutput): 36(ptr) Variable Output
8: TypeInt 32 1
9: TypePointer Function 8(int)
11: 8(int) Constant 0
18($Global): TypeStruct 8(int)
19: TypePointer Uniform 18($Global)
20: 19(ptr) Variable Uniform
21: TypePointer Uniform 8(int)
24: TypeBool
27: 8(int) Constant 1
4(main): 2 Function None 3
5: Label
38: 7(fvec4) FunctionCall 9(@main()
Store 37(@entryPointOutput) 38
29: 2 FunctionCall 6(@main()
Return
FunctionEnd
9(@main(): 7(fvec4) Function None 8
10: Label
13(x): 12(ptr) Variable Function
Store 13(x) 14
Branch 15
15: Label
LoopMerge 17 18 Unroll
Branch 19
19: Label
20: 11(int) Load 13(x)
25: 24(ptr) AccessChain 23 14
26: 11(int) Load 25
28: 27(bool) SLessThan 20 26
BranchConditional 28 16 17
16: Label
Branch 18
18: Label
29: 11(int) Load 13(x)
31: 11(int) IAdd 29 30
Store 13(x) 31
6(@main(): 2 Function None 3
7: Label
10(x): 9(ptr) Variable Function
Store 10(x) 11
Branch 12
12: Label
LoopMerge 14 15 Unroll
Branch 16
16: Label
17: 8(int) Load 10(x)
22: 21(ptr) AccessChain 20 11
23: 8(int) Load 22
25: 24(bool) SLessThan 17 23
BranchConditional 25 13 14
13: Label
Branch 15
17: Label
ReturnValue 33
15: Label
26: 8(int) Load 10(x)
28: 8(int) IAdd 26 27
Store 10(x) 28
Branch 12
14: Label
Return
FunctionEnd

View File

@ -2,7 +2,7 @@ hlsl.intrinsics.barriers.comp
Shader version: 500
local_size = (1, 1, 1)
0:? Sequence
0:3 Function Definition: @ComputeShaderFunction( ( temp float)
0:3 Function Definition: @ComputeShaderFunction( ( temp void)
0:3 Function Parameters:
0:? Sequence
0:4 MemoryBarrier ( temp void)
@ -11,17 +11,11 @@ local_size = (1, 1, 1)
0:7 DeviceMemoryBarrierWithGroupSync ( temp void)
0:8 WorkgroupMemoryBarrier ( temp void)
0:9 WorkgroupMemoryBarrierWithGroupSync ( temp void)
0:11 Branch: Return with expression
0:11 Constant:
0:11 0.000000
0:3 Function Definition: ComputeShaderFunction( ( temp void)
0:3 Function Parameters:
0:? Sequence
0:3 move second child to first child ( temp float)
0:? '@entryPointOutput' (layout( location=0) out float)
0:3 Function Call: @ComputeShaderFunction( ( temp float)
0:3 Function Call: @ComputeShaderFunction( ( temp void)
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out float)
Linked compute stage:
@ -30,7 +24,7 @@ Linked compute stage:
Shader version: 500
local_size = (1, 1, 1)
0:? Sequence
0:3 Function Definition: @ComputeShaderFunction( ( temp float)
0:3 Function Definition: @ComputeShaderFunction( ( temp void)
0:3 Function Parameters:
0:? Sequence
0:4 MemoryBarrier ( temp void)
@ -39,59 +33,44 @@ local_size = (1, 1, 1)
0:7 DeviceMemoryBarrierWithGroupSync ( temp void)
0:8 WorkgroupMemoryBarrier ( temp void)
0:9 WorkgroupMemoryBarrierWithGroupSync ( temp void)
0:11 Branch: Return with expression
0:11 Constant:
0:11 0.000000
0:3 Function Definition: ComputeShaderFunction( ( temp void)
0:3 Function Parameters:
0:? Sequence
0:3 move second child to first child ( temp float)
0:? '@entryPointOutput' (layout( location=0) out float)
0:3 Function Call: @ComputeShaderFunction( ( temp float)
0:3 Function Call: @ComputeShaderFunction( ( temp void)
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out float)
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 22
// Id's are bound by 15
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "ComputeShaderFunction" 20
EntryPoint GLCompute 4 "ComputeShaderFunction"
ExecutionMode 4 LocalSize 1 1 1
Source HLSL 500
Name 4 "ComputeShaderFunction"
Name 8 "@ComputeShaderFunction("
Name 20 "@entryPointOutput"
Decorate 20(@entryPointOutput) Location 0
Name 6 "@ComputeShaderFunction("
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeFunction 6(float)
10: TypeInt 32 0
11: 10(int) Constant 1
12: 10(int) Constant 3400
13: 10(int) Constant 2
14: 10(int) Constant 2120
15: 10(int) Constant 264
16: 6(float) Constant 0
19: TypePointer Output 6(float)
20(@entryPointOutput): 19(ptr) Variable Output
8: TypeInt 32 0
9: 8(int) Constant 1
10: 8(int) Constant 3400
11: 8(int) Constant 2
12: 8(int) Constant 2120
13: 8(int) Constant 264
4(ComputeShaderFunction): 2 Function None 3
5: Label
21: 6(float) FunctionCall 8(@ComputeShaderFunction()
Store 20(@entryPointOutput) 21
14: 2 FunctionCall 6(@ComputeShaderFunction()
Return
FunctionEnd
8(@ComputeShaderFunction(): 6(float) Function None 7
9: Label
MemoryBarrier 11 12
ControlBarrier 13 11 12
MemoryBarrier 11 14
ControlBarrier 13 11 14
MemoryBarrier 13 15
ControlBarrier 13 13 15
ReturnValue 16
6(@ComputeShaderFunction(): 2 Function None 3
7: Label
MemoryBarrier 9 10
ControlBarrier 11 9 10
MemoryBarrier 9 12
ControlBarrier 11 9 12
MemoryBarrier 11 13
ControlBarrier 11 11 13
Return
FunctionEnd

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

View File

@ -5,11 +5,9 @@ uniform int bound;
#define BAR 2
[numthreads(2+2, 2*3, (1+FOO)*BAR)]
float4 main() : SV_TARGET
void main()
{
[unroll(5*2 + 1) ]
for (int x=0; x<bound; ++x)
;
return float4(0,0,0,0);
}

View File

@ -1,5 +1,5 @@
float ComputeShaderFunction()
void ComputeShaderFunction()
{
AllMemoryBarrier();
AllMemoryBarrierWithGroupSync();
@ -7,7 +7,5 @@ float ComputeShaderFunction()
DeviceMemoryBarrierWithGroupSync();
GroupMemoryBarrier();
GroupMemoryBarrierWithGroupSync();
return 0.0;
}

View File

@ -1,4 +1,4 @@
float ComputeShaderFunctionS(float inF0, float inF1, float inF2, int inI0)
void ComputeShaderFunctionS(float inF0, float inF1, float inF2, int inI0)
{
uint out_u1;
@ -49,20 +49,16 @@ float ComputeShaderFunctionS(float inF0, float inF1, float inF2, int inI0)
// transpose(inF0); // expect error: only valid on mats
// TODO: texture intrinsics, when we can declare samplers.
return 0.0;
}
float1 ComputeShaderFunction1(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
void ComputeShaderFunction1(float1 inF0, float1 inF1, float1 inF2, int1 inI0)
{
// TODO: ... add when float1 prototypes are generated
// GetRenderTargetSamplePosition(inF0); // expected error: only integer inputs
return 0.0;
}
float2 ComputeShaderFunction2(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
void ComputeShaderFunction2(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
{
uint2 out_u2;
@ -105,11 +101,9 @@ float2 ComputeShaderFunction2(float2 inF0, float2 inF1, float2 inF2, int2 inI0)
// transpose(inF0); // expect error: only valid on mats
// TODO: texture intrinsics, when we can declare samplers.
return float2(1,2);
}
float3 ComputeShaderFunction3(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
void ComputeShaderFunction3(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
{
uint3 out_u3;
@ -150,11 +144,9 @@ float3 ComputeShaderFunction3(float3 inF0, float3 inF1, float3 inF2, int3 inI0)
// transpose(inF0); // expect error: only valid on mats
// TODO: texture intrinsics, when we can declare samplers.
return float3(1,2,3);
}
float4 ComputeShaderFunction(float4 inF0, float4 inF1, float4 inF2, int4 inI0)
void ComputeShaderFunction(float4 inF0, float4 inF1, float4 inF2, int4 inI0)
{
uint4 out_u4;
@ -195,7 +187,5 @@ float4 ComputeShaderFunction(float4 inF0, float4 inF1, float4 inF2, int4 inI0)
// transpose(inF0); // expect error: only valid on mats
// TODO: texture intrinsics, when we can declare samplers.
return float4(1,2,3,4);
}