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:
John Kessenich 2016-09-01 17:05:23 -06:00
parent 5e56423046
commit f2b7f3353b
61 changed files with 2057 additions and 2308 deletions

View file

@ -125,13 +125,13 @@ gl_FragCoord origin is upper left
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 72
// Id's are bound by 71
Capability Shader
Capability SampledBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 56
EntryPoint Fragment 4 "main" 55
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "r00"
@ -145,26 +145,22 @@ gl_FragCoord origin is upper left
MemberName 44(PS_OUTPUT) 0 "Color"
MemberName 44(PS_OUTPUT) 1 "Depth"
Name 46 "psout"
Name 54 "PS_OUTPUT"
MemberName 54(PS_OUTPUT) 0 "Color"
MemberName 54(PS_OUTPUT) 1 "Depth"
Name 56 "@entryPointOutput"
Name 59 "g_tTexbf4_test"
Name 62 "c2"
Name 65 "c3"
Name 67 "c4"
Name 68 "o1"
Name 69 "o2"
Name 70 "o3"
Name 71 "o4"
Name 55 "@entryPointOutput"
Name 58 "g_tTexbf4_test"
Name 61 "c2"
Name 64 "c3"
Name 66 "c4"
Name 67 "o1"
Name 68 "o2"
Name 69 "o3"
Name 70 "o4"
Decorate 13(g_tTexbf4) DescriptorSet 0
Decorate 27(g_tTexbi4) DescriptorSet 0
Decorate 39(g_tTexbu4) DescriptorSet 0
MemberDecorate 44(PS_OUTPUT) 1 BuiltIn FragDepth
MemberDecorate 54(PS_OUTPUT) 1 BuiltIn FragDepth
Decorate 56(@entryPointOutput) Location 0
Decorate 59(g_tTexbf4_test) DescriptorSet 0
Decorate 59(g_tTexbf4_test) Binding 0
Decorate 55(@entryPointOutput) Location 0
Decorate 58(g_tTexbf4_test) DescriptorSet 0
Decorate 58(g_tTexbf4_test) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -197,22 +193,21 @@ gl_FragCoord origin is upper left
49: 7(fvec4) ConstantComposite 48 48 48 48
51: 15(int) Constant 1
52: TypePointer Function 6(float)
54(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
55: TypePointer Output 54(PS_OUTPUT)
56(@entryPointOutput): 55(ptr) Variable Output
59(g_tTexbf4_test): 12(ptr) Variable UniformConstant
60: TypeVector 15(int) 2
61: TypePointer UniformConstant 60(ivec2)
62(c2): 61(ptr) Variable UniformConstant
63: TypeVector 15(int) 3
64: TypePointer UniformConstant 63(ivec3)
65(c3): 64(ptr) Variable UniformConstant
66: TypePointer UniformConstant 21(ivec4)
67(c4): 66(ptr) Variable UniformConstant
68(o1): 16(ptr) Variable UniformConstant
69(o2): 61(ptr) Variable UniformConstant
70(o3): 64(ptr) Variable UniformConstant
71(o4): 66(ptr) Variable UniformConstant
54: TypePointer Output 44(PS_OUTPUT)
55(@entryPointOutput): 54(ptr) Variable Output
58(g_tTexbf4_test): 12(ptr) Variable UniformConstant
59: TypeVector 15(int) 2
60: TypePointer UniformConstant 59(ivec2)
61(c2): 60(ptr) Variable UniformConstant
62: TypeVector 15(int) 3
63: TypePointer UniformConstant 62(ivec3)
64(c3): 63(ptr) Variable UniformConstant
65: TypePointer UniformConstant 21(ivec4)
66(c4): 65(ptr) Variable UniformConstant
67(o1): 16(ptr) Variable UniformConstant
68(o2): 60(ptr) Variable UniformConstant
69(o3): 63(ptr) Variable UniformConstant
70(o4): 65(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(r00): 8(ptr) Variable Function
@ -238,7 +233,7 @@ gl_FragCoord origin is upper left
Store 50 49
53: 52(ptr) AccessChain 46(psout) 51
Store 53 48
57:44(PS_OUTPUT) Load 46(psout)
Store 56(@entryPointOutput) 57
56:44(PS_OUTPUT) Load 46(psout)
Store 55(@entryPointOutput) 56
Return
FunctionEnd