HLSL: Fix #1332: consistently use uint for counter buf typing.

This commit is contained in:
John Kessenich 2018-04-10 11:57:20 -06:00
parent 1dcd162399
commit 6ae18707f9
9 changed files with 345 additions and 347 deletions

View file

@ -1,12 +1,12 @@
spv.ssboAlias.frag
// Module Version 10000
// Generated by (magic number): 80006
// Id's are bound by 46
// Id's are bound by 44
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 43
EntryPoint Fragment 4 "main" 41
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
@ -17,10 +17,10 @@ spv.ssboAlias.frag
Name 18 "Buf1@count"
MemberName 18(Buf1@count) 0 "@count"
Name 20 "Buf1@count"
Name 30 "Buf2"
Name 31 "Buf2@count"
Name 43 "@entryPointOutput"
Name 45 "Buf3"
Name 28 "Buf2"
Name 29 "Buf2@count"
Name 41 "@entryPointOutput"
Name 43 "Buf3"
Decorate 12 ArrayStride 4
MemberDecorate 13(Buf1) 0 Offset 0
Decorate 13(Buf1) BufferBlock
@ -30,13 +30,13 @@ spv.ssboAlias.frag
Decorate 18(Buf1@count) BufferBlock
Decorate 20(Buf1@count) DescriptorSet 0
Decorate 20(Buf1@count) Binding 83
Decorate 30(Buf2) DescriptorSet 0
Decorate 30(Buf2) Binding 85
Decorate 31(Buf2@count) DescriptorSet 0
Decorate 31(Buf2@count) Binding 86
Decorate 43(@entryPointOutput) Location 0
Decorate 45(Buf3) DescriptorSet 0
Decorate 45(Buf3) Binding 84
Decorate 28(Buf2) DescriptorSet 0
Decorate 28(Buf2) Binding 85
Decorate 29(Buf2@count) DescriptorSet 0
Decorate 29(Buf2@count) Binding 86
Decorate 41(@entryPointOutput) Location 0
Decorate 43(Buf3) DescriptorSet 0
Decorate 43(Buf3) Binding 84
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -49,40 +49,38 @@ spv.ssboAlias.frag
15(Buf1): 14(ptr) Variable Uniform
16: TypeInt 32 1
17: 16(int) Constant 0
18(Buf1@count): TypeStruct 16(int)
18(Buf1@count): TypeStruct 11(int)
19: TypePointer Uniform 18(Buf1@count)
20(Buf1@count): 19(ptr) Variable Uniform
21: TypePointer Uniform 16(int)
23: 16(int) Constant 1
24: 11(int) Constant 1
25: 11(int) Constant 0
27: 11(int) Constant 10
28: TypePointer Uniform 11(int)
30(Buf2): 14(ptr) Variable Uniform
31(Buf2@count): 19(ptr) Variable Uniform
34: 11(int) Constant 20
36: 6(float) Constant 1065353216
37: 6(float) Constant 1077936128
38: 6(float) Constant 1084227584
39: 7(fvec4) ConstantComposite 36 37 38 36
42: TypePointer Output 7(fvec4)
43(@entryPointOutput): 42(ptr) Variable Output
45(Buf3): 14(ptr) Variable Uniform
21: TypePointer Uniform 11(int)
23: 11(int) Constant 1
24: 11(int) Constant 0
26: 11(int) Constant 10
28(Buf2): 14(ptr) Variable Uniform
29(Buf2@count): 19(ptr) Variable Uniform
32: 11(int) Constant 20
34: 6(float) Constant 1065353216
35: 6(float) Constant 1077936128
36: 6(float) Constant 1084227584
37: 7(fvec4) ConstantComposite 34 35 36 34
40: TypePointer Output 7(fvec4)
41(@entryPointOutput): 40(ptr) Variable Output
43(Buf3): 14(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
44: 7(fvec4) FunctionCall 9(@main()
Store 43(@entryPointOutput) 44
42: 7(fvec4) FunctionCall 9(@main()
Store 41(@entryPointOutput) 42
Return
FunctionEnd
9(@main(): 7(fvec4) Function None 8
10: Label
22: 21(ptr) AccessChain 20(Buf1@count) 17
26: 11(int) AtomicIAdd 22 24 25 23
29: 28(ptr) AccessChain 15(Buf1) 17 26
Store 29 27
32: 21(ptr) AccessChain 31(Buf2@count) 17
33: 11(int) AtomicIAdd 32 24 25 23
35: 28(ptr) AccessChain 30(Buf2) 17 33
Store 35 34
ReturnValue 39
25: 11(int) AtomicIAdd 22 23 24 23
27: 21(ptr) AccessChain 15(Buf1) 17 25
Store 27 26
30: 21(ptr) AccessChain 29(Buf2@count) 17
31: 11(int) AtomicIAdd 30 23 24 23
33: 21(ptr) AccessChain 28(Buf2) 17 31
Store 33 32
ReturnValue 37
FunctionEnd