SPV: Tighten up number of struct-types declared based on decoration.
Takes some pressure off of issue #304. Structures don't inherit locations and then explicitly decorate members with them, so removed this reason to have another instance of a structure type.
This commit is contained in:
@@ -7,12 +7,12 @@ Linked tessellation control stage:
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 24
|
||||
// Id's are bound by 23
|
||||
|
||||
Capability Tessellation
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint TessellationControl 4 "main" 9 16 20 23
|
||||
EntryPoint TessellationControl 4 "main" 9 16 19 22
|
||||
ExecutionMode 4 OutputVertices 4
|
||||
Source GLSL 450
|
||||
Name 4 "main"
|
||||
@@ -25,42 +25,39 @@ Linked tessellation control stage:
|
||||
MemberName 11(TheBlock) 1 "bMem2"
|
||||
MemberName 11(TheBlock) 2 "s"
|
||||
Name 16 "tcBlock"
|
||||
Name 17 "S"
|
||||
MemberName 17(S) 0 "sMem1"
|
||||
MemberName 17(S) 1 "sMem2"
|
||||
Name 18 "SingleBlock"
|
||||
MemberName 18(SingleBlock) 0 "bMem1"
|
||||
MemberName 18(SingleBlock) 1 "bMem2"
|
||||
MemberName 18(SingleBlock) 2 "s"
|
||||
Name 20 "singleBlock"
|
||||
Name 21 "bn"
|
||||
MemberName 21(bn) 0 "v1"
|
||||
MemberName 21(bn) 1 "v2"
|
||||
MemberName 21(bn) 2 "v3"
|
||||
Name 23 ""
|
||||
Name 17 "SingleBlock"
|
||||
MemberName 17(SingleBlock) 0 "bMem1"
|
||||
MemberName 17(SingleBlock) 1 "bMem2"
|
||||
MemberName 17(SingleBlock) 2 "s"
|
||||
Name 19 "singleBlock"
|
||||
Name 20 "bn"
|
||||
MemberName 20(bn) 0 "v1"
|
||||
MemberName 20(bn) 1 "v2"
|
||||
MemberName 20(bn) 2 "v3"
|
||||
Name 22 ""
|
||||
Decorate 9(patchOut) Patch
|
||||
MemberDecorate 11(TheBlock) 0 Patch
|
||||
MemberDecorate 11(TheBlock) 1 Patch
|
||||
MemberDecorate 11(TheBlock) 2 Patch
|
||||
Decorate 11(TheBlock) Block
|
||||
Decorate 16(tcBlock) Location 12
|
||||
MemberDecorate 18(SingleBlock) 0 Patch
|
||||
MemberDecorate 18(SingleBlock) 0 Location 2
|
||||
MemberDecorate 18(SingleBlock) 1 Patch
|
||||
MemberDecorate 18(SingleBlock) 1 Location 3
|
||||
MemberDecorate 18(SingleBlock) 2 Patch
|
||||
MemberDecorate 18(SingleBlock) 2 Location 4
|
||||
Decorate 18(SingleBlock) Block
|
||||
Decorate 20(singleBlock) Location 2
|
||||
MemberDecorate 21(bn) 0 Patch
|
||||
MemberDecorate 21(bn) 0 Location 20
|
||||
MemberDecorate 21(bn) 0 Component 0
|
||||
MemberDecorate 21(bn) 1 Patch
|
||||
MemberDecorate 21(bn) 1 Location 24
|
||||
MemberDecorate 21(bn) 2 Patch
|
||||
MemberDecorate 21(bn) 2 Location 25
|
||||
MemberDecorate 21(bn) 2 Component 0
|
||||
Decorate 21(bn) Block
|
||||
MemberDecorate 17(SingleBlock) 0 Patch
|
||||
MemberDecorate 17(SingleBlock) 0 Location 2
|
||||
MemberDecorate 17(SingleBlock) 1 Patch
|
||||
MemberDecorate 17(SingleBlock) 1 Location 3
|
||||
MemberDecorate 17(SingleBlock) 2 Patch
|
||||
MemberDecorate 17(SingleBlock) 2 Location 4
|
||||
Decorate 17(SingleBlock) Block
|
||||
Decorate 19(singleBlock) Location 2
|
||||
MemberDecorate 20(bn) 0 Patch
|
||||
MemberDecorate 20(bn) 0 Location 20
|
||||
MemberDecorate 20(bn) 0 Component 0
|
||||
MemberDecorate 20(bn) 1 Patch
|
||||
MemberDecorate 20(bn) 1 Location 24
|
||||
MemberDecorate 20(bn) 2 Patch
|
||||
MemberDecorate 20(bn) 2 Location 25
|
||||
MemberDecorate 20(bn) 2 Component 0
|
||||
Decorate 20(bn) Block
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@@ -74,13 +71,12 @@ Linked tessellation control stage:
|
||||
14: TypeArray 11(TheBlock) 13
|
||||
15: TypePointer Output 14
|
||||
16(tcBlock): 15(ptr) Variable Output
|
||||
17(S): TypeStruct 6(float) 6(float)
|
||||
18(SingleBlock): TypeStruct 6(float) 6(float) 17(S)
|
||||
19: TypePointer Output 18(SingleBlock)
|
||||
20(singleBlock): 19(ptr) Variable Output
|
||||
21(bn): TypeStruct 7(fvec4) 7(fvec4) 7(fvec4)
|
||||
22: TypePointer Output 21(bn)
|
||||
23: 22(ptr) Variable Output
|
||||
17(SingleBlock): TypeStruct 6(float) 6(float) 10(S)
|
||||
18: TypePointer Output 17(SingleBlock)
|
||||
19(singleBlock): 18(ptr) Variable Output
|
||||
20(bn): TypeStruct 7(fvec4) 7(fvec4) 7(fvec4)
|
||||
21: TypePointer Output 20(bn)
|
||||
22: 21(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Return
|
||||
|
||||
Reference in New Issue
Block a user