blob: c79a5c32f1ad319d5948ceb68e4a4fc37ada46ed [file] [log] [blame]
spv.meshShaderPerViewBuiltins.mesh
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 124
Capability MultiViewport
Capability PerViewAttributesNV
Capability MeshShadingNV
Extension "SPV_NVX_multiview_per_view_attributes"
Extension "SPV_NV_mesh_shader"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint MeshNV 4 "main" 11 20 21 38 70
ExecutionMode 4 LocalSize 32 1 1
ExecutionMode 4 OutputVertices 81
ExecutionMode 4 OutputPrimitivesNV 32
ExecutionMode 4 OutputTrianglesNV
Source GLSL 450
SourceExtension "GL_NV_mesh_shader"
Name 4 "main"
Name 8 "iid"
Name 11 "gl_LocalInvocationID"
Name 16 "viewID"
Name 20 "gl_MeshViewIndicesNV"
Name 21 "gl_MeshViewCountNV"
Name 34 "gl_MeshPerVertexNV"
MemberName 34(gl_MeshPerVertexNV) 0 "gl_Position"
MemberName 34(gl_MeshPerVertexNV) 1 "gl_PointSize"
MemberName 34(gl_MeshPerVertexNV) 2 "gl_ClipDistance"
MemberName 34(gl_MeshPerVertexNV) 3 "gl_CullDistance"
MemberName 34(gl_MeshPerVertexNV) 4 "gl_PositionPerViewNV"
MemberName 34(gl_MeshPerVertexNV) 5 "gl_ClipDistancePerViewNV"
MemberName 34(gl_MeshPerVertexNV) 6 "gl_CullDistancePerViewNV"
Name 38 "gl_MeshVerticesNV"
Name 66 "gl_MeshPerPrimitiveNV"
MemberName 66(gl_MeshPerPrimitiveNV) 0 "gl_PrimitiveID"
MemberName 66(gl_MeshPerPrimitiveNV) 1 "gl_Layer"
MemberName 66(gl_MeshPerPrimitiveNV) 2 "gl_ViewportIndex"
MemberName 66(gl_MeshPerPrimitiveNV) 3 "gl_ViewportMask"
MemberName 66(gl_MeshPerPrimitiveNV) 4 "gl_LayerPerViewNV"
MemberName 66(gl_MeshPerPrimitiveNV) 5 "gl_ViewportMaskPerViewNV"
Name 70 "gl_MeshPrimitivesNV"
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
MemberDecorate 34(gl_MeshPerVertexNV) 0 BuiltIn Position
MemberDecorate 34(gl_MeshPerVertexNV) 1 BuiltIn PointSize
MemberDecorate 34(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance
MemberDecorate 34(gl_MeshPerVertexNV) 3 BuiltIn CullDistance
MemberDecorate 34(gl_MeshPerVertexNV) 4 PerViewNV
MemberDecorate 34(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV
MemberDecorate 34(gl_MeshPerVertexNV) 5 PerViewNV
MemberDecorate 34(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV
MemberDecorate 34(gl_MeshPerVertexNV) 6 PerViewNV
MemberDecorate 34(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV
Decorate 34(gl_MeshPerVertexNV) Block
MemberDecorate 66(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV
MemberDecorate 66(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId
MemberDecorate 66(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV
MemberDecorate 66(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer
MemberDecorate 66(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV
MemberDecorate 66(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex
MemberDecorate 66(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV
MemberDecorate 66(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV
MemberDecorate 66(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV
MemberDecorate 66(gl_MeshPerPrimitiveNV) 4 PerViewNV
MemberDecorate 66(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV
MemberDecorate 66(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV
MemberDecorate 66(gl_MeshPerPrimitiveNV) 5 PerViewNV
MemberDecorate 66(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV
Decorate 66(gl_MeshPerPrimitiveNV) Block
Decorate 123 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
9: TypeVector 6(int) 3
10: TypePointer Input 9(ivec3)
11(gl_LocalInvocationID): 10(ptr) Variable Input
12: 6(int) Constant 0
13: TypePointer Input 6(int)
17: 6(int) Constant 4
18: TypeArray 6(int) 17
19: TypePointer Input 18
20(gl_MeshViewIndicesNV): 19(ptr) Variable Input
21(gl_MeshViewCountNV): 13(ptr) Variable Input
26: TypeFloat 32
27: TypeVector 26(float) 4
28: 6(int) Constant 1
29: TypeArray 26(float) 28
30: TypeArray 27(fvec4) 17
31: 6(int) Constant 8
32: TypeArray 26(float) 31
33: TypeArray 32 17
34(gl_MeshPerVertexNV): TypeStruct 27(fvec4) 26(float) 29 29 30 33 33
35: 6(int) Constant 81
36: TypeArray 34(gl_MeshPerVertexNV) 35
37: TypePointer Output 36
38(gl_MeshVerticesNV): 37(ptr) Variable Output
40: TypeInt 32 1
41: 40(int) Constant 4
43: 26(float) Constant 1065353216
44: 26(float) Constant 1073741824
45: 26(float) Constant 1077936128
46: 26(float) Constant 1082130432
47: 27(fvec4) ConstantComposite 43 44 45 46
48: TypePointer Output 27(fvec4)
51: 40(int) Constant 5
53: 40(int) Constant 2
54: 26(float) Constant 1084227584
55: TypePointer Output 26(float)
58: 40(int) Constant 6
60: 40(int) Constant 3
61: 26(float) Constant 1086324736
63: TypeArray 40(int) 28
64: TypeArray 40(int) 17
65: TypeArray 63 17
66(gl_MeshPerPrimitiveNV): TypeStruct 40(int) 40(int) 40(int) 63 64 65
67: 6(int) Constant 32
68: TypeArray 66(gl_MeshPerPrimitiveNV) 67
69: TypePointer Output 68
70(gl_MeshPrimitivesNV): 69(ptr) Variable Output
73: 40(int) Constant 7
74: TypePointer Output 40(int)
78: 40(int) Constant 0
79: 40(int) Constant 8
81: 6(int) Constant 264
82: 6(int) Constant 2
123: 9(ivec3) ConstantComposite 67 28 28
4(main): 2 Function None 3
5: Label
8(iid): 7(ptr) Variable Function
16(viewID): 7(ptr) Variable Function
14: 13(ptr) AccessChain 11(gl_LocalInvocationID) 12
15: 6(int) Load 14
Store 8(iid) 15
22: 6(int) Load 21(gl_MeshViewCountNV)
23: 6(int) UMod 22 17
24: 13(ptr) AccessChain 20(gl_MeshViewIndicesNV) 23
25: 6(int) Load 24
Store 16(viewID) 25
39: 6(int) Load 8(iid)
42: 6(int) Load 16(viewID)
49: 48(ptr) AccessChain 38(gl_MeshVerticesNV) 39 41 42
Store 49 47
50: 6(int) Load 8(iid)
52: 6(int) Load 16(viewID)
56: 55(ptr) AccessChain 38(gl_MeshVerticesNV) 50 51 52 53
Store 56 54
57: 6(int) Load 8(iid)
59: 6(int) Load 16(viewID)
62: 55(ptr) AccessChain 38(gl_MeshVerticesNV) 57 58 59 60
Store 62 61
71: 6(int) Load 8(iid)
72: 6(int) Load 16(viewID)
75: 74(ptr) AccessChain 70(gl_MeshPrimitivesNV) 71 41 72
Store 75 73
76: 6(int) Load 8(iid)
77: 6(int) Load 16(viewID)
80: 74(ptr) AccessChain 70(gl_MeshPrimitivesNV) 76 51 77 78
Store 80 79
MemoryBarrier 28 81
ControlBarrier 82 82 81
83: 6(int) Load 8(iid)
84: 6(int) IAdd 83 28
85: 6(int) Load 16(viewID)
86: 6(int) Load 8(iid)
87: 6(int) Load 16(viewID)
88: 48(ptr) AccessChain 38(gl_MeshVerticesNV) 86 41 87
89: 27(fvec4) Load 88
90: 48(ptr) AccessChain 38(gl_MeshVerticesNV) 84 41 85
Store 90 89
91: 6(int) Load 8(iid)
92: 6(int) IAdd 91 28
93: 6(int) Load 16(viewID)
94: 6(int) Load 8(iid)
95: 6(int) Load 16(viewID)
96: 55(ptr) AccessChain 38(gl_MeshVerticesNV) 94 51 95 53
97: 26(float) Load 96
98: 55(ptr) AccessChain 38(gl_MeshVerticesNV) 92 51 93 53
Store 98 97
99: 6(int) Load 8(iid)
100: 6(int) IAdd 99 28
101: 6(int) Load 16(viewID)
102: 6(int) Load 8(iid)
103: 6(int) Load 16(viewID)
104: 55(ptr) AccessChain 38(gl_MeshVerticesNV) 102 58 103 60
105: 26(float) Load 104
106: 55(ptr) AccessChain 38(gl_MeshVerticesNV) 100 58 101 60
Store 106 105
107: 6(int) Load 8(iid)
108: 6(int) IAdd 107 28
109: 6(int) Load 16(viewID)
110: 6(int) Load 8(iid)
111: 6(int) Load 16(viewID)
112: 74(ptr) AccessChain 70(gl_MeshPrimitivesNV) 110 41 111
113: 40(int) Load 112
114: 74(ptr) AccessChain 70(gl_MeshPrimitivesNV) 108 41 109
Store 114 113
115: 6(int) Load 8(iid)
116: 6(int) IAdd 115 28
117: 6(int) Load 16(viewID)
118: 6(int) Load 8(iid)
119: 6(int) Load 16(viewID)
120: 74(ptr) AccessChain 70(gl_MeshPrimitivesNV) 118 51 119 78
121: 40(int) Load 120
122: 74(ptr) AccessChain 70(gl_MeshPrimitivesNV) 116 51 117 78
Store 122 121
MemoryBarrier 28 81
ControlBarrier 82 82 81
Return
FunctionEnd