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
92 lines
4.7 KiB
Plaintext
92 lines
4.7 KiB
Plaintext
spv.xfbOffsetOnStructMembersAssignment.vert
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 40
|
|
|
|
Capability Shader
|
|
Capability TransformFeedback
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Vertex 4 "main" 9 21 34 38 39
|
|
ExecutionMode 4 Xfb
|
|
Source GLSL 450
|
|
Name 4 "main"
|
|
Name 7 "S"
|
|
MemberName 7(S) 0 "x1_out"
|
|
MemberName 7(S) 1 "x2_out"
|
|
Name 9 "s1"
|
|
Name 19 "S2"
|
|
MemberName 19(S2) 0 "y1_out"
|
|
MemberName 19(S2) 1 "y2_out"
|
|
Name 21 "s2"
|
|
Name 32 "gl_PerVertex"
|
|
MemberName 32(gl_PerVertex) 0 "gl_Position"
|
|
MemberName 32(gl_PerVertex) 1 "gl_PointSize"
|
|
MemberName 32(gl_PerVertex) 2 "gl_ClipDistance"
|
|
MemberName 32(gl_PerVertex) 3 "gl_CullDistance"
|
|
Name 34 ""
|
|
Name 38 "gl_VertexID"
|
|
Name 39 "gl_InstanceID"
|
|
Decorate 9(s1) Location 0
|
|
Decorate 9(s1) Offset 16
|
|
Decorate 9(s1) XfbBuffer 2
|
|
Decorate 9(s1) XfbStride 24
|
|
Decorate 21(s2) Location 5
|
|
Decorate 21(s2) Offset 8
|
|
Decorate 21(s2) XfbBuffer 1
|
|
Decorate 21(s2) XfbStride 28
|
|
Decorate 32(gl_PerVertex) Block
|
|
MemberDecorate 32(gl_PerVertex) 0 BuiltIn Position
|
|
MemberDecorate 32(gl_PerVertex) 1 BuiltIn PointSize
|
|
MemberDecorate 32(gl_PerVertex) 2 BuiltIn ClipDistance
|
|
MemberDecorate 32(gl_PerVertex) 3 BuiltIn CullDistance
|
|
Decorate 34 XfbBuffer 0
|
|
Decorate 34 XfbStride 0
|
|
Decorate 38(gl_VertexID) BuiltIn VertexId
|
|
Decorate 39(gl_InstanceID) BuiltIn InstanceId
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7(S): TypeStruct 6(float) 6(float)
|
|
8: TypePointer Output 7(S)
|
|
9(s1): 8(ptr) Variable Output
|
|
10: TypeInt 32 1
|
|
11: 10(int) Constant 0
|
|
12: 6(float) Constant 1084227584
|
|
13: TypePointer Output 6(float)
|
|
15: 10(int) Constant 1
|
|
16: 6(float) Constant 1086324736
|
|
18: TypeVector 6(float) 4
|
|
19(S2): TypeStruct 6(float) 18(fvec4)
|
|
20: TypePointer Output 19(S2)
|
|
21(s2): 20(ptr) Variable Output
|
|
22: 6(float) Constant 1088421888
|
|
24: 6(float) Constant 1065353216
|
|
25: 6(float) Constant 0
|
|
26: 18(fvec4) ConstantComposite 24 25 25 24
|
|
27: TypePointer Output 18(fvec4)
|
|
29: TypeInt 32 0
|
|
30: 29(int) Constant 1
|
|
31: TypeArray 6(float) 30
|
|
32(gl_PerVertex): TypeStruct 18(fvec4) 6(float) 31 31
|
|
33: TypePointer Output 32(gl_PerVertex)
|
|
34: 33(ptr) Variable Output
|
|
35: 18(fvec4) ConstantComposite 25 25 25 25
|
|
37: TypePointer Input 10(int)
|
|
38(gl_VertexID): 37(ptr) Variable Input
|
|
39(gl_InstanceID): 37(ptr) Variable Input
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
14: 13(ptr) AccessChain 9(s1) 11
|
|
Store 14 12
|
|
17: 13(ptr) AccessChain 9(s1) 15
|
|
Store 17 16
|
|
23: 13(ptr) AccessChain 21(s2) 11
|
|
Store 23 22
|
|
28: 27(ptr) AccessChain 21(s2) 15
|
|
Store 28 26
|
|
36: 27(ptr) AccessChain 34 11
|
|
Store 36 35
|
|
Return
|
|
FunctionEnd
|