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
70 lines
3.5 KiB
Plaintext
70 lines
3.5 KiB
Plaintext
spv.storageBuffer.vert
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 31
|
|
|
|
Capability Shader
|
|
Extension "SPV_KHR_storage_buffer_storage_class"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Vertex 4 "main" 13
|
|
Source GLSL 450
|
|
Name 4 "main"
|
|
Name 11 "gl_PerVertex"
|
|
MemberName 11(gl_PerVertex) 0 "gl_Position"
|
|
MemberName 11(gl_PerVertex) 1 "gl_PointSize"
|
|
MemberName 11(gl_PerVertex) 2 "gl_ClipDistance"
|
|
MemberName 11(gl_PerVertex) 3 "gl_CullDistance"
|
|
Name 13 ""
|
|
Name 16 "ub"
|
|
MemberName 16(ub) 0 "a"
|
|
Name 18 "ubi"
|
|
Name 22 "bb"
|
|
MemberName 22(bb) 0 "b"
|
|
Name 24 "bbi"
|
|
Decorate 11(gl_PerVertex) Block
|
|
MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
|
|
MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize
|
|
MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance
|
|
MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance
|
|
Decorate 16(ub) Block
|
|
MemberDecorate 16(ub) 0 Offset 0
|
|
Decorate 18(ubi) Binding 0
|
|
Decorate 18(ubi) DescriptorSet 0
|
|
Decorate 22(bb) Block
|
|
MemberDecorate 22(bb) 0 Offset 0
|
|
Decorate 24(bbi) Binding 1
|
|
Decorate 24(bbi) DescriptorSet 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypeInt 32 0
|
|
9: 8(int) Constant 1
|
|
10: TypeArray 6(float) 9
|
|
11(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 10 10
|
|
12: TypePointer Output 11(gl_PerVertex)
|
|
13: 12(ptr) Variable Output
|
|
14: TypeInt 32 1
|
|
15: 14(int) Constant 0
|
|
16(ub): TypeStruct 7(fvec4)
|
|
17: TypePointer Uniform 16(ub)
|
|
18(ubi): 17(ptr) Variable Uniform
|
|
19: TypePointer Uniform 7(fvec4)
|
|
22(bb): TypeStruct 7(fvec4)
|
|
23: TypePointer StorageBuffer 22(bb)
|
|
24(bbi): 23(ptr) Variable StorageBuffer
|
|
25: TypePointer StorageBuffer 7(fvec4)
|
|
29: TypePointer Output 7(fvec4)
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
20: 19(ptr) AccessChain 18(ubi) 15
|
|
21: 7(fvec4) Load 20
|
|
26: 25(ptr) AccessChain 24(bbi) 15
|
|
27: 7(fvec4) Load 26
|
|
28: 7(fvec4) FAdd 21 27
|
|
30: 29(ptr) AccessChain 13 15
|
|
Store 30 28
|
|
Return
|
|
FunctionEnd
|