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
57 lines
2.8 KiB
Plaintext
57 lines
2.8 KiB
Plaintext
spv.nonuniform5.frag
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 23
|
|
|
|
Capability Shader
|
|
Capability ShaderNonUniformEXT
|
|
Capability RuntimeDescriptorArrayEXT
|
|
Capability UniformBufferArrayNonUniformIndexingEXT
|
|
Extension "SPV_EXT_descriptor_indexing"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 9 16
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
SourceExtension "GL_EXT_nonuniform_qualifier"
|
|
Name 4 "main"
|
|
Name 9 "FragColor"
|
|
Name 10 "UBO"
|
|
MemberName 10(UBO) 0 "v"
|
|
Name 13 "ubos"
|
|
Name 16 "Index"
|
|
Decorate 9(FragColor) Location 0
|
|
Decorate 10(UBO) Block
|
|
MemberDecorate 10(UBO) 0 Offset 0
|
|
Decorate 13(ubos) Binding 0
|
|
Decorate 13(ubos) DescriptorSet 0
|
|
Decorate 16(Index) Flat
|
|
Decorate 16(Index) Location 0
|
|
Decorate 18 DecorationNonUniformEXT
|
|
Decorate 21 DecorationNonUniformEXT
|
|
Decorate 22 DecorationNonUniformEXT
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypePointer Output 7(fvec4)
|
|
9(FragColor): 8(ptr) Variable Output
|
|
10(UBO): TypeStruct 7(fvec4)
|
|
11: TypeRuntimeArray 10(UBO)
|
|
12: TypePointer Uniform 11
|
|
13(ubos): 12(ptr) Variable Uniform
|
|
14: TypeInt 32 1
|
|
15: TypePointer Input 14(int)
|
|
16(Index): 15(ptr) Variable Input
|
|
19: 14(int) Constant 0
|
|
20: TypePointer Uniform 7(fvec4)
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
17: 14(int) Load 16(Index)
|
|
18: 14(int) CopyObject 17
|
|
21: 20(ptr) AccessChain 13(ubos) 18 19
|
|
22: 7(fvec4) Load 21
|
|
Store 9(FragColor) 22
|
|
Return
|
|
FunctionEnd
|