Add-support-for-SPV_NV_mesh_shader
This commit is contained in:
259
Test/baseResults/spv.meshShaderBuiltins.mesh.out
Normal file
259
Test/baseResults/spv.meshShaderBuiltins.mesh.out
Normal file
@@ -0,0 +1,259 @@
|
||||
spv.meshShaderBuiltins.mesh
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 147
|
||||
|
||||
Capability ClipDistance
|
||||
Capability CullDistance
|
||||
Capability MultiViewport
|
||||
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 89 129 140 144
|
||||
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 85 "gl_MeshPerPrimitiveNV"
|
||||
MemberName 85(gl_MeshPerPrimitiveNV) 0 "gl_PrimitiveID"
|
||||
MemberName 85(gl_MeshPerPrimitiveNV) 1 "gl_Layer"
|
||||
MemberName 85(gl_MeshPerPrimitiveNV) 2 "gl_ViewportIndex"
|
||||
MemberName 85(gl_MeshPerPrimitiveNV) 3 "gl_ViewportMask"
|
||||
MemberName 85(gl_MeshPerPrimitiveNV) 4 "gl_LayerPerViewNV"
|
||||
MemberName 85(gl_MeshPerPrimitiveNV) 5 "gl_ViewportMaskPerViewNV"
|
||||
Name 89 "gl_MeshPrimitivesNV"
|
||||
Name 129 "gl_PrimitiveIndicesNV"
|
||||
Name 140 "gl_DrawID"
|
||||
Name 144 "gl_PrimitiveCountNV"
|
||||
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
||||
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
|
||||
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 PerViewNV
|
||||
MemberDecorate 30(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV
|
||||
MemberDecorate 30(gl_MeshPerVertexNV) 5 PerViewNV
|
||||
MemberDecorate 30(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV
|
||||
MemberDecorate 30(gl_MeshPerVertexNV) 6 PerViewNV
|
||||
MemberDecorate 30(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV
|
||||
Decorate 30(gl_MeshPerVertexNV) Block
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 4 PerViewNV
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 5 PerViewNV
|
||||
MemberDecorate 85(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV
|
||||
Decorate 85(gl_MeshPerPrimitiveNV) Block
|
||||
Decorate 129(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV
|
||||
Decorate 140(gl_DrawID) BuiltIn DrawIndex
|
||||
Decorate 144(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV
|
||||
Decorate 146 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 8
|
||||
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 1
|
||||
56: 6(int) Constant 264
|
||||
57: 6(int) Constant 2
|
||||
82: TypeArray 36(int) 55
|
||||
83: TypeArray 36(int) 22
|
||||
84: TypeArray 82 22
|
||||
85(gl_MeshPerPrimitiveNV): TypeStruct 36(int) 36(int) 36(int) 82 83 84
|
||||
86: 6(int) Constant 32
|
||||
87: TypeArray 85(gl_MeshPerPrimitiveNV) 86
|
||||
88: TypePointer Output 87
|
||||
89(gl_MeshPrimitivesNV): 88(ptr) Variable Output
|
||||
91: 36(int) Constant 6
|
||||
92: TypePointer Output 36(int)
|
||||
95: 36(int) Constant 7
|
||||
98: 36(int) Constant 8
|
||||
101: 36(int) Constant 9
|
||||
127: TypeArray 6(int) 31
|
||||
128: TypePointer Output 127
|
||||
129(gl_PrimitiveIndicesNV): 128(ptr) Variable Output
|
||||
130: 6(int) Constant 257
|
||||
131: TypePointer Output 6(int)
|
||||
139: TypePointer Input 36(int)
|
||||
140(gl_DrawID): 139(ptr) Variable Input
|
||||
143: 6(int) Constant 16909060
|
||||
144(gl_PrimitiveCountNV): 131(ptr) Variable Output
|
||||
145: 6(int) Constant 96
|
||||
146: 9(ivec3) ConstantComposite 86 55 55
|
||||
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 55 56
|
||||
ControlBarrier 57 57 56
|
||||
58: 6(int) Load 8(iid)
|
||||
59: 6(int) IAdd 58 55
|
||||
60: 6(int) Load 8(iid)
|
||||
61: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 60 37
|
||||
62: 21(fvec4) Load 61
|
||||
63: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 59 37
|
||||
Store 63 62
|
||||
64: 6(int) Load 8(iid)
|
||||
65: 6(int) IAdd 64 55
|
||||
66: 6(int) Load 8(iid)
|
||||
67: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 66 43
|
||||
68: 20(float) Load 67
|
||||
69: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 65 43
|
||||
Store 69 68
|
||||
70: 6(int) Load 8(iid)
|
||||
71: 6(int) IAdd 70 55
|
||||
72: 6(int) Load 8(iid)
|
||||
73: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 72 48 49
|
||||
74: 20(float) Load 73
|
||||
75: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 71 48 49
|
||||
Store 75 74
|
||||
76: 6(int) Load 8(iid)
|
||||
77: 6(int) IAdd 76 55
|
||||
78: 6(int) Load 8(iid)
|
||||
79: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 78 49 48
|
||||
80: 20(float) Load 79
|
||||
81: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 77 49 48
|
||||
Store 81 80
|
||||
MemoryBarrier 55 56
|
||||
ControlBarrier 57 57 56
|
||||
90: 6(int) Load 8(iid)
|
||||
93: 92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 90 37
|
||||
Store 93 91
|
||||
94: 6(int) Load 8(iid)
|
||||
96: 92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 94 43
|
||||
Store 96 95
|
||||
97: 6(int) Load 8(iid)
|
||||
99: 92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 97 48
|
||||
Store 99 98
|
||||
100: 6(int) Load 8(iid)
|
||||
102: 92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 100 49 37
|
||||
Store 102 101
|
||||
MemoryBarrier 55 56
|
||||
ControlBarrier 57 57 56
|
||||
103: 6(int) Load 8(iid)
|
||||
104: 6(int) IAdd 103 55
|
||||
105: 6(int) Load 8(iid)
|
||||
106: 92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 105 37
|
||||
107: 36(int) Load 106
|
||||
108: 92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 104 37
|
||||
Store 108 107
|
||||
109: 6(int) Load 8(iid)
|
||||
110: 6(int) IAdd 109 55
|
||||
111: 6(int) Load 8(iid)
|
||||
112: 92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 111 43
|
||||
113: 36(int) Load 112
|
||||
114: 92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 110 43
|
||||
Store 114 113
|
||||
115: 6(int) Load 8(iid)
|
||||
116: 6(int) IAdd 115 55
|
||||
117: 6(int) Load 8(iid)
|
||||
118: 92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 117 48
|
||||
119: 36(int) Load 118
|
||||
120: 92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 116 48
|
||||
Store 120 119
|
||||
121: 6(int) Load 8(iid)
|
||||
122: 6(int) IAdd 121 55
|
||||
123: 6(int) Load 8(iid)
|
||||
124: 92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 123 49 37
|
||||
125: 36(int) Load 124
|
||||
126: 92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 122 49 37
|
||||
Store 126 125
|
||||
MemoryBarrier 55 56
|
||||
ControlBarrier 57 57 56
|
||||
132: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 37
|
||||
Store 132 130
|
||||
133: 6(int) Load 16(gid)
|
||||
134: 6(int) Load 16(gid)
|
||||
135: 6(int) ISub 134 55
|
||||
136: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 135
|
||||
137: 6(int) Load 136
|
||||
138: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 133
|
||||
Store 138 137
|
||||
141: 36(int) Load 140(gl_DrawID)
|
||||
142: 6(int) Bitcast 141
|
||||
143: 142 WritePackedPrimitiveIndices4x8NV
|
||||
Store 144(gl_PrimitiveCountNV) 145
|
||||
MemoryBarrier 55 56
|
||||
ControlBarrier 57 57 56
|
||||
Return
|
||||
FunctionEnd
|
||||
212
Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out
Normal file
212
Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out
Normal file
@@ -0,0 +1,212 @@
|
||||
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
|
||||
156
Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out
Normal file
156
Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out
Normal file
@@ -0,0 +1,156 @@
|
||||
spv.meshShaderPerViewUserDefined.mesh
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 90
|
||||
|
||||
Capability MeshShadingNV
|
||||
Extension "SPV_NV_mesh_shader"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint MeshNV 4 "main" 11 20 21 35 67
|
||||
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 31 "block"
|
||||
MemberName 31(block) 0 "color1"
|
||||
MemberName 31(block) 1 "color2"
|
||||
MemberName 31(block) 2 "color3"
|
||||
MemberName 31(block) 3 "color4"
|
||||
Name 35 "b"
|
||||
Name 64 "perviewBlock"
|
||||
MemberName 64(perviewBlock) 0 "color5"
|
||||
MemberName 64(perviewBlock) 1 "color6"
|
||||
MemberName 64(perviewBlock) 2 "color7"
|
||||
MemberName 64(perviewBlock) 3 "color8"
|
||||
Name 67 "b2"
|
||||
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
||||
Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
|
||||
Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
|
||||
MemberDecorate 31(block) 0 PerPrimitiveNV
|
||||
MemberDecorate 31(block) 0 PerViewNV
|
||||
MemberDecorate 31(block) 1 PerPrimitiveNV
|
||||
MemberDecorate 31(block) 2 PerViewNV
|
||||
Decorate 31(block) Block
|
||||
Decorate 35(b) Location 0
|
||||
MemberDecorate 64(perviewBlock) 0 PerPrimitiveNV
|
||||
MemberDecorate 64(perviewBlock) 0 PerViewNV
|
||||
MemberDecorate 64(perviewBlock) 1 PerPrimitiveNV
|
||||
MemberDecorate 64(perviewBlock) 1 PerViewNV
|
||||
MemberDecorate 64(perviewBlock) 2 PerViewNV
|
||||
MemberDecorate 64(perviewBlock) 3 PerViewNV
|
||||
Decorate 64(perviewBlock) Block
|
||||
Decorate 67(b2) Location 10
|
||||
Decorate 89 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 3
|
||||
29: TypeArray 27(fvec4) 28
|
||||
30: TypeArray 29 17
|
||||
31(block): TypeStruct 30 29 30 27(fvec4)
|
||||
32: 6(int) Constant 81
|
||||
33: TypeArray 31(block) 32
|
||||
34: TypePointer Output 33
|
||||
35(b): 34(ptr) Variable Output
|
||||
37: TypeInt 32 1
|
||||
38: 37(int) Constant 0
|
||||
40: 37(int) Constant 2
|
||||
41: 26(float) Constant 1065353216
|
||||
42: 27(fvec4) ConstantComposite 41 41 41 41
|
||||
43: TypePointer Output 27(fvec4)
|
||||
46: 37(int) Constant 1
|
||||
47: 26(float) Constant 1073741824
|
||||
48: 27(fvec4) ConstantComposite 47 47 47 47
|
||||
52: 26(float) Constant 1077936128
|
||||
53: 27(fvec4) ConstantComposite 52 52 52 52
|
||||
56: 37(int) Constant 3
|
||||
57: 26(float) Constant 1082130432
|
||||
58: 27(fvec4) ConstantComposite 57 57 57 57
|
||||
60: 6(int) Constant 1
|
||||
61: 6(int) Constant 264
|
||||
62: 6(int) Constant 2
|
||||
63: TypeArray 27(fvec4) 17
|
||||
64(perviewBlock): TypeStruct 63 30 30 63
|
||||
65: TypeArray 64(perviewBlock) 32
|
||||
66: TypePointer Output 65
|
||||
67(b2): 66(ptr) Variable Output
|
||||
70: 26(float) Constant 1084227584
|
||||
71: 27(fvec4) ConstantComposite 70 70 70 70
|
||||
75: 26(float) Constant 1086324736
|
||||
76: 27(fvec4) ConstantComposite 75 75 75 75
|
||||
80: 26(float) Constant 1088421888
|
||||
81: 27(fvec4) ConstantComposite 80 80 80 80
|
||||
85: 26(float) Constant 1090519040
|
||||
86: 27(fvec4) ConstantComposite 85 85 85 85
|
||||
88: 6(int) Constant 32
|
||||
89: 9(ivec3) ConstantComposite 88 60 60
|
||||
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
|
||||
36: 6(int) Load 8(iid)
|
||||
39: 6(int) Load 16(viewID)
|
||||
44: 43(ptr) AccessChain 35(b) 36 38 39 40
|
||||
Store 44 42
|
||||
45: 6(int) Load 8(iid)
|
||||
49: 43(ptr) AccessChain 35(b) 45 46 46
|
||||
Store 49 48
|
||||
50: 6(int) Load 8(iid)
|
||||
51: 6(int) Load 16(viewID)
|
||||
54: 43(ptr) AccessChain 35(b) 50 40 51 40
|
||||
Store 54 53
|
||||
55: 6(int) Load 8(iid)
|
||||
59: 43(ptr) AccessChain 35(b) 55 56
|
||||
Store 59 58
|
||||
MemoryBarrier 60 61
|
||||
ControlBarrier 62 62 61
|
||||
68: 6(int) Load 8(iid)
|
||||
69: 6(int) Load 16(viewID)
|
||||
72: 43(ptr) AccessChain 67(b2) 68 38 69
|
||||
Store 72 71
|
||||
73: 6(int) Load 8(iid)
|
||||
74: 6(int) Load 16(viewID)
|
||||
77: 43(ptr) AccessChain 67(b2) 73 46 74 46
|
||||
Store 77 76
|
||||
78: 6(int) Load 8(iid)
|
||||
79: 6(int) Load 16(viewID)
|
||||
82: 43(ptr) AccessChain 67(b2) 78 40 79 40
|
||||
Store 82 81
|
||||
83: 6(int) Load 8(iid)
|
||||
84: 6(int) Load 16(viewID)
|
||||
87: 43(ptr) AccessChain 67(b2) 83 56 84
|
||||
Store 87 86
|
||||
MemoryBarrier 60 61
|
||||
ControlBarrier 62 62 61
|
||||
Return
|
||||
FunctionEnd
|
||||
128
Test/baseResults/spv.meshShaderSharedMem.mesh.out
Normal file
128
Test/baseResults/spv.meshShaderSharedMem.mesh.out
Normal file
@@ -0,0 +1,128 @@
|
||||
spv.meshShaderSharedMem.mesh
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 77
|
||||
|
||||
Capability StorageImageWriteWithoutFormat
|
||||
Capability MeshShadingNV
|
||||
Extension "SPV_NV_mesh_shader"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint MeshNV 4 "main" 11 17
|
||||
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 "gid"
|
||||
Name 17 "gl_WorkGroupID"
|
||||
Name 20 "i"
|
||||
Name 34 "mem"
|
||||
Name 37 "block0"
|
||||
MemberName 37(block0) 0 "uni_value"
|
||||
Name 39 ""
|
||||
Name 55 "uni_image"
|
||||
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
||||
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
|
||||
MemberDecorate 37(block0) 0 Offset 0
|
||||
Decorate 37(block0) Block
|
||||
Decorate 39 DescriptorSet 0
|
||||
Decorate 55(uni_image) DescriptorSet 0
|
||||
Decorate 55(uni_image) NonReadable
|
||||
Decorate 76 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
|
||||
27: 6(int) Constant 10
|
||||
28: TypeBool
|
||||
30: TypeFloat 32
|
||||
31: TypeVector 30(float) 4
|
||||
32: TypeArray 31(fvec4) 27
|
||||
33: TypePointer Workgroup 32
|
||||
34(mem): 33(ptr) Variable Workgroup
|
||||
37(block0): TypeStruct 6(int)
|
||||
38: TypePointer Uniform 37(block0)
|
||||
39: 38(ptr) Variable Uniform
|
||||
40: TypeInt 32 1
|
||||
41: 40(int) Constant 0
|
||||
42: TypePointer Uniform 6(int)
|
||||
48: TypePointer Workgroup 31(fvec4)
|
||||
51: 40(int) Constant 1
|
||||
53: TypeImage 30(float) 2D nonsampled format:Unknown
|
||||
54: TypePointer UniformConstant 53
|
||||
55(uni_image): 54(ptr) Variable UniformConstant
|
||||
59: TypeVector 40(int) 2
|
||||
69: 6(int) Constant 1
|
||||
73: 6(int) Constant 264
|
||||
74: 6(int) Constant 2
|
||||
75: 6(int) Constant 32
|
||||
76: 9(ivec3) ConstantComposite 75 69 69
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(iid): 7(ptr) Variable Function
|
||||
16(gid): 7(ptr) Variable Function
|
||||
20(i): 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
|
||||
Store 20(i) 12
|
||||
Branch 21
|
||||
21: Label
|
||||
LoopMerge 23 24 None
|
||||
Branch 25
|
||||
25: Label
|
||||
26: 6(int) Load 20(i)
|
||||
29: 28(bool) ULessThan 26 27
|
||||
BranchConditional 29 22 23
|
||||
22: Label
|
||||
35: 6(int) Load 20(i)
|
||||
36: 6(int) Load 20(i)
|
||||
43: 42(ptr) AccessChain 39 41
|
||||
44: 6(int) Load 43
|
||||
45: 6(int) IAdd 36 44
|
||||
46: 30(float) ConvertUToF 45
|
||||
47: 31(fvec4) CompositeConstruct 46 46 46 46
|
||||
49: 48(ptr) AccessChain 34(mem) 35
|
||||
Store 49 47
|
||||
Branch 24
|
||||
24: Label
|
||||
50: 6(int) Load 20(i)
|
||||
52: 6(int) IAdd 50 51
|
||||
Store 20(i) 52
|
||||
Branch 21
|
||||
23: Label
|
||||
56: 53 Load 55(uni_image)
|
||||
57: 6(int) Load 8(iid)
|
||||
58: 40(int) Bitcast 57
|
||||
60: 59(ivec2) CompositeConstruct 58 58
|
||||
61: 6(int) Load 16(gid)
|
||||
62: 48(ptr) AccessChain 34(mem) 61
|
||||
63: 31(fvec4) Load 62
|
||||
ImageWrite 56 60 63
|
||||
64: 53 Load 55(uni_image)
|
||||
65: 6(int) Load 8(iid)
|
||||
66: 40(int) Bitcast 65
|
||||
67: 59(ivec2) CompositeConstruct 66 66
|
||||
68: 6(int) Load 16(gid)
|
||||
70: 6(int) IAdd 68 69
|
||||
71: 48(ptr) AccessChain 34(mem) 70
|
||||
72: 31(fvec4) Load 71
|
||||
ImageWrite 64 67 72
|
||||
MemoryBarrier 69 73
|
||||
ControlBarrier 74 74 73
|
||||
Return
|
||||
FunctionEnd
|
||||
107
Test/baseResults/spv.meshShaderTaskMem.mesh.out
Normal file
107
Test/baseResults/spv.meshShaderTaskMem.mesh.out
Normal file
@@ -0,0 +1,107 @@
|
||||
spv.meshShaderTaskMem.mesh
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 58
|
||||
|
||||
Capability MeshShadingNV
|
||||
Extension "SPV_NV_mesh_shader"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint MeshNV 4 "main" 11 22 30
|
||||
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 18 "outBlock"
|
||||
MemberName 18(outBlock) 0 "gid5"
|
||||
MemberName 18(outBlock) 1 "gid6"
|
||||
Name 22 "myblk"
|
||||
Name 28 "taskBlock"
|
||||
MemberName 28(taskBlock) 0 "gid1"
|
||||
MemberName 28(taskBlock) 1 "gid2"
|
||||
Name 30 "mytask"
|
||||
Name 36 "bufferBlock"
|
||||
MemberName 36(bufferBlock) 0 "gid3"
|
||||
MemberName 36(bufferBlock) 1 "gid4"
|
||||
Name 38 "mybuf"
|
||||
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
||||
Decorate 18(outBlock) Block
|
||||
Decorate 22(myblk) Location 0
|
||||
Decorate 27 ArrayStride 4
|
||||
MemberDecorate 28(taskBlock) 0 PerTaskNV
|
||||
MemberDecorate 28(taskBlock) 0 Offset 0
|
||||
MemberDecorate 28(taskBlock) 1 PerTaskNV
|
||||
MemberDecorate 28(taskBlock) 1 Offset 16
|
||||
Decorate 28(taskBlock) Block
|
||||
Decorate 35 ArrayStride 4
|
||||
MemberDecorate 36(bufferBlock) 0 Offset 0
|
||||
MemberDecorate 36(bufferBlock) 1 Offset 16
|
||||
Decorate 36(bufferBlock) BufferBlock
|
||||
Decorate 38(mybuf) DescriptorSet 0
|
||||
Decorate 57 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)
|
||||
16: TypeFloat 32
|
||||
17: TypeVector 16(float) 4
|
||||
18(outBlock): TypeStruct 16(float) 17(fvec4)
|
||||
19: 6(int) Constant 81
|
||||
20: TypeArray 18(outBlock) 19
|
||||
21: TypePointer Output 20
|
||||
22(myblk): 21(ptr) Variable Output
|
||||
24: TypeInt 32 1
|
||||
25: 24(int) Constant 0
|
||||
26: 6(int) Constant 2
|
||||
27: TypeArray 16(float) 26
|
||||
28(taskBlock): TypeStruct 27 17(fvec4)
|
||||
29: TypePointer Input 28(taskBlock)
|
||||
30(mytask): 29(ptr) Variable Input
|
||||
31: 24(int) Constant 1
|
||||
32: TypePointer Input 16(float)
|
||||
35: TypeArray 16(float) 26
|
||||
36(bufferBlock): TypeStruct 35 17(fvec4)
|
||||
37: TypePointer Uniform 36(bufferBlock)
|
||||
38(mybuf): 37(ptr) Variable Uniform
|
||||
39: TypePointer Uniform 16(float)
|
||||
43: TypePointer Output 16(float)
|
||||
46: TypePointer Input 17(fvec4)
|
||||
49: TypePointer Uniform 17(fvec4)
|
||||
53: TypePointer Output 17(fvec4)
|
||||
55: 6(int) Constant 32
|
||||
56: 6(int) Constant 1
|
||||
57: 9(ivec3) ConstantComposite 55 56 56
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(iid): 7(ptr) Variable Function
|
||||
14: 13(ptr) AccessChain 11(gl_LocalInvocationID) 12
|
||||
15: 6(int) Load 14
|
||||
Store 8(iid) 15
|
||||
23: 6(int) Load 8(iid)
|
||||
33: 32(ptr) AccessChain 30(mytask) 25 31
|
||||
34: 16(float) Load 33
|
||||
40: 39(ptr) AccessChain 38(mybuf) 25 31
|
||||
41: 16(float) Load 40
|
||||
42: 16(float) FAdd 34 41
|
||||
44: 43(ptr) AccessChain 22(myblk) 23 25
|
||||
Store 44 42
|
||||
45: 6(int) Load 8(iid)
|
||||
47: 46(ptr) AccessChain 30(mytask) 31
|
||||
48: 17(fvec4) Load 47
|
||||
50: 49(ptr) AccessChain 38(mybuf) 31
|
||||
51: 17(fvec4) Load 50
|
||||
52: 17(fvec4) FAdd 48 51
|
||||
54: 53(ptr) AccessChain 22(myblk) 45 31
|
||||
Store 54 52
|
||||
Return
|
||||
FunctionEnd
|
||||
203
Test/baseResults/spv.meshShaderUserDefined.mesh.out
Normal file
203
Test/baseResults/spv.meshShaderUserDefined.mesh.out
Normal file
@@ -0,0 +1,203 @@
|
||||
spv.meshShaderUserDefined.mesh
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 138
|
||||
|
||||
Capability MeshShadingNV
|
||||
Extension "SPV_NV_mesh_shader"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint MeshNV 4 "main" 11 17 34 101
|
||||
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 "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 97 "myblock2"
|
||||
MemberName 97(myblock2) 0 "f"
|
||||
MemberName 97(myblock2) 1 "pos"
|
||||
MemberName 97(myblock2) 2 "m"
|
||||
Name 101 "blk2"
|
||||
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
||||
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
|
||||
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 30(myblock) Block
|
||||
Decorate 34(blk) Location 0
|
||||
Decorate 97(myblock2) Block
|
||||
Decorate 101(blk2) Location 20
|
||||
Decorate 137 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
|
||||
68: TypePointer Output 24(fvec4)
|
||||
74: 36(int) Constant 4
|
||||
75: 20(float) Constant 1098907648
|
||||
76: 24(fvec4) ConstantComposite 55 53 54 75
|
||||
81: 36(int) Constant 5
|
||||
84: 6(int) Constant 3
|
||||
91: 20(float) Constant 1099431936
|
||||
92: 20(float) Constant 1099956224
|
||||
93: 20(float) Constant 1100480512
|
||||
94: 23(fvec3) ConstantComposite 91 92 93
|
||||
96: 6(int) Constant 264
|
||||
97(myblock2): TypeStruct 20(float) 24(fvec4) 26
|
||||
98: 6(int) Constant 81
|
||||
99: TypeArray 97(myblock2) 98
|
||||
100: TypePointer Output 99
|
||||
101(blk2): 100(ptr) Variable Output
|
||||
107: 20(float) Constant 1101004800
|
||||
111: 20(float) Constant 1101529088
|
||||
112: 20(float) Constant 1102053376
|
||||
113: 20(float) Constant 1102577664
|
||||
114: 20(float) Constant 1103101952
|
||||
115: 24(fvec4) ConstantComposite 111 112 113 114
|
||||
127: 20(float) Constant 1105723392
|
||||
137: 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
|
||||
69: 68(ptr) AccessChain 34(blk) 62 63 44
|
||||
70: 24(fvec4) Load 69
|
||||
71: 24(fvec4) VectorShuffle 70 67 0 4 5 6
|
||||
Store 69 71
|
||||
72: 6(int) Load 8(iid)
|
||||
73: 6(int) UDiv 72 21
|
||||
77: 68(ptr) AccessChain 34(blk) 73 74 52
|
||||
78: 24(fvec4) Load 77
|
||||
79: 24(fvec4) VectorShuffle 78 76 7 6 5 4
|
||||
Store 77 79
|
||||
80: 6(int) Load 8(iid)
|
||||
82: 6(int) Load 8(iid)
|
||||
83: 6(int) UDiv 82 21
|
||||
85: 39(ptr) AccessChain 34(blk) 83 74 52 84
|
||||
86: 20(float) Load 85
|
||||
87: 39(ptr) AccessChain 34(blk) 80 81 37 44 42
|
||||
Store 87 86
|
||||
88: 6(int) Load 8(iid)
|
||||
89: 6(int) IMul 88 21
|
||||
90: 6(int) Load 16(gid)
|
||||
95: 57(ptr) AccessChain 34(blk) 89 81 44 90
|
||||
Store 95 94
|
||||
MemoryBarrier 42 96
|
||||
ControlBarrier 28 28 96
|
||||
102: 6(int) Load 8(iid)
|
||||
103: 6(int) Load 8(iid)
|
||||
104: 6(int) ISub 103 42
|
||||
105: 39(ptr) AccessChain 101(blk2) 104 37
|
||||
106: 20(float) Load 105
|
||||
108: 20(float) FAdd 106 107
|
||||
109: 39(ptr) AccessChain 101(blk2) 102 37
|
||||
Store 109 108
|
||||
110: 6(int) Load 8(iid)
|
||||
116: 68(ptr) AccessChain 101(blk2) 110 44
|
||||
Store 116 115
|
||||
117: 6(int) Load 8(iid)
|
||||
118: 6(int) IAdd 117 42
|
||||
119: 6(int) Load 16(gid)
|
||||
120: 6(int) Load 8(iid)
|
||||
121: 68(ptr) AccessChain 101(blk2) 120 44
|
||||
122: 24(fvec4) Load 121
|
||||
123: 68(ptr) AccessChain 101(blk2) 118 52 119
|
||||
Store 123 122
|
||||
124: 6(int) Load 8(iid)
|
||||
125: 6(int) IAdd 124 42
|
||||
126: 6(int) Load 16(gid)
|
||||
128: 39(ptr) AccessChain 101(blk2) 125 52 126 28
|
||||
Store 128 127
|
||||
129: 6(int) Load 8(iid)
|
||||
130: 6(int) IAdd 129 28
|
||||
131: 6(int) Load 8(iid)
|
||||
132: 6(int) IAdd 131 42
|
||||
133: 6(int) Load 16(gid)
|
||||
134: 68(ptr) AccessChain 101(blk2) 132 52 133
|
||||
135: 24(fvec4) Load 134
|
||||
136: 68(ptr) AccessChain 101(blk2) 130 52 63
|
||||
Store 136 135
|
||||
MemoryBarrier 42 96
|
||||
ControlBarrier 28 28 96
|
||||
Return
|
||||
FunctionEnd
|
||||
172
Test/baseResults/spv.meshTaskShader.task.out
Normal file
172
Test/baseResults/spv.meshTaskShader.task.out
Normal file
@@ -0,0 +1,172 @@
|
||||
spv.meshTaskShader.task
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 104
|
||||
|
||||
Capability StorageImageWriteWithoutFormat
|
||||
Capability MeshShadingNV
|
||||
Extension "SPV_NV_mesh_shader"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint TaskNV 4 "main" 11 17 80 101
|
||||
ExecutionMode 4 LocalSize 32 1 1
|
||||
Source GLSL 450
|
||||
SourceExtension "GL_NV_mesh_shader"
|
||||
Name 4 "main"
|
||||
Name 8 "iid"
|
||||
Name 11 "gl_LocalInvocationID"
|
||||
Name 16 "gid"
|
||||
Name 17 "gl_WorkGroupID"
|
||||
Name 20 "i"
|
||||
Name 34 "mem"
|
||||
Name 37 "block0"
|
||||
MemberName 37(block0) 0 "uni_value"
|
||||
Name 39 ""
|
||||
Name 55 "uni_image"
|
||||
Name 78 "Task"
|
||||
MemberName 78(Task) 0 "dummy"
|
||||
MemberName 78(Task) 1 "submesh"
|
||||
Name 80 "mytask"
|
||||
Name 101 "gl_TaskCountNV"
|
||||
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
||||
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
|
||||
MemberDecorate 37(block0) 0 Offset 0
|
||||
Decorate 37(block0) Block
|
||||
Decorate 39 DescriptorSet 0
|
||||
Decorate 55(uni_image) DescriptorSet 0
|
||||
Decorate 55(uni_image) Binding 0
|
||||
Decorate 55(uni_image) NonReadable
|
||||
Decorate 77 ArrayStride 8
|
||||
MemberDecorate 78(Task) 0 PerTaskNV
|
||||
MemberDecorate 78(Task) 0 Offset 0
|
||||
MemberDecorate 78(Task) 1 PerTaskNV
|
||||
MemberDecorate 78(Task) 1 Offset 8
|
||||
Decorate 78(Task) Block
|
||||
Decorate 101(gl_TaskCountNV) BuiltIn TaskCountNV
|
||||
Decorate 103 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
|
||||
27: 6(int) Constant 10
|
||||
28: TypeBool
|
||||
30: TypeFloat 32
|
||||
31: TypeVector 30(float) 4
|
||||
32: TypeArray 31(fvec4) 27
|
||||
33: TypePointer Workgroup 32
|
||||
34(mem): 33(ptr) Variable Workgroup
|
||||
37(block0): TypeStruct 6(int)
|
||||
38: TypePointer Uniform 37(block0)
|
||||
39: 38(ptr) Variable Uniform
|
||||
40: TypeInt 32 1
|
||||
41: 40(int) Constant 0
|
||||
42: TypePointer Uniform 6(int)
|
||||
48: TypePointer Workgroup 31(fvec4)
|
||||
51: 40(int) Constant 1
|
||||
53: TypeImage 30(float) 2D nonsampled format:Unknown
|
||||
54: TypePointer UniformConstant 53
|
||||
55(uni_image): 54(ptr) Variable UniformConstant
|
||||
59: TypeVector 40(int) 2
|
||||
69: 6(int) Constant 1
|
||||
73: 6(int) Constant 264
|
||||
74: 6(int) Constant 2
|
||||
75: TypeVector 30(float) 2
|
||||
76: 6(int) Constant 3
|
||||
77: TypeArray 75(fvec2) 76
|
||||
78(Task): TypeStruct 75(fvec2) 77
|
||||
79: TypePointer Output 78(Task)
|
||||
80(mytask): 79(ptr) Variable Output
|
||||
81: 30(float) Constant 1106247680
|
||||
82: 30(float) Constant 1106771968
|
||||
83: 75(fvec2) ConstantComposite 81 82
|
||||
84: TypePointer Output 75(fvec2)
|
||||
86: 30(float) Constant 1107296256
|
||||
87: 30(float) Constant 1107558400
|
||||
88: 75(fvec2) ConstantComposite 86 87
|
||||
90: 30(float) Constant 1107820544
|
||||
91: 30(float) Constant 1108082688
|
||||
92: 75(fvec2) ConstantComposite 90 91
|
||||
94: 40(int) Constant 2
|
||||
100: TypePointer Output 6(int)
|
||||
101(gl_TaskCountNV): 100(ptr) Variable Output
|
||||
102: 6(int) Constant 32
|
||||
103: 9(ivec3) ConstantComposite 102 69 69
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(iid): 7(ptr) Variable Function
|
||||
16(gid): 7(ptr) Variable Function
|
||||
20(i): 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
|
||||
Store 20(i) 12
|
||||
Branch 21
|
||||
21: Label
|
||||
LoopMerge 23 24 None
|
||||
Branch 25
|
||||
25: Label
|
||||
26: 6(int) Load 20(i)
|
||||
29: 28(bool) ULessThan 26 27
|
||||
BranchConditional 29 22 23
|
||||
22: Label
|
||||
35: 6(int) Load 20(i)
|
||||
36: 6(int) Load 20(i)
|
||||
43: 42(ptr) AccessChain 39 41
|
||||
44: 6(int) Load 43
|
||||
45: 6(int) IAdd 36 44
|
||||
46: 30(float) ConvertUToF 45
|
||||
47: 31(fvec4) CompositeConstruct 46 46 46 46
|
||||
49: 48(ptr) AccessChain 34(mem) 35
|
||||
Store 49 47
|
||||
Branch 24
|
||||
24: Label
|
||||
50: 6(int) Load 20(i)
|
||||
52: 6(int) IAdd 50 51
|
||||
Store 20(i) 52
|
||||
Branch 21
|
||||
23: Label
|
||||
56: 53 Load 55(uni_image)
|
||||
57: 6(int) Load 8(iid)
|
||||
58: 40(int) Bitcast 57
|
||||
60: 59(ivec2) CompositeConstruct 58 58
|
||||
61: 6(int) Load 16(gid)
|
||||
62: 48(ptr) AccessChain 34(mem) 61
|
||||
63: 31(fvec4) Load 62
|
||||
ImageWrite 56 60 63
|
||||
64: 53 Load 55(uni_image)
|
||||
65: 6(int) Load 8(iid)
|
||||
66: 40(int) Bitcast 65
|
||||
67: 59(ivec2) CompositeConstruct 66 66
|
||||
68: 6(int) Load 16(gid)
|
||||
70: 6(int) IAdd 68 69
|
||||
71: 48(ptr) AccessChain 34(mem) 70
|
||||
72: 31(fvec4) Load 71
|
||||
ImageWrite 64 67 72
|
||||
MemoryBarrier 69 73
|
||||
ControlBarrier 74 74 73
|
||||
85: 84(ptr) AccessChain 80(mytask) 41
|
||||
Store 85 83
|
||||
89: 84(ptr) AccessChain 80(mytask) 51 41
|
||||
Store 89 88
|
||||
93: 84(ptr) AccessChain 80(mytask) 51 51
|
||||
Store 93 92
|
||||
95: 6(int) Load 16(gid)
|
||||
96: 6(int) UMod 95 74
|
||||
97: 84(ptr) AccessChain 80(mytask) 51 96
|
||||
98: 75(fvec2) Load 97
|
||||
99: 84(ptr) AccessChain 80(mytask) 51 94
|
||||
Store 99 98
|
||||
MemoryBarrier 69 73
|
||||
ControlBarrier 74 74 73
|
||||
Store 101(gl_TaskCountNV) 76
|
||||
Return
|
||||
FunctionEnd
|
||||
@@ -81,6 +81,15 @@ MaxTransformFeedbackInterleavedComponents 64
|
||||
MaxCullDistances 8
|
||||
MaxCombinedClipAndCullDistances 8
|
||||
MaxSamples 4
|
||||
MaxMeshOutputVerticesNV 256
|
||||
MaxMeshOutputPrimitivesNV 512
|
||||
MaxMeshWorkGroupSizeX_NV 32
|
||||
MaxMeshWorkGroupSizeY_NV 1
|
||||
MaxMeshWorkGroupSizeZ_NV 1
|
||||
MaxTaskWorkGroupSizeX_NV 32
|
||||
MaxTaskWorkGroupSizeY_NV 1
|
||||
MaxTaskWorkGroupSizeZ_NV 1
|
||||
MaxMeshViewCountNV 4
|
||||
nonInductiveForLoops 1
|
||||
whileLoops 1
|
||||
doWhileLoops 1
|
||||
|
||||
Reference in New Issue
Block a user