mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-12 21:20: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
245 lines
13 KiB
Plaintext
245 lines
13 KiB
Plaintext
spv.imageLoadStoreLod.frag
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 148
|
|
|
|
Capability Shader
|
|
Capability Int64
|
|
Capability ImageCubeArray
|
|
Capability SparseResidency
|
|
Capability Image1D
|
|
Capability ImageReadWriteLodAMD
|
|
Capability Int64ImageEXT
|
|
Extension "SPV_AMD_shader_image_load_store_lod"
|
|
Extension "SPV_EXT_shader_image_int64"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 77
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
SourceExtension "GL_AMD_shader_image_load_store_lod"
|
|
SourceExtension "GL_ARB_gpu_shader_int64"
|
|
SourceExtension "GL_EXT_shader_image_int64"
|
|
Name 4 "main"
|
|
Name 9 "f4"
|
|
Name 14 "i1D"
|
|
Name 24 "i2D"
|
|
Name 34 "i3D"
|
|
Name 46 "iiCube"
|
|
Name 53 "ii1DArray"
|
|
Name 60 "ui2DArray"
|
|
Name 64 "u4"
|
|
Name 65 "ResType"
|
|
Name 71 "uiCubeArray"
|
|
Name 77 "fragColor"
|
|
Name 86 "Buf"
|
|
MemberName 86(Buf) 0 "i64v4"
|
|
MemberName 86(Buf) 1 "u64v4"
|
|
Name 88 ""
|
|
Name 92 "i64i1D"
|
|
Name 102 "i64i2D"
|
|
Name 111 "i64i3D"
|
|
Name 120 "u64iCube"
|
|
Name 127 "u64i1DArray"
|
|
Name 133 "u64i2DArray"
|
|
Name 136 "ResType"
|
|
Name 142 "u64iCubeArray"
|
|
Decorate 14(i1D) Binding 0
|
|
Decorate 14(i1D) DescriptorSet 0
|
|
Decorate 24(i2D) Binding 1
|
|
Decorate 24(i2D) DescriptorSet 0
|
|
Decorate 34(i3D) Binding 2
|
|
Decorate 34(i3D) DescriptorSet 0
|
|
Decorate 46(iiCube) Binding 3
|
|
Decorate 46(iiCube) DescriptorSet 0
|
|
Decorate 53(ii1DArray) Binding 4
|
|
Decorate 53(ii1DArray) DescriptorSet 0
|
|
Decorate 60(ui2DArray) Binding 5
|
|
Decorate 60(ui2DArray) DescriptorSet 0
|
|
Decorate 71(uiCubeArray) Binding 6
|
|
Decorate 71(uiCubeArray) DescriptorSet 0
|
|
Decorate 77(fragColor) Location 0
|
|
Decorate 86(Buf) BufferBlock
|
|
MemberDecorate 86(Buf) 0 Offset 0
|
|
MemberDecorate 86(Buf) 1 Offset 32
|
|
Decorate 88 Binding 14
|
|
Decorate 88 DescriptorSet 0
|
|
Decorate 92(i64i1D) Binding 7
|
|
Decorate 92(i64i1D) DescriptorSet 0
|
|
Decorate 102(i64i2D) Binding 8
|
|
Decorate 102(i64i2D) DescriptorSet 0
|
|
Decorate 111(i64i3D) Binding 9
|
|
Decorate 111(i64i3D) DescriptorSet 0
|
|
Decorate 120(u64iCube) Binding 10
|
|
Decorate 120(u64iCube) DescriptorSet 0
|
|
Decorate 127(u64i1DArray) Binding 11
|
|
Decorate 127(u64i1DArray) DescriptorSet 0
|
|
Decorate 133(u64i2DArray) Binding 12
|
|
Decorate 133(u64i2DArray) DescriptorSet 0
|
|
Decorate 142(u64iCubeArray) Binding 13
|
|
Decorate 142(u64iCubeArray) DescriptorSet 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypePointer Function 7(fvec4)
|
|
10: 6(float) Constant 0
|
|
11: 7(fvec4) ConstantComposite 10 10 10 10
|
|
12: TypeImage 6(float) 1D nonsampled format:Rgba32f
|
|
13: TypePointer UniformConstant 12
|
|
14(i1D): 13(ptr) Variable UniformConstant
|
|
16: TypeInt 32 1
|
|
17: 16(int) Constant 1
|
|
18: 16(int) Constant 3
|
|
22: TypeImage 6(float) 2D nonsampled format:Rgba32f
|
|
23: TypePointer UniformConstant 22
|
|
24(i2D): 23(ptr) Variable UniformConstant
|
|
26: TypeVector 16(int) 2
|
|
27: 16(int) Constant 2
|
|
28: 26(ivec2) ConstantComposite 27 18
|
|
32: TypeImage 6(float) 3D nonsampled format:Rgba32f
|
|
33: TypePointer UniformConstant 32
|
|
34(i3D): 33(ptr) Variable UniformConstant
|
|
36: TypeVector 16(int) 3
|
|
37: 16(int) Constant 4
|
|
38: 16(int) Constant 5
|
|
39: 16(int) Constant 6
|
|
40: 36(ivec3) ConstantComposite 37 38 39
|
|
44: TypeImage 16(int) Cube nonsampled format:Rgba32i
|
|
45: TypePointer UniformConstant 44
|
|
46(iiCube): 45(ptr) Variable UniformConstant
|
|
49: TypeVector 16(int) 4
|
|
51: TypeImage 16(int) 1D array nonsampled format:Rgba32i
|
|
52: TypePointer UniformConstant 51
|
|
53(ii1DArray): 52(ptr) Variable UniformConstant
|
|
57: TypeInt 32 0
|
|
58: TypeImage 57(int) 2D array nonsampled format:Rgba32ui
|
|
59: TypePointer UniformConstant 58
|
|
60(ui2DArray): 59(ptr) Variable UniformConstant
|
|
62: TypeVector 57(int) 4
|
|
63: TypePointer Function 62(ivec4)
|
|
65(ResType): TypeStruct 16(int) 62(ivec4)
|
|
69: TypeImage 57(int) Cube array nonsampled format:Rgba32ui
|
|
70: TypePointer UniformConstant 69
|
|
71(uiCubeArray): 70(ptr) Variable UniformConstant
|
|
76: TypePointer Output 7(fvec4)
|
|
77(fragColor): 76(ptr) Variable Output
|
|
82: TypeInt 64 1
|
|
83: TypeVector 82(int64_t) 4
|
|
84: TypeInt 64 0
|
|
85: TypeVector 84(int64_t) 4
|
|
86(Buf): TypeStruct 83(i64vec4) 85(i64vec4)
|
|
87: TypePointer Uniform 86(Buf)
|
|
88: 87(ptr) Variable Uniform
|
|
89: 16(int) Constant 0
|
|
90: TypeImage 82(int64_t) 1D nonsampled format:R64i
|
|
91: TypePointer UniformConstant 90
|
|
92(i64i1D): 91(ptr) Variable UniformConstant
|
|
95: TypePointer Uniform 83(i64vec4)
|
|
100: TypeImage 82(int64_t) 2D nonsampled format:R64i
|
|
101: TypePointer UniformConstant 100
|
|
102(i64i2D): 101(ptr) Variable UniformConstant
|
|
109: TypeImage 82(int64_t) 3D nonsampled format:R64i
|
|
110: TypePointer UniformConstant 109
|
|
111(i64i3D): 110(ptr) Variable UniformConstant
|
|
118: TypeImage 84(int64_t) Cube nonsampled format:R64ui
|
|
119: TypePointer UniformConstant 118
|
|
120(u64iCube): 119(ptr) Variable UniformConstant
|
|
122: TypePointer Uniform 85(i64vec4)
|
|
125: TypeImage 84(int64_t) 1D array nonsampled format:R64ui
|
|
126: TypePointer UniformConstant 125
|
|
127(u64i1DArray): 126(ptr) Variable UniformConstant
|
|
131: TypeImage 84(int64_t) 2D array nonsampled format:R64ui
|
|
132: TypePointer UniformConstant 131
|
|
133(u64i2DArray): 132(ptr) Variable UniformConstant
|
|
136(ResType): TypeStruct 16(int) 85(i64vec4)
|
|
140: TypeImage 84(int64_t) Cube array nonsampled format:R64ui
|
|
141: TypePointer UniformConstant 140
|
|
142(u64iCubeArray): 141(ptr) Variable UniformConstant
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
9(f4): 8(ptr) Variable Function
|
|
64(u4): 63(ptr) Variable Function
|
|
Store 9(f4) 11
|
|
15: 12 Load 14(i1D)
|
|
19: 7(fvec4) ImageRead 15 17 Lod 18
|
|
20: 7(fvec4) Load 9(f4)
|
|
21: 7(fvec4) FAdd 20 19
|
|
Store 9(f4) 21
|
|
25: 22 Load 24(i2D)
|
|
29: 7(fvec4) ImageRead 25 28 Lod 18
|
|
30: 7(fvec4) Load 9(f4)
|
|
31: 7(fvec4) FAdd 30 29
|
|
Store 9(f4) 31
|
|
35: 32 Load 34(i3D)
|
|
41: 7(fvec4) ImageRead 35 40 Lod 18
|
|
42: 7(fvec4) Load 9(f4)
|
|
43: 7(fvec4) FAdd 42 41
|
|
Store 9(f4) 43
|
|
47: 44 Load 46(iiCube)
|
|
48: 7(fvec4) Load 9(f4)
|
|
50: 49(ivec4) ConvertFToS 48
|
|
ImageWrite 47 40 50 Lod 18
|
|
54: 51 Load 53(ii1DArray)
|
|
55: 7(fvec4) Load 9(f4)
|
|
56: 49(ivec4) ConvertFToS 55
|
|
ImageWrite 54 28 56 Lod 18
|
|
61: 58 Load 60(ui2DArray)
|
|
66: 65(ResType) ImageSparseRead 61 40 Lod 18
|
|
67: 62(ivec4) CompositeExtract 66 1
|
|
Store 64(u4) 67
|
|
68: 16(int) CompositeExtract 66 0
|
|
72: 69 Load 71(uiCubeArray)
|
|
73: 65(ResType) ImageSparseRead 72 40 Lod 18
|
|
74: 62(ivec4) CompositeExtract 73 1
|
|
Store 64(u4) 74
|
|
75: 16(int) CompositeExtract 73 0
|
|
78: 7(fvec4) Load 9(f4)
|
|
79: 62(ivec4) Load 64(u4)
|
|
80: 7(fvec4) ConvertUToF 79
|
|
81: 7(fvec4) FAdd 78 80
|
|
Store 77(fragColor) 81
|
|
93: 90 Load 92(i64i1D)
|
|
94: 83(i64vec4) ImageRead 93 17 Lod 18
|
|
96: 95(ptr) AccessChain 88 89
|
|
97: 83(i64vec4) Load 96
|
|
98: 83(i64vec4) IAdd 97 94
|
|
99: 95(ptr) AccessChain 88 89
|
|
Store 99 98
|
|
103: 100 Load 102(i64i2D)
|
|
104: 83(i64vec4) ImageRead 103 28 Lod 18
|
|
105: 95(ptr) AccessChain 88 89
|
|
106: 83(i64vec4) Load 105
|
|
107: 83(i64vec4) IAdd 106 104
|
|
108: 95(ptr) AccessChain 88 89
|
|
Store 108 107
|
|
112: 109 Load 111(i64i3D)
|
|
113: 83(i64vec4) ImageRead 112 40 Lod 18
|
|
114: 95(ptr) AccessChain 88 89
|
|
115: 83(i64vec4) Load 114
|
|
116: 83(i64vec4) IAdd 115 113
|
|
117: 95(ptr) AccessChain 88 89
|
|
Store 117 116
|
|
121: 118 Load 120(u64iCube)
|
|
123: 122(ptr) AccessChain 88 17
|
|
124: 85(i64vec4) Load 123
|
|
ImageWrite 121 40 124 Lod 18
|
|
128: 125 Load 127(u64i1DArray)
|
|
129: 122(ptr) AccessChain 88 17
|
|
130: 85(i64vec4) Load 129
|
|
ImageWrite 128 28 130 Lod 18
|
|
134: 131 Load 133(u64i2DArray)
|
|
135: 122(ptr) AccessChain 88 17
|
|
137:136(ResType) ImageSparseRead 134 40 Lod 18
|
|
138: 85(i64vec4) CompositeExtract 137 1
|
|
Store 135 138
|
|
139: 16(int) CompositeExtract 137 0
|
|
143: 140 Load 142(u64iCubeArray)
|
|
144: 122(ptr) AccessChain 88 17
|
|
145:136(ResType) ImageSparseRead 143 40 Lod 18
|
|
146: 85(i64vec4) CompositeExtract 145 1
|
|
Store 144 146
|
|
147: 16(int) CompositeExtract 145 0
|
|
Return
|
|
FunctionEnd
|