mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-09 12:00:05 +00:00
Add test cases for redundant type conversions
These redundant type conversions were generating illegal SPIR-V when only the 8-bit/16-bit storage extensions and not the corresponding arithmetic extensions were enabled.
This commit is contained in:
parent
a05c4eca74
commit
2d8b71fc63
@ -1,9 +1,10 @@
|
||||
spv.16bitstorage-int.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 171
|
||||
// Id's are bound by 187
|
||||
|
||||
Capability Shader
|
||||
Capability Int16
|
||||
Capability StorageUniformBufferBlock16
|
||||
Capability StorageUniform16
|
||||
Extension "SPV_KHR_16bit_storage"
|
||||
@ -335,5 +336,24 @@ spv.16bitstorage-int.frag
|
||||
169: 6(int16_t) SConvert 58
|
||||
170: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 170 169
|
||||
171: 28(ptr) AccessChain 27(b1) 21
|
||||
172: 6(int16_t) Load 171
|
||||
173: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 173 172
|
||||
174: 42(ptr) AccessChain 27(b1) 32
|
||||
175: 7(i16vec2) Load 174
|
||||
176: 6(int16_t) CompositeExtract 175 0
|
||||
177: 6(int16_t) CompositeExtract 175 1
|
||||
178: 7(i16vec2) CompositeConstruct 176 177
|
||||
179: 42(ptr) AccessChain 19(b2) 32
|
||||
Store 179 178
|
||||
180: 34(ptr) AccessChain 27(b1) 33
|
||||
181: 8(i16vec3) Load 180
|
||||
182: 6(int16_t) CompositeExtract 181 0
|
||||
183: 6(int16_t) CompositeExtract 181 1
|
||||
184: 6(int16_t) CompositeExtract 181 2
|
||||
185: 8(i16vec3) CompositeConstruct 182 183 184
|
||||
186: 34(ptr) AccessChain 19(b2) 33
|
||||
Store 186 185
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -1,9 +1,10 @@
|
||||
spv.16bitstorage-uint.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 173
|
||||
// Id's are bound by 189
|
||||
|
||||
Capability Shader
|
||||
Capability Int16
|
||||
Capability StorageUniformBufferBlock16
|
||||
Capability StorageUniform16
|
||||
Extension "SPV_KHR_16bit_storage"
|
||||
@ -337,5 +338,24 @@ spv.16bitstorage-uint.frag
|
||||
171: 6(int16_t) UConvert 170
|
||||
172: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 172 171
|
||||
173: 28(ptr) AccessChain 27(b1) 21
|
||||
174: 6(int16_t) Load 173
|
||||
175: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 175 174
|
||||
176: 42(ptr) AccessChain 27(b1) 32
|
||||
177: 7(i16vec2) Load 176
|
||||
178: 6(int16_t) CompositeExtract 177 0
|
||||
179: 6(int16_t) CompositeExtract 177 1
|
||||
180: 7(i16vec2) CompositeConstruct 178 179
|
||||
181: 42(ptr) AccessChain 19(b2) 32
|
||||
Store 181 180
|
||||
182: 34(ptr) AccessChain 27(b1) 33
|
||||
183: 8(i16vec3) Load 182
|
||||
184: 6(int16_t) CompositeExtract 183 0
|
||||
185: 6(int16_t) CompositeExtract 183 1
|
||||
186: 6(int16_t) CompositeExtract 183 2
|
||||
187: 8(i16vec3) CompositeConstruct 184 185 186
|
||||
188: 34(ptr) AccessChain 19(b2) 33
|
||||
Store 188 187
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -1,9 +1,10 @@
|
||||
spv.16bitstorage.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 173
|
||||
// Id's are bound by 189
|
||||
|
||||
Capability Shader
|
||||
Capability Float16
|
||||
Capability StorageUniformBufferBlock16
|
||||
Capability StorageUniform16
|
||||
Extension "SPV_KHR_16bit_storage"
|
||||
@ -337,5 +338,24 @@ spv.16bitstorage.frag
|
||||
171:6(float16_t) FConvert 170
|
||||
172: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 172 171
|
||||
173: 28(ptr) AccessChain 27(b1) 21
|
||||
174:6(float16_t) Load 173
|
||||
175: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 175 174
|
||||
176: 43(ptr) AccessChain 27(b1) 32
|
||||
177: 7(f16vec2) Load 176
|
||||
178:6(float16_t) CompositeExtract 177 0
|
||||
179:6(float16_t) CompositeExtract 177 1
|
||||
180: 7(f16vec2) CompositeConstruct 178 179
|
||||
181: 43(ptr) AccessChain 19(b2) 32
|
||||
Store 181 180
|
||||
182: 34(ptr) AccessChain 27(b1) 33
|
||||
183: 8(f16vec3) Load 182
|
||||
184:6(float16_t) CompositeExtract 183 0
|
||||
185:6(float16_t) CompositeExtract 183 1
|
||||
186:6(float16_t) CompositeExtract 183 2
|
||||
187: 8(f16vec3) CompositeConstruct 184 185 186
|
||||
188: 34(ptr) AccessChain 19(b2) 33
|
||||
Store 188 187
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -1,9 +1,10 @@
|
||||
spv.8bitstorage-int.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 171
|
||||
// Id's are bound by 187
|
||||
|
||||
Capability Shader
|
||||
Capability Int8
|
||||
Capability UniformAndStorageBuffer8BitAccess
|
||||
Extension "SPV_KHR_8bit_storage"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
@ -334,5 +335,24 @@ spv.8bitstorage-int.frag
|
||||
169: 6(int8_t) SConvert 58
|
||||
170: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 170 169
|
||||
171: 28(ptr) AccessChain 27(b1) 21
|
||||
172: 6(int8_t) Load 171
|
||||
173: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 173 172
|
||||
174: 42(ptr) AccessChain 27(b1) 32
|
||||
175: 7(i8vec2) Load 174
|
||||
176: 6(int8_t) CompositeExtract 175 0
|
||||
177: 6(int8_t) CompositeExtract 175 1
|
||||
178: 7(i8vec2) CompositeConstruct 176 177
|
||||
179: 42(ptr) AccessChain 19(b2) 32
|
||||
Store 179 178
|
||||
180: 34(ptr) AccessChain 27(b1) 33
|
||||
181: 8(i8vec3) Load 180
|
||||
182: 6(int8_t) CompositeExtract 181 0
|
||||
183: 6(int8_t) CompositeExtract 181 1
|
||||
184: 6(int8_t) CompositeExtract 181 2
|
||||
185: 8(i8vec3) CompositeConstruct 182 183 184
|
||||
186: 34(ptr) AccessChain 19(b2) 33
|
||||
Store 186 185
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -1,9 +1,10 @@
|
||||
spv.8bitstorage-uint.frag
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000b
|
||||
// Id's are bound by 173
|
||||
// Id's are bound by 189
|
||||
|
||||
Capability Shader
|
||||
Capability Int8
|
||||
Capability UniformAndStorageBuffer8BitAccess
|
||||
Extension "SPV_KHR_8bit_storage"
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
@ -336,5 +337,24 @@ spv.8bitstorage-uint.frag
|
||||
171: 6(int8_t) UConvert 170
|
||||
172: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 172 171
|
||||
173: 28(ptr) AccessChain 27(b1) 21
|
||||
174: 6(int8_t) Load 173
|
||||
175: 28(ptr) AccessChain 19(b2) 21
|
||||
Store 175 174
|
||||
176: 42(ptr) AccessChain 27(b1) 32
|
||||
177: 7(i8vec2) Load 176
|
||||
178: 6(int8_t) CompositeExtract 177 0
|
||||
179: 6(int8_t) CompositeExtract 177 1
|
||||
180: 7(i8vec2) CompositeConstruct 178 179
|
||||
181: 42(ptr) AccessChain 19(b2) 32
|
||||
Store 181 180
|
||||
182: 34(ptr) AccessChain 27(b1) 33
|
||||
183: 8(i8vec3) Load 182
|
||||
184: 6(int8_t) CompositeExtract 183 0
|
||||
185: 6(int8_t) CompositeExtract 183 1
|
||||
186: 6(int8_t) CompositeExtract 183 2
|
||||
187: 8(i8vec3) CompositeConstruct 184 185 186
|
||||
188: 34(ptr) AccessChain 19(b2) 33
|
||||
Store 188 187
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -86,5 +86,8 @@ void main()
|
||||
b2.o = b2.p.x;
|
||||
b2.p = i16vec2(ivec2(1, 2));
|
||||
b2.o = int16_t(3);
|
||||
b2.o = int16_t(b1.a);
|
||||
b2.p = i16vec2(b1.b);
|
||||
b2.q = i16vec3(b1.c);
|
||||
}
|
||||
|
||||
|
@ -86,5 +86,8 @@ void main()
|
||||
b2.o = b2.p.x;
|
||||
b2.p = u16vec2(uvec2(1, 2));
|
||||
b2.o = uint16_t(3u);
|
||||
b2.o = uint16_t(b1.a);
|
||||
b2.p = u16vec2(b1.b);
|
||||
b2.q = u16vec3(b1.c);
|
||||
}
|
||||
|
||||
|
@ -86,5 +86,8 @@ void main()
|
||||
b2.o = b2.p.x;
|
||||
b2.p = f16vec2(vec2(1.0, 2.0));
|
||||
b2.o = float16_t(3.0);
|
||||
b2.o = float16_t(b1.a);
|
||||
b2.p = f16vec2(b1.b);
|
||||
b2.q = f16vec3(b1.c);
|
||||
}
|
||||
|
||||
|
@ -86,5 +86,8 @@ void main()
|
||||
b2.o = b2.p.x;
|
||||
b2.p = i8vec2(ivec2(1, 2));
|
||||
b2.o = int8_t(3);
|
||||
b2.o = int8_t(b1.a);
|
||||
b2.p = i8vec2(b1.b);
|
||||
b2.q = i8vec3(b1.c);
|
||||
}
|
||||
|
||||
|
@ -86,5 +86,8 @@ void main()
|
||||
b2.o = b2.p.x;
|
||||
b2.p = u8vec2(uvec2(1, 2));
|
||||
b2.o = uint8_t(3u);
|
||||
b2.o = uint8_t(b1.a);
|
||||
b2.p = u8vec2(b1.b);
|
||||
b2.q = u8vec3(b1.c);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user