glslang/Test/baseResults/spv.meshShaderBuiltins.mesh.out
Steven Perron 33c7e30860
Don't emit duplicate decorations. (#3635)
It is invalid if the same decoration is applied to the same id multiple
times. This adds a check before adding a decoration that the decoration
is not already in the list. If it is, then the duplicate is not added.

Fixes #3627
2024-06-28 19:16:59 -04:00

261 lines
15 KiB
Plaintext

spv.meshShaderBuiltins.mesh
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 148
Capability ClipDistance
Capability CullDistance
Capability DrawParameters
Capability ShaderViewportMaskNV
Capability MeshShadingNV
Extension "SPV_KHR_shader_draw_parameters"
Extension "SPV_NV_mesh_shader"
Extension "SPV_NV_viewport_array2"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint MeshNV 4 "main" 11 17 34 88 129 142 146
ExecutionMode 4 LocalSize 32 1 1
ExecutionMode 4 OutputVertices 81
ExecutionMode 4 OutputPrimitivesNV 32
ExecutionMode 4 OutputTrianglesNV
Source GLSL 460
SourceExtension "GL_NV_mesh_shader"
Name 4 "main"
Name 8 "iid"
Name 11 "gl_LocalInvocationID"
Name 16 "gid"
Name 17 "gl_WorkGroupID"
Name 30 "gl_MeshPerVertexNV"
MemberName 30(gl_MeshPerVertexNV) 0 "gl_Position"
MemberName 30(gl_MeshPerVertexNV) 1 "gl_PointSize"
MemberName 30(gl_MeshPerVertexNV) 2 "gl_ClipDistance"
MemberName 30(gl_MeshPerVertexNV) 3 "gl_CullDistance"
MemberName 30(gl_MeshPerVertexNV) 4 "gl_PositionPerViewNV"
MemberName 30(gl_MeshPerVertexNV) 5 "gl_ClipDistancePerViewNV"
MemberName 30(gl_MeshPerVertexNV) 6 "gl_CullDistancePerViewNV"
Name 34 "gl_MeshVerticesNV"
Name 84 "gl_MeshPerPrimitiveNV"
MemberName 84(gl_MeshPerPrimitiveNV) 0 "gl_PrimitiveID"
MemberName 84(gl_MeshPerPrimitiveNV) 1 "gl_Layer"
MemberName 84(gl_MeshPerPrimitiveNV) 2 "gl_ViewportIndex"
MemberName 84(gl_MeshPerPrimitiveNV) 3 "gl_ViewportMask"
MemberName 84(gl_MeshPerPrimitiveNV) 4 "gl_LayerPerViewNV"
MemberName 84(gl_MeshPerPrimitiveNV) 5 "gl_ViewportMaskPerViewNV"
Name 88 "gl_MeshPrimitivesNV"
Name 129 "gl_PrimitiveIndicesNV"
Name 142 "gl_DrawID"
Name 146 "gl_PrimitiveCountNV"
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
Decorate 30(gl_MeshPerVertexNV) Block
MemberDecorate 30(gl_MeshPerVertexNV) 0 BuiltIn Position
MemberDecorate 30(gl_MeshPerVertexNV) 1 BuiltIn PointSize
MemberDecorate 30(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance
MemberDecorate 30(gl_MeshPerVertexNV) 3 BuiltIn CullDistance
MemberDecorate 30(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV
MemberDecorate 30(gl_MeshPerVertexNV) 4 PerViewNV
MemberDecorate 30(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV
MemberDecorate 30(gl_MeshPerVertexNV) 5 PerViewNV
MemberDecorate 30(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV
MemberDecorate 30(gl_MeshPerVertexNV) 6 PerViewNV
Decorate 84(gl_MeshPerPrimitiveNV) Block
MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId
MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer
MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex
MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerViewNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV
MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerViewNV
Decorate 129(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV
Decorate 142(gl_DrawID) BuiltIn DrawIndex
Decorate 146(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV
Decorate 147 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(gl_WorkGroupID): 10(ptr) Variable Input
20: TypeFloat 32
21: TypeVector 20(float) 4
22: 6(int) Constant 4
23: TypeArray 20(float) 22
24: 6(int) Constant 3
25: TypeArray 20(float) 24
26: TypeArray 21(fvec4) 22
27: 6(int) Constant 1
28: TypeArray 20(float) 27
29: TypeArray 28 22
30(gl_MeshPerVertexNV): TypeStruct 21(fvec4) 20(float) 23 25 26 29 29
31: 6(int) Constant 81
32: TypeArray 30(gl_MeshPerVertexNV) 31
33: TypePointer Output 32
34(gl_MeshVerticesNV): 33(ptr) Variable Output
36: TypeInt 32 1
37: 36(int) Constant 0
38: 20(float) Constant 1065353216
39: 21(fvec4) ConstantComposite 38 38 38 38
40: TypePointer Output 21(fvec4)
43: 36(int) Constant 1
44: 20(float) Constant 1073741824
45: TypePointer Output 20(float)
48: 36(int) Constant 2
49: 36(int) Constant 3
50: 20(float) Constant 1077936128
53: 20(float) Constant 1082130432
55: 6(int) Constant 264
56: 6(int) Constant 2
81: TypeArray 36(int) 27
82: TypeArray 36(int) 22
83: TypeArray 81 22
84(gl_MeshPerPrimitiveNV): TypeStruct 36(int) 36(int) 36(int) 81 82 83
85: 6(int) Constant 32
86: TypeArray 84(gl_MeshPerPrimitiveNV) 85
87: TypePointer Output 86
88(gl_MeshPrimitivesNV): 87(ptr) Variable Output
90: 36(int) Constant 6
91: TypePointer Output 36(int)
94: 36(int) Constant 7
97: 36(int) Constant 8
100: 36(int) Constant 9
126: 6(int) Constant 96
127: TypeArray 6(int) 126
128: TypePointer Output 127
129(gl_PrimitiveIndicesNV): 128(ptr) Variable Output
130: 6(int) Constant 257
131: TypePointer Output 6(int)
133: 36(int) Constant 95
141: TypePointer Input 36(int)
142(gl_DrawID): 141(ptr) Variable Input
145: 6(int) Constant 16909060
146(gl_PrimitiveCountNV): 131(ptr) Variable Output
147: 9(ivec3) ConstantComposite 85 27 27
4(main): 2 Function None 3
5: Label
8(iid): 7(ptr) Variable Function
16(gid): 7(ptr) Variable Function
14: 13(ptr) AccessChain 11(gl_LocalInvocationID) 12
15: 6(int) Load 14
Store 8(iid) 15
18: 13(ptr) AccessChain 17(gl_WorkGroupID) 12
19: 6(int) Load 18
Store 16(gid) 19
35: 6(int) Load 8(iid)
41: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 35 37
Store 41 39
42: 6(int) Load 8(iid)
46: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 42 43
Store 46 44
47: 6(int) Load 8(iid)
51: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 47 48 49
Store 51 50
52: 6(int) Load 8(iid)
54: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 52 49 48
Store 54 53
MemoryBarrier 27 55
ControlBarrier 56 56 55
57: 6(int) Load 8(iid)
58: 6(int) IAdd 57 27
59: 6(int) Load 8(iid)
60: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 59 37
61: 21(fvec4) Load 60
62: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 58 37
Store 62 61
63: 6(int) Load 8(iid)
64: 6(int) IAdd 63 27
65: 6(int) Load 8(iid)
66: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 65 43
67: 20(float) Load 66
68: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 64 43
Store 68 67
69: 6(int) Load 8(iid)
70: 6(int) IAdd 69 27
71: 6(int) Load 8(iid)
72: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 71 48 49
73: 20(float) Load 72
74: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 70 48 49
Store 74 73
75: 6(int) Load 8(iid)
76: 6(int) IAdd 75 27
77: 6(int) Load 8(iid)
78: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 77 49 48
79: 20(float) Load 78
80: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 76 49 48
Store 80 79
MemoryBarrier 27 55
ControlBarrier 56 56 55
89: 6(int) Load 8(iid)
92: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 89 37
Store 92 90
93: 6(int) Load 8(iid)
95: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 93 43
Store 95 94
96: 6(int) Load 8(iid)
98: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 96 48
Store 98 97
99: 6(int) Load 8(iid)
101: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 99 49 37
Store 101 100
MemoryBarrier 27 55
ControlBarrier 56 56 55
102: 6(int) Load 8(iid)
103: 6(int) IAdd 102 27
104: 6(int) Load 8(iid)
105: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 104 37
106: 36(int) Load 105
107: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 103 37
Store 107 106
108: 6(int) Load 8(iid)
109: 6(int) IAdd 108 27
110: 6(int) Load 8(iid)
111: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 110 43
112: 36(int) Load 111
113: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 109 43
Store 113 112
114: 6(int) Load 8(iid)
115: 6(int) IAdd 114 27
116: 6(int) Load 8(iid)
117: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 116 48
118: 36(int) Load 117
119: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 115 48
Store 119 118
120: 6(int) Load 8(iid)
121: 6(int) IAdd 120 27
122: 6(int) Load 8(iid)
123: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 122 49 37
124: 36(int) Load 123
125: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 121 49 37
Store 125 124
MemoryBarrier 27 55
ControlBarrier 56 56 55
132: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 37
Store 132 130
134: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 133
Store 134 56
135: 6(int) Load 16(gid)
136: 6(int) Load 16(gid)
137: 6(int) ISub 136 27
138: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 137
139: 6(int) Load 138
140: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 135
Store 140 139
143: 36(int) Load 142(gl_DrawID)
144: 6(int) Bitcast 143
145: 144 WritePackedPrimitiveIndices4x8NV
Store 146(gl_PrimitiveCountNV) 126
MemoryBarrier 27 55
ControlBarrier 56 56 55
Return
FunctionEnd