mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-13 21:50:06 +00:00
33c7e30860
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
261 lines
15 KiB
Plaintext
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
|