blob: 86a4fd2e2432fea74ddc62fe7f19d49678db05c2 [file] [log] [blame]
spv.meshShaderPerViewBuiltins.mesh
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 126
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 40 72
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 36 "gl_MeshPerVertexNV"
MemberName 36(gl_MeshPerVertexNV) 0 "gl_Position"
MemberName 36(gl_MeshPerVertexNV) 1 "gl_PointSize"
MemberName 36(gl_MeshPerVertexNV) 2 "gl_ClipDistance"
MemberName 36(gl_MeshPerVertexNV) 3 "gl_CullDistance"
MemberName 36(gl_MeshPerVertexNV) 4 "gl_PositionPerViewNV"
MemberName 36(gl_MeshPerVertexNV) 5 "gl_ClipDistancePerViewNV"
MemberName 36(gl_MeshPerVertexNV) 6 "gl_CullDistancePerViewNV"
Name 40 "gl_MeshVerticesNV"
Name 68 "gl_MeshPerPrimitiveNV"
MemberName 68(gl_MeshPerPrimitiveNV) 0 "gl_PrimitiveID"
MemberName 68(gl_MeshPerPrimitiveNV) 1 "gl_Layer"
MemberName 68(gl_MeshPerPrimitiveNV) 2 "gl_ViewportIndex"
MemberName 68(gl_MeshPerPrimitiveNV) 3 "gl_ViewportMask"
MemberName 68(gl_MeshPerPrimitiveNV) 4 "gl_LayerPerViewNV"
MemberName 68(gl_MeshPerPrimitiveNV) 5 "gl_ViewportMaskPerViewNV"
Name 72 "gl_MeshPrimitivesNV"
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
MemberDecorate 36(gl_MeshPerVertexNV) 0 BuiltIn Position
MemberDecorate 36(gl_MeshPerVertexNV) 1 BuiltIn PointSize
MemberDecorate 36(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance
MemberDecorate 36(gl_MeshPerVertexNV) 3 BuiltIn CullDistance
MemberDecorate 36(gl_MeshPerVertexNV) 4 PerViewNV
MemberDecorate 36(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV
MemberDecorate 36(gl_MeshPerVertexNV) 5 PerViewNV
MemberDecorate 36(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV
MemberDecorate 36(gl_MeshPerVertexNV) 6 PerViewNV
MemberDecorate 36(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV
Decorate 36(gl_MeshPerVertexNV) Block
MemberDecorate 68(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV
MemberDecorate 68(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId
MemberDecorate 68(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV
MemberDecorate 68(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer
MemberDecorate 68(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV
MemberDecorate 68(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex
MemberDecorate 68(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV
MemberDecorate 68(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV
MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV
MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 PerViewNV
MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV
MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV
MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 PerViewNV
MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV
Decorate 68(gl_MeshPerPrimitiveNV) Block
Decorate 125 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 3
32: TypeArray 26(float) 31
33: TypeArray 32 17
34: TypeArray 26(float) 17
35: TypeArray 34 17
36(gl_MeshPerVertexNV): TypeStruct 27(fvec4) 26(float) 29 29 30 33 35
37: 6(int) Constant 81
38: TypeArray 36(gl_MeshPerVertexNV) 37
39: TypePointer Output 38
40(gl_MeshVerticesNV): 39(ptr) Variable Output
42: TypeInt 32 1
43: 42(int) Constant 4
45: 26(float) Constant 1065353216
46: 26(float) Constant 1073741824
47: 26(float) Constant 1077936128
48: 26(float) Constant 1082130432
49: 27(fvec4) ConstantComposite 45 46 47 48
50: TypePointer Output 27(fvec4)
53: 42(int) Constant 5
55: 42(int) Constant 2
56: 26(float) Constant 1084227584
57: TypePointer Output 26(float)
60: 42(int) Constant 6
62: 42(int) Constant 3
63: 26(float) Constant 1086324736
65: TypeArray 42(int) 28
66: TypeArray 42(int) 17
67: TypeArray 65 17
68(gl_MeshPerPrimitiveNV): TypeStruct 42(int) 42(int) 42(int) 65 66 67
69: 6(int) Constant 32
70: TypeArray 68(gl_MeshPerPrimitiveNV) 69
71: TypePointer Output 70
72(gl_MeshPrimitivesNV): 71(ptr) Variable Output
75: 42(int) Constant 7
76: TypePointer Output 42(int)
80: 42(int) Constant 0
81: 42(int) Constant 8
83: 6(int) Constant 264
84: 6(int) Constant 2
125: 9(ivec3) ConstantComposite 69 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
41: 6(int) Load 8(iid)
44: 6(int) Load 16(viewID)
51: 50(ptr) AccessChain 40(gl_MeshVerticesNV) 41 43 44
Store 51 49
52: 6(int) Load 8(iid)
54: 6(int) Load 16(viewID)
58: 57(ptr) AccessChain 40(gl_MeshVerticesNV) 52 53 54 55
Store 58 56
59: 6(int) Load 8(iid)
61: 6(int) Load 16(viewID)
64: 57(ptr) AccessChain 40(gl_MeshVerticesNV) 59 60 61 62
Store 64 63
73: 6(int) Load 8(iid)
74: 6(int) Load 16(viewID)
77: 76(ptr) AccessChain 72(gl_MeshPrimitivesNV) 73 43 74
Store 77 75
78: 6(int) Load 8(iid)
79: 6(int) Load 16(viewID)
82: 76(ptr) AccessChain 72(gl_MeshPrimitivesNV) 78 53 79 80
Store 82 81
MemoryBarrier 28 83
ControlBarrier 84 84 83
85: 6(int) Load 8(iid)
86: 6(int) IAdd 85 28
87: 6(int) Load 16(viewID)
88: 6(int) Load 8(iid)
89: 6(int) Load 16(viewID)
90: 50(ptr) AccessChain 40(gl_MeshVerticesNV) 88 43 89
91: 27(fvec4) Load 90
92: 50(ptr) AccessChain 40(gl_MeshVerticesNV) 86 43 87
Store 92 91
93: 6(int) Load 8(iid)
94: 6(int) IAdd 93 28
95: 6(int) Load 16(viewID)
96: 6(int) Load 8(iid)
97: 6(int) Load 16(viewID)
98: 57(ptr) AccessChain 40(gl_MeshVerticesNV) 96 53 97 55
99: 26(float) Load 98
100: 57(ptr) AccessChain 40(gl_MeshVerticesNV) 94 53 95 55
Store 100 99
101: 6(int) Load 8(iid)
102: 6(int) IAdd 101 28
103: 6(int) Load 16(viewID)
104: 6(int) Load 8(iid)
105: 6(int) Load 16(viewID)
106: 57(ptr) AccessChain 40(gl_MeshVerticesNV) 104 60 105 62
107: 26(float) Load 106
108: 57(ptr) AccessChain 40(gl_MeshVerticesNV) 102 60 103 62
Store 108 107
109: 6(int) Load 8(iid)
110: 6(int) IAdd 109 28
111: 6(int) Load 16(viewID)
112: 6(int) Load 8(iid)
113: 6(int) Load 16(viewID)
114: 76(ptr) AccessChain 72(gl_MeshPrimitivesNV) 112 43 113
115: 42(int) Load 114
116: 76(ptr) AccessChain 72(gl_MeshPrimitivesNV) 110 43 111
Store 116 115
117: 6(int) Load 8(iid)
118: 6(int) IAdd 117 28
119: 6(int) Load 16(viewID)
120: 6(int) Load 8(iid)
121: 6(int) Load 16(viewID)
122: 76(ptr) AccessChain 72(gl_MeshPrimitivesNV) 120 53 121 80
123: 42(int) Load 122
124: 76(ptr) AccessChain 72(gl_MeshPrimitivesNV) 118 53 119 80
Store 124 123
MemoryBarrier 28 83
ControlBarrier 84 84 83
Return
FunctionEnd