Before, it was only including explicit interface, sufficient for IO-Block-declared oriented interface, but not sufficient for all modes GLSL might be used with SPIR-V. Two things are accomplished now: 1) each id will appear exactly once 2) the OpEntryPoint list will union static use with declarations
96 lines
4.5 KiB
Plaintext
Executable File
96 lines
4.5 KiB
Plaintext
Executable File
spv.150.vert
|
|
|
|
Linked vertex stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 50
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Vertex 4 "main" 13 49 17 39 48
|
|
Source GLSL 150
|
|
Name 4 "main"
|
|
Name 11 "gl_PerVertex"
|
|
MemberName 11(gl_PerVertex) 0 "gl_Position"
|
|
MemberName 11(gl_PerVertex) 1 "gl_PointSize"
|
|
MemberName 11(gl_PerVertex) 2 "gl_ClipDistance"
|
|
Name 13 ""
|
|
Name 17 "iv4"
|
|
Name 23 "ps"
|
|
Name 35 "s1"
|
|
MemberName 35(s1) 0 "a"
|
|
MemberName 35(s1) 1 "a2"
|
|
MemberName 35(s1) 2 "b"
|
|
Name 37 "s2"
|
|
MemberName 37(s2) 0 "c"
|
|
MemberName 37(s2) 1 "d"
|
|
Name 39 "s2out"
|
|
Name 41 "i"
|
|
Name 46 "ui"
|
|
Name 48 "gl_VertexID"
|
|
Name 49 "gl_InstanceID"
|
|
MemberDecorate 11(gl_PerVertex) 0 Invariant
|
|
MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
|
|
MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize
|
|
MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance
|
|
Decorate 11(gl_PerVertex) Block
|
|
Decorate 48(gl_VertexID) BuiltIn VertexId
|
|
Decorate 49(gl_InstanceID) BuiltIn InstanceId
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypeInt 32 0
|
|
9: 8(int) Constant 4
|
|
10: TypeArray 6(float) 9
|
|
11(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 10
|
|
12: TypePointer Output 11(gl_PerVertex)
|
|
13: 12(ptr) Variable Output
|
|
14: TypeInt 32 1
|
|
15: 14(int) Constant 0
|
|
16: TypePointer Input 7(fvec4)
|
|
17(iv4): 16(ptr) Variable Input
|
|
19: TypePointer Output 7(fvec4)
|
|
21: 14(int) Constant 1
|
|
22: TypePointer UniformConstant 6(float)
|
|
23(ps): 22(ptr) Variable UniformConstant
|
|
25: TypePointer Output 6(float)
|
|
27: 14(int) Constant 2
|
|
28: 8(int) Constant 0
|
|
29: TypePointer Input 6(float)
|
|
33: 8(int) Constant 3
|
|
34: TypeArray 7(fvec4) 33
|
|
35(s1): TypeStruct 14(int) 14(int) 34
|
|
36: TypeArray 35(s1) 9
|
|
37(s2): TypeStruct 14(int) 36
|
|
38: TypePointer Output 37(s2)
|
|
39(s2out): 38(ptr) Variable Output
|
|
40: TypePointer Function 14(int)
|
|
45: TypePointer UniformConstant 14(int)
|
|
46(ui): 45(ptr) Variable UniformConstant
|
|
47: TypePointer Input 14(int)
|
|
48(gl_VertexID): 47(ptr) Variable Input
|
|
49(gl_InstanceID): 47(ptr) Variable Input
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
41(i): 40(ptr) Variable Function
|
|
18: 7(fvec4) Load 17(iv4)
|
|
20: 19(ptr) AccessChain 13 15
|
|
Store 20 18
|
|
24: 6(float) Load 23(ps)
|
|
26: 25(ptr) AccessChain 13 21
|
|
Store 26 24
|
|
30: 29(ptr) AccessChain 17(iv4) 28
|
|
31: 6(float) Load 30
|
|
32: 25(ptr) AccessChain 13 27 27
|
|
Store 32 31
|
|
42: 14(int) Load 41(i)
|
|
43: 6(float) Load 23(ps)
|
|
44: 25(ptr) AccessChain 39(s2out) 21 42 27 27 33
|
|
Store 44 43
|
|
Return
|
|
FunctionEnd
|