SPV: Nested layouts: Recursively send around the top-level std140 or std430 packing.
This also distinguishes between the same struct included in multiple parent packings.
This commit is contained in:
138
Test/baseResults/spv.layoutNested.vert.out
Normal file
138
Test/baseResults/spv.layoutNested.vert.out
Normal file
@@ -0,0 +1,138 @@
|
||||
spv.layoutNested.vert
|
||||
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 54
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 38 52 53
|
||||
Source GLSL 450
|
||||
Name 4 "main"
|
||||
Name 13 "S"
|
||||
MemberName 13(S) 0 "a"
|
||||
MemberName 13(S) 1 "b"
|
||||
MemberName 13(S) 2 "c"
|
||||
Name 15 "s"
|
||||
Name 18 "S"
|
||||
MemberName 18(S) 0 "a"
|
||||
MemberName 18(S) 1 "b"
|
||||
MemberName 18(S) 2 "c"
|
||||
Name 23 "Block140"
|
||||
MemberName 23(Block140) 0 "u"
|
||||
MemberName 23(Block140) 1 "s"
|
||||
MemberName 23(Block140) 2 "v"
|
||||
Name 25 "inst140"
|
||||
Name 36 "gl_PerVertex"
|
||||
MemberName 36(gl_PerVertex) 0 "gl_Position"
|
||||
MemberName 36(gl_PerVertex) 1 "gl_PointSize"
|
||||
MemberName 36(gl_PerVertex) 2 "gl_ClipDistance"
|
||||
MemberName 36(gl_PerVertex) 3 "gl_CullDistance"
|
||||
Name 38 ""
|
||||
Name 45 "S"
|
||||
MemberName 45(S) 0 "a"
|
||||
MemberName 45(S) 1 "b"
|
||||
MemberName 45(S) 2 "c"
|
||||
Name 48 "Block430"
|
||||
MemberName 48(Block430) 0 "u"
|
||||
MemberName 48(Block430) 1 "s"
|
||||
MemberName 48(Block430) 2 "v"
|
||||
Name 50 "inst430"
|
||||
Name 52 "gl_VertexID"
|
||||
Name 53 "gl_InstanceID"
|
||||
MemberDecorate 13(S) 1 ColMajor
|
||||
Decorate 12 ArrayStride 32
|
||||
MemberDecorate 18(S) 0 Offset 0
|
||||
MemberDecorate 18(S) 1 ColMajor
|
||||
MemberDecorate 18(S) 1 Offset 16
|
||||
MemberDecorate 18(S) 1 MatrixStride 16
|
||||
MemberDecorate 18(S) 2 Offset 144
|
||||
Decorate 22 ArrayStride 16
|
||||
MemberDecorate 23(Block140) 0 Offset 0
|
||||
MemberDecorate 23(Block140) 1 Offset 16
|
||||
MemberDecorate 23(Block140) 2 Offset 976
|
||||
Decorate 23(Block140) Block
|
||||
Decorate 25(inst140) DescriptorSet 0
|
||||
Decorate 25(inst140) Binding 0
|
||||
MemberDecorate 36(gl_PerVertex) 0 BuiltIn Position
|
||||
MemberDecorate 36(gl_PerVertex) 1 BuiltIn PointSize
|
||||
MemberDecorate 36(gl_PerVertex) 2 BuiltIn ClipDistance
|
||||
MemberDecorate 36(gl_PerVertex) 3 BuiltIn CullDistance
|
||||
Decorate 36(gl_PerVertex) Block
|
||||
Decorate 12 ArrayStride 16
|
||||
MemberDecorate 45(S) 0 Offset 0
|
||||
MemberDecorate 45(S) 1 ColMajor
|
||||
MemberDecorate 45(S) 1 Offset 16
|
||||
MemberDecorate 45(S) 1 MatrixStride 8
|
||||
MemberDecorate 45(S) 2 Offset 80
|
||||
Decorate 47 ArrayStride 16
|
||||
MemberDecorate 48(Block430) 0 Offset 0
|
||||
MemberDecorate 48(Block430) 1 Offset 16
|
||||
MemberDecorate 48(Block430) 2 Offset 592
|
||||
Decorate 48(Block430) BufferBlock
|
||||
Decorate 50(inst430) DescriptorSet 0
|
||||
Decorate 50(inst430) Binding 1
|
||||
Decorate 52(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 53(gl_InstanceID) BuiltIn InstanceId
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
7: TypeVector 6(int) 3
|
||||
8: TypeFloat 32
|
||||
9: TypeVector 8(float) 2
|
||||
10: TypeMatrix 9(fvec2) 2
|
||||
11: 6(int) Constant 4
|
||||
12: TypeArray 10 11
|
||||
13(S): TypeStruct 7(ivec3) 12 6(int)
|
||||
14: TypePointer Private 13(S)
|
||||
15(s): 14(ptr) Variable Private
|
||||
16: TypeInt 32 1
|
||||
17: 16(int) Constant 2
|
||||
18(S): TypeStruct 7(ivec3) 12 6(int)
|
||||
19: 6(int) Constant 3
|
||||
20: TypeArray 18(S) 19
|
||||
21: 6(int) Constant 2
|
||||
22: TypeArray 20 21
|
||||
23(Block140): TypeStruct 16(int) 22 9(fvec2)
|
||||
24: TypePointer Uniform 23(Block140)
|
||||
25(inst140): 24(ptr) Variable Uniform
|
||||
26: 16(int) Constant 0
|
||||
27: TypePointer Uniform 16(int)
|
||||
31: TypePointer Private 6(int)
|
||||
33: TypeVector 8(float) 4
|
||||
34: 6(int) Constant 1
|
||||
35: TypeArray 8(float) 34
|
||||
36(gl_PerVertex): TypeStruct 33(fvec4) 8(float) 35 35
|
||||
37: TypePointer Output 36(gl_PerVertex)
|
||||
38: 37(ptr) Variable Output
|
||||
43: TypePointer Output 33(fvec4)
|
||||
45(S): TypeStruct 7(ivec3) 12 6(int)
|
||||
46: TypeArray 45(S) 19
|
||||
47: TypeArray 46 21
|
||||
48(Block430): TypeStruct 16(int) 47 9(fvec2)
|
||||
49: TypePointer Uniform 48(Block430)
|
||||
50(inst430): 49(ptr) Variable Uniform
|
||||
51: TypePointer Input 16(int)
|
||||
52(gl_VertexID): 51(ptr) Variable Input
|
||||
53(gl_InstanceID): 51(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
28: 27(ptr) AccessChain 25(inst140) 26
|
||||
29: 16(int) Load 28
|
||||
30: 6(int) Bitcast 29
|
||||
32: 31(ptr) AccessChain 15(s) 17
|
||||
Store 32 30
|
||||
39: 31(ptr) AccessChain 15(s) 17
|
||||
40: 6(int) Load 39
|
||||
41: 8(float) ConvertUToF 40
|
||||
42: 33(fvec4) CompositeConstruct 41 41 41 41
|
||||
44: 43(ptr) AccessChain 38 26
|
||||
Store 44 42
|
||||
Return
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user