glslang/Test/baseResults/spv.imageAtomic64.comp.out
Steven Perron 33c7e30860
Don't emit duplicate decorations. (#3635)
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
2024-06-28 19:16:59 -04:00

59 lines
2.8 KiB
Plaintext

spv.imageAtomic64.comp
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 28
Capability Shader
Capability Int64
Capability Int64Atomics
Capability Int64ImageEXT
Extension "SPV_EXT_shader_image_int64"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main"
ExecutionMode 4 LocalSize 1 1 1
Source GLSL 450
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
SourceExtension "GL_EXT_shader_image_int64"
SourceExtension "GL_KHR_memory_scope_semantics"
Name 4 "main"
Name 9 "z"
Name 14 "ssbo"
MemberName 14(ssbo) 0 "y"
Name 16 ""
Decorate 9(z) Binding 1
Decorate 9(z) DescriptorSet 0
Decorate 14(ssbo) BufferBlock
MemberDecorate 14(ssbo) 0 Offset 0
Decorate 16 Binding 0
Decorate 16 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 64 0
7: TypeImage 6(int64_t) 2D nonsampled format:R64ui
8: TypePointer UniformConstant 7
9(z): 8(ptr) Variable UniformConstant
10: TypeInt 32 1
11: TypeVector 10(int) 2
12: 10(int) Constant 1
13: 11(ivec2) ConstantComposite 12 12
14(ssbo): TypeStruct 6(int64_t)
15: TypePointer Uniform 14(ssbo)
16: 15(ptr) Variable Uniform
17: 10(int) Constant 0
18: TypePointer Uniform 6(int64_t)
21: 10(int) Constant 2048
22: TypeInt 32 0
23: 22(int) Constant 0
24: TypePointer Image 6(int64_t)
26: 22(int) Constant 1
27: 22(int) Constant 2048
4(main): 2 Function None 3
5: Label
19: 18(ptr) AccessChain 16 17
20: 6(int64_t) Load 19
25: 24(ptr) ImageTexelPointer 9(z) 13 23
AtomicStore 25 12 27 20
Return
FunctionEnd