mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30: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
209 lines
10 KiB
Plaintext
209 lines
10 KiB
Plaintext
spv.ext.meshShaderUserDefined.mesh
|
|
// Module Version 10400
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 141
|
|
|
|
Capability MeshShadingEXT
|
|
Extension "SPV_EXT_mesh_shader"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint MeshEXT 4 "main" 11 17 34 104
|
|
ExecutionMode 4 LocalSize 32 1 1
|
|
ExecutionMode 4 OutputVertices 81
|
|
ExecutionMode 4 OutputPrimitivesNV 32
|
|
ExecutionMode 4 OutputTrianglesNV
|
|
Source GLSL 450
|
|
SourceExtension "GL_EXT_mesh_shader"
|
|
Name 4 "main"
|
|
Name 8 "iid"
|
|
Name 11 "gl_LocalInvocationID"
|
|
Name 16 "gid"
|
|
Name 17 "gl_WorkGroupID"
|
|
Name 30 "myblock"
|
|
MemberName 30(myblock) 0 "f"
|
|
MemberName 30(myblock) 1 "fArr"
|
|
MemberName 30(myblock) 2 "pos"
|
|
MemberName 30(myblock) 3 "posArr"
|
|
MemberName 30(myblock) 4 "m"
|
|
MemberName 30(myblock) 5 "mArr"
|
|
Name 34 "blk"
|
|
Name 100 "myblock2"
|
|
MemberName 100(myblock2) 0 "f"
|
|
MemberName 100(myblock2) 1 "pos"
|
|
MemberName 100(myblock2) 2 "m"
|
|
Name 104 "blk2"
|
|
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
|
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
|
|
Decorate 30(myblock) Block
|
|
MemberDecorate 30(myblock) 0 PerPrimitiveNV
|
|
MemberDecorate 30(myblock) 1 PerPrimitiveNV
|
|
MemberDecorate 30(myblock) 2 PerPrimitiveNV
|
|
MemberDecorate 30(myblock) 3 PerPrimitiveNV
|
|
MemberDecorate 30(myblock) 4 PerPrimitiveNV
|
|
MemberDecorate 30(myblock) 5 PerPrimitiveNV
|
|
Decorate 34(blk) Location 0
|
|
Decorate 100(myblock2) Block
|
|
Decorate 104(blk2) Location 20
|
|
Decorate 140 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: 6(int) Constant 4
|
|
22: TypeArray 20(float) 21
|
|
23: TypeVector 20(float) 3
|
|
24: TypeVector 20(float) 4
|
|
25: TypeArray 24(fvec4) 21
|
|
26: TypeMatrix 24(fvec4) 4
|
|
27: TypeMatrix 23(fvec3) 3
|
|
28: 6(int) Constant 2
|
|
29: TypeArray 27 28
|
|
30(myblock): TypeStruct 20(float) 22 23(fvec3) 25 26 29
|
|
31: 6(int) Constant 32
|
|
32: TypeArray 30(myblock) 31
|
|
33: TypePointer Output 32
|
|
34(blk): 33(ptr) Variable Output
|
|
36: TypeInt 32 1
|
|
37: 36(int) Constant 0
|
|
38: 20(float) Constant 1093664768
|
|
39: TypePointer Output 20(float)
|
|
42: 6(int) Constant 1
|
|
44: 36(int) Constant 1
|
|
52: 36(int) Constant 2
|
|
53: 20(float) Constant 1096810496
|
|
54: 20(float) Constant 1097859072
|
|
55: 20(float) Constant 1095761920
|
|
56: 23(fvec3) ConstantComposite 53 54 55
|
|
57: TypePointer Output 23(fvec3)
|
|
63: 36(int) Constant 3
|
|
72: 6(int) Constant 3
|
|
77: 36(int) Constant 4
|
|
78: 20(float) Constant 1098907648
|
|
79: 24(fvec4) ConstantComposite 55 53 54 78
|
|
80: TypePointer Output 24(fvec4)
|
|
85: 36(int) Constant 5
|
|
94: 20(float) Constant 1099431936
|
|
95: 20(float) Constant 1099956224
|
|
96: 20(float) Constant 1100480512
|
|
97: 23(fvec3) ConstantComposite 94 95 96
|
|
99: 6(int) Constant 264
|
|
100(myblock2): TypeStruct 20(float) 24(fvec4) 26
|
|
101: 6(int) Constant 81
|
|
102: TypeArray 100(myblock2) 101
|
|
103: TypePointer Output 102
|
|
104(blk2): 103(ptr) Variable Output
|
|
110: 20(float) Constant 1101004800
|
|
114: 20(float) Constant 1101529088
|
|
115: 20(float) Constant 1102053376
|
|
116: 20(float) Constant 1102577664
|
|
117: 20(float) Constant 1103101952
|
|
118: 24(fvec4) ConstantComposite 114 115 116 117
|
|
130: 20(float) Constant 1105723392
|
|
140: 9(ivec3) ConstantComposite 31 42 42
|
|
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)
|
|
40: 39(ptr) AccessChain 34(blk) 35 37
|
|
Store 40 38
|
|
41: 6(int) Load 8(iid)
|
|
43: 6(int) IAdd 41 42
|
|
45: 6(int) Load 16(gid)
|
|
46: 6(int) Load 8(iid)
|
|
47: 39(ptr) AccessChain 34(blk) 46 37
|
|
48: 20(float) Load 47
|
|
49: 39(ptr) AccessChain 34(blk) 43 44 45
|
|
Store 49 48
|
|
50: 6(int) Load 8(iid)
|
|
51: 6(int) UDiv 50 28
|
|
58: 57(ptr) AccessChain 34(blk) 51 52
|
|
59: 23(fvec3) Load 58
|
|
60: 23(fvec3) VectorShuffle 59 56 5 3 4
|
|
Store 58 60
|
|
61: 6(int) Load 8(iid)
|
|
62: 6(int) IMul 61 28
|
|
64: 6(int) Load 8(iid)
|
|
65: 6(int) UDiv 64 28
|
|
66: 57(ptr) AccessChain 34(blk) 65 52
|
|
67: 23(fvec3) Load 66
|
|
68: 39(ptr) AccessChain 34(blk) 62 63 44 42
|
|
69: 20(float) CompositeExtract 67 0
|
|
Store 68 69
|
|
70: 39(ptr) AccessChain 34(blk) 62 63 44 28
|
|
71: 20(float) CompositeExtract 67 1
|
|
Store 70 71
|
|
73: 39(ptr) AccessChain 34(blk) 62 63 44 72
|
|
74: 20(float) CompositeExtract 67 2
|
|
Store 73 74
|
|
75: 6(int) Load 8(iid)
|
|
76: 6(int) UDiv 75 21
|
|
81: 80(ptr) AccessChain 34(blk) 76 77 52
|
|
82: 24(fvec4) Load 81
|
|
83: 24(fvec4) VectorShuffle 82 79 7 6 5 4
|
|
Store 81 83
|
|
84: 6(int) Load 8(iid)
|
|
86: 6(int) Load 8(iid)
|
|
87: 6(int) UDiv 86 21
|
|
88: 39(ptr) AccessChain 34(blk) 87 77 52 72
|
|
89: 20(float) Load 88
|
|
90: 39(ptr) AccessChain 34(blk) 84 85 37 44 42
|
|
Store 90 89
|
|
91: 6(int) Load 8(iid)
|
|
92: 6(int) IMul 91 21
|
|
93: 6(int) Load 16(gid)
|
|
98: 57(ptr) AccessChain 34(blk) 92 85 44 93
|
|
Store 98 97
|
|
MemoryBarrier 42 99
|
|
ControlBarrier 28 28 99
|
|
105: 6(int) Load 8(iid)
|
|
106: 6(int) Load 8(iid)
|
|
107: 6(int) ISub 106 42
|
|
108: 39(ptr) AccessChain 104(blk2) 107 37
|
|
109: 20(float) Load 108
|
|
111: 20(float) FAdd 109 110
|
|
112: 39(ptr) AccessChain 104(blk2) 105 37
|
|
Store 112 111
|
|
113: 6(int) Load 8(iid)
|
|
119: 80(ptr) AccessChain 104(blk2) 113 44
|
|
Store 119 118
|
|
120: 6(int) Load 8(iid)
|
|
121: 6(int) IAdd 120 42
|
|
122: 6(int) Load 16(gid)
|
|
123: 6(int) Load 8(iid)
|
|
124: 80(ptr) AccessChain 104(blk2) 123 44
|
|
125: 24(fvec4) Load 124
|
|
126: 80(ptr) AccessChain 104(blk2) 121 52 122
|
|
Store 126 125
|
|
127: 6(int) Load 8(iid)
|
|
128: 6(int) IAdd 127 42
|
|
129: 6(int) Load 16(gid)
|
|
131: 39(ptr) AccessChain 104(blk2) 128 52 129 28
|
|
Store 131 130
|
|
132: 6(int) Load 8(iid)
|
|
133: 6(int) IAdd 132 28
|
|
134: 6(int) Load 8(iid)
|
|
135: 6(int) IAdd 134 42
|
|
136: 6(int) Load 16(gid)
|
|
137: 80(ptr) AccessChain 104(blk2) 135 52 136
|
|
138: 24(fvec4) Load 137
|
|
139: 80(ptr) AccessChain 104(blk2) 133 52 63
|
|
Store 139 138
|
|
MemoryBarrier 42 99
|
|
ControlBarrier 28 28 99
|
|
Return
|
|
FunctionEnd
|