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
148 lines
7.5 KiB
Plaintext
Executable File
148 lines
7.5 KiB
Plaintext
Executable File
spv.150.geom
|
|
|
|
Linked geometry stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 71
|
|
|
|
Capability Geometry
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Geometry 4 "main" 18 10 29 49 33 47 51 70
|
|
ExecutionMode 4 InputTrianglesAdjacency
|
|
ExecutionMode 4 Invocations 1
|
|
ExecutionMode 4 OutputTriangleStrip
|
|
ExecutionMode 4 OutputVertices 30
|
|
Source GLSL 150
|
|
Name 4 "main"
|
|
Name 8 "fromVertex"
|
|
MemberName 8(fromVertex) 0 "color"
|
|
Name 10 ""
|
|
Name 13 "fromVertex"
|
|
MemberName 13(fromVertex) 0 "color"
|
|
Name 18 "fromV"
|
|
Name 27 "gl_PerVertex"
|
|
MemberName 27(gl_PerVertex) 0 "gl_Position"
|
|
MemberName 27(gl_PerVertex) 1 "gl_PointSize"
|
|
MemberName 27(gl_PerVertex) 2 "gl_ClipDistance"
|
|
Name 29 ""
|
|
Name 30 "gl_PerVertex"
|
|
MemberName 30(gl_PerVertex) 0 "gl_Position"
|
|
MemberName 30(gl_PerVertex) 1 "gl_PointSize"
|
|
MemberName 30(gl_PerVertex) 2 "gl_ClipDistance"
|
|
Name 33 "gl_in"
|
|
Name 47 "gl_PrimitiveID"
|
|
Name 49 "gl_PrimitiveIDIn"
|
|
Name 51 "gl_Layer"
|
|
Name 68 "toFragment"
|
|
MemberName 68(toFragment) 0 "color"
|
|
Name 70 "toF"
|
|
Decorate 8(fromVertex) Block
|
|
Decorate 8(fromVertex) Stream 3
|
|
Decorate 10 Stream 3
|
|
Decorate 13(fromVertex) Block
|
|
MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position
|
|
MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize
|
|
MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance
|
|
Decorate 27(gl_PerVertex) Block
|
|
Decorate 27(gl_PerVertex) Stream 0
|
|
Decorate 29 Stream 0
|
|
MemberDecorate 30(gl_PerVertex) 0 BuiltIn Position
|
|
MemberDecorate 30(gl_PerVertex) 1 BuiltIn PointSize
|
|
MemberDecorate 30(gl_PerVertex) 2 BuiltIn ClipDistance
|
|
Decorate 30(gl_PerVertex) Block
|
|
Decorate 47(gl_PrimitiveID) Stream 0
|
|
Decorate 47(gl_PrimitiveID) BuiltIn PrimitiveId
|
|
Decorate 49(gl_PrimitiveIDIn) BuiltIn PrimitiveId
|
|
Decorate 51(gl_Layer) Stream 0
|
|
Decorate 51(gl_Layer) BuiltIn Layer
|
|
Decorate 68(toFragment) Block
|
|
Decorate 68(toFragment) Stream 3
|
|
Decorate 70(toF) Stream 3
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 3
|
|
8(fromVertex): TypeStruct 7(fvec3)
|
|
9: TypePointer Output 8(fromVertex)
|
|
10: 9(ptr) Variable Output
|
|
11: TypeInt 32 1
|
|
12: 11(int) Constant 0
|
|
13(fromVertex): TypeStruct 7(fvec3)
|
|
14: TypeInt 32 0
|
|
15: 14(int) Constant 6
|
|
16: TypeArray 13(fromVertex) 15
|
|
17: TypePointer Input 16
|
|
18(fromV): 17(ptr) Variable Input
|
|
19: TypePointer Input 7(fvec3)
|
|
22: TypePointer Output 7(fvec3)
|
|
24: TypeVector 6(float) 4
|
|
25: 14(int) Constant 1
|
|
26: TypeArray 6(float) 25
|
|
27(gl_PerVertex): TypeStruct 24(fvec4) 6(float) 26
|
|
28: TypePointer Output 27(gl_PerVertex)
|
|
29: 28(ptr) Variable Output
|
|
30(gl_PerVertex): TypeStruct 24(fvec4) 6(float) 26
|
|
31: TypeArray 30(gl_PerVertex) 15
|
|
32: TypePointer Input 31
|
|
33(gl_in): 32(ptr) Variable Input
|
|
34: TypePointer Input 24(fvec4)
|
|
37: TypePointer Output 24(fvec4)
|
|
39: 11(int) Constant 1
|
|
40: 11(int) Constant 3
|
|
41: TypePointer Input 6(float)
|
|
44: TypePointer Output 6(float)
|
|
46: TypePointer Output 11(int)
|
|
47(gl_PrimitiveID): 46(ptr) Variable Output
|
|
48: TypePointer Input 11(int)
|
|
49(gl_PrimitiveIDIn): 48(ptr) Variable Input
|
|
51(gl_Layer): 46(ptr) Variable Output
|
|
52: 11(int) Constant 2
|
|
53: 6(float) Constant 1073741824
|
|
68(toFragment): TypeStruct 7(fvec3)
|
|
69: TypePointer Output 68(toFragment)
|
|
70(toF): 69(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
20: 19(ptr) AccessChain 18(fromV) 12 12
|
|
21: 7(fvec3) Load 20
|
|
23: 22(ptr) AccessChain 10 12
|
|
Store 23 21
|
|
35: 34(ptr) AccessChain 33(gl_in) 12 12
|
|
36: 24(fvec4) Load 35
|
|
38: 37(ptr) AccessChain 29 12
|
|
Store 38 36
|
|
42: 41(ptr) AccessChain 33(gl_in) 40 39
|
|
43: 6(float) Load 42
|
|
45: 44(ptr) AccessChain 29 39
|
|
Store 45 43
|
|
50: 11(int) Load 49(gl_PrimitiveIDIn)
|
|
Store 47(gl_PrimitiveID) 50
|
|
Store 51(gl_Layer) 52
|
|
EmitVertex
|
|
54: 19(ptr) AccessChain 18(fromV) 12 12
|
|
55: 7(fvec3) Load 54
|
|
56: 7(fvec3) VectorTimesScalar 55 53
|
|
57: 22(ptr) AccessChain 10 12
|
|
Store 57 56
|
|
58: 34(ptr) AccessChain 33(gl_in) 12 12
|
|
59: 24(fvec4) Load 58
|
|
60: 24(fvec4) VectorTimesScalar 59 53
|
|
61: 37(ptr) AccessChain 29 12
|
|
Store 61 60
|
|
62: 41(ptr) AccessChain 33(gl_in) 40 39
|
|
63: 6(float) Load 62
|
|
64: 6(float) FMul 53 63
|
|
65: 44(ptr) AccessChain 29 39
|
|
Store 65 64
|
|
66: 11(int) Load 49(gl_PrimitiveIDIn)
|
|
67: 11(int) IAdd 66 39
|
|
Store 47(gl_PrimitiveID) 67
|
|
Store 51(gl_Layer) 40
|
|
EmitVertex
|
|
EndPrimitive
|
|
Return
|
|
FunctionEnd
|