SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl).

This commit is contained in:
John Kessenich 2016-02-15 20:58:50 -07:00
parent 019f08fcd8
commit 6c292d3ba7
200 changed files with 7841 additions and 5577 deletions

View file

@ -7,12 +7,12 @@ Linked vertex stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 117
// Id's are bound by 115
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 9 11 51 53 61 73 81 115 116
EntryPoint Vertex 4 "main" 9 11 50 52 60 72 80
Source ESSL 310
Name 4 "main"
Name 9 "pos"
@ -29,21 +29,19 @@ Linked vertex stage:
MemberName 33(T3) 2 "N2"
MemberName 33(T3) 3 "uv3a"
Name 35 ""
Name 43 "T2"
MemberName 43(T2) 0 "b"
MemberName 43(T2) 1 "t2m"
Name 45 ""
Name 51 "color"
Name 53 "c"
Name 61 "iout"
Name 67 "uiuin"
Name 73 "aiv2"
Name 79 "S"
MemberName 79(S) 0 "c"
MemberName 79(S) 1 "f"
Name 81 "s"
Name 115 "gl_VertexID"
Name 116 "gl_InstanceID"
Name 42 "T2"
MemberName 42(T2) 0 "b"
MemberName 42(T2) 1 "t2m"
Name 44 ""
Name 50 "color"
Name 52 "c"
Name 60 "iout"
Name 66 "uiuin"
Name 72 "aiv2"
Name 78 "S"
MemberName 78(S) 0 "c"
MemberName 78(S) 1 "f"
Name 80 "s"
Decorate 11(p) Location 3
MemberDecorate 17(Transform) 0 RowMajor
MemberDecorate 17(Transform) 0 Offset 0
@ -56,19 +54,29 @@ Linked vertex stage:
MemberDecorate 17(Transform) 2 MatrixStride 16
MemberDecorate 17(Transform) 3 Offset 176
Decorate 17(Transform) Block
Decorate 19(tblock) DescriptorSet 0
Decorate 32 ArrayStride 16
MemberDecorate 33(T3) 0 ColMajor
MemberDecorate 33(T3) 0 Offset 0
MemberDecorate 33(T3) 0 MatrixStride 16
MemberDecorate 33(T3) 1 RowMajor
MemberDecorate 33(T3) 1 Offset 64
MemberDecorate 33(T3) 1 MatrixStride 16
MemberDecorate 33(T3) 2 ColMajor
Decorate 33(T3) GLSLShared
MemberDecorate 33(T3) 2 Offset 128
MemberDecorate 33(T3) 2 MatrixStride 16
MemberDecorate 33(T3) 3 Offset 160
Decorate 33(T3) Block
MemberDecorate 43(T2) 1 RowMajor
Decorate 43(T2) GLSLShared
Decorate 43(T2) Block
Decorate 53(c) Location 7
Decorate 61(iout) Flat
Decorate 73(aiv2) Location 9
Decorate 115(gl_VertexID) BuiltIn VertexId
Decorate 116(gl_InstanceID) BuiltIn InstanceId
Decorate 35 DescriptorSet 0
MemberDecorate 42(T2) 0 Offset 0
MemberDecorate 42(T2) 1 RowMajor
MemberDecorate 42(T2) 1 Offset 16
MemberDecorate 42(T2) 1 MatrixStride 16
Decorate 42(T2) Block
Decorate 44 DescriptorSet 0
Decorate 52(c) Location 7
Decorate 60(iout) Flat
Decorate 72(aiv2) Location 9
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -95,42 +103,40 @@ Linked vertex stage:
33(T3): TypeStruct 13 13 28 32
34: TypePointer Uniform 33(T3)
35: 34(ptr) Variable Uniform
42: TypeBool
43(T2): TypeStruct 42(bool) 13
44: TypePointer Uniform 43(T2)
45: 44(ptr) Variable Uniform
50: TypePointer Output 14(fvec3)
51(color): 50(ptr) Variable Output
52: TypePointer Input 14(fvec3)
53(c): 52(ptr) Variable Input
55: 16(int) Constant 2
56: TypePointer Uniform 15
60: TypePointer Output 16(int)
61(iout): 60(ptr) Variable Output
62: 16(int) Constant 3
63: TypePointer Uniform 16(int)
66: TypePointer UniformConstant 29(int)
67(uiuin): 66(ptr) Variable UniformConstant
71: TypeVector 16(int) 2
72: TypePointer Input 71(ivec2)
73(aiv2): 72(ptr) Variable Input
74: 29(int) Constant 1
75: TypePointer Input 16(int)
79(S): TypeStruct 14(fvec3) 6(float)
80: TypePointer Output 79(S)
81(s): 80(ptr) Variable Output
84: 29(int) Constant 0
85: TypePointer Input 6(float)
88: TypePointer Output 6(float)
42(T2): TypeStruct 29(int) 13
43: TypePointer Uniform 42(T2)
44: 43(ptr) Variable Uniform
49: TypePointer Output 14(fvec3)
50(color): 49(ptr) Variable Output
51: TypePointer Input 14(fvec3)
52(c): 51(ptr) Variable Input
54: 16(int) Constant 2
55: TypePointer Uniform 15
59: TypePointer Output 16(int)
60(iout): 59(ptr) Variable Output
61: 16(int) Constant 3
62: TypePointer Uniform 16(int)
65: TypePointer Private 29(int)
66(uiuin): 65(ptr) Variable Private
70: TypeVector 16(int) 2
71: TypePointer Input 70(ivec2)
72(aiv2): 71(ptr) Variable Input
73: 29(int) Constant 1
74: TypePointer Input 16(int)
78(S): TypeStruct 14(fvec3) 6(float)
79: TypePointer Output 78(S)
80(s): 79(ptr) Variable Output
83: 29(int) Constant 0
84: TypePointer Input 6(float)
87: TypePointer Output 6(float)
89: TypeBool
90: TypePointer Uniform 14(fvec3)
93: 6(float) Constant 1065353216
94: 14(fvec3) ConstantComposite 93 93 93
95: TypeVector 42(bool) 3
95: TypeVector 89(bool) 3
101: TypePointer Uniform 30(ivec3)
104: 29(int) Constant 5
105: 30(ivec3) ConstantComposite 104 104 104
115(gl_VertexID): 75(ptr) Variable Input
116(gl_InstanceID): 75(ptr) Variable Input
4(main): 2 Function None 3
5: Label
12: 7(fvec4) Load 11(p)
@ -145,51 +151,51 @@ Linked vertex stage:
39: 21(ptr) AccessChain 35 20
40: 13 Load 39
41: 13 MatrixTimesMatrix 38 40
46: 21(ptr) AccessChain 45 24
47: 13 Load 46
48: 13 MatrixTimesMatrix 41 47
49: 7(fvec4) VectorTimesMatrix 12 48
Store 9(pos) 49
54: 14(fvec3) Load 53(c)
57: 56(ptr) AccessChain 19(tblock) 55
58: 15 Load 57
59: 14(fvec3) VectorTimesMatrix 54 58
Store 51(color) 59
64: 63(ptr) AccessChain 19(tblock) 62
65: 16(int) Load 64
68: 29(int) Load 67(uiuin)
69: 16(int) Bitcast 68
70: 16(int) IAdd 65 69
76: 75(ptr) AccessChain 73(aiv2) 74
77: 16(int) Load 76
78: 16(int) IAdd 70 77
Store 61(iout) 78
82: 14(fvec3) Load 53(c)
83: 50(ptr) AccessChain 81(s) 20
Store 83 82
86: 85(ptr) AccessChain 11(p) 84
87: 6(float) Load 86
89: 88(ptr) AccessChain 81(s) 24
Store 89 87
91: 90(ptr) AccessChain 35 55 24
45: 21(ptr) AccessChain 44 24
46: 13 Load 45
47: 13 MatrixTimesMatrix 41 46
48: 7(fvec4) VectorTimesMatrix 12 47
Store 9(pos) 48
53: 14(fvec3) Load 52(c)
56: 55(ptr) AccessChain 19(tblock) 54
57: 15 Load 56
58: 14(fvec3) VectorTimesMatrix 53 57
Store 50(color) 58
63: 62(ptr) AccessChain 19(tblock) 61
64: 16(int) Load 63
67: 29(int) Load 66(uiuin)
68: 16(int) Bitcast 67
69: 16(int) IAdd 64 68
75: 74(ptr) AccessChain 72(aiv2) 73
76: 16(int) Load 75
77: 16(int) IAdd 69 76
Store 60(iout) 77
81: 14(fvec3) Load 52(c)
82: 49(ptr) AccessChain 80(s) 20
Store 82 81
85: 84(ptr) AccessChain 11(p) 83
86: 6(float) Load 85
88: 87(ptr) AccessChain 80(s) 24
Store 88 86
91: 90(ptr) AccessChain 35 54 24
92: 14(fvec3) Load 91
96: 95(bvec3) FOrdNotEqual 92 94
97: 42(bool) Any 96
98: 42(bool) LogicalNot 97
97: 89(bool) Any 96
98: 89(bool) LogicalNot 97
SelectionMerge 100 None
BranchConditional 98 99 100
99: Label
102: 101(ptr) AccessChain 35 62 55
102: 101(ptr) AccessChain 35 61 54
103: 30(ivec3) Load 102
106: 95(bvec3) INotEqual 103 105
107: 42(bool) Any 106
107: 89(bool) Any 106
Branch 100
100: Label
108: 42(bool) Phi 97 5 107 99
108: 89(bool) Phi 97 5 107 99
SelectionMerge 110 None
BranchConditional 108 109 110
109: Label
111: 50(ptr) AccessChain 81(s) 20
111: 49(ptr) AccessChain 80(s) 20
112: 14(fvec3) Load 111
113: 14(fvec3) CompositeConstruct 93 93 93
114: 14(fvec3) FAdd 112 113