KhronosGroup / KhronosGroup/glslang
glslangValidator incorrectly gives error on use of member name length
- Dominant language
- C++
- Stars
- 3.6k
- Forks
- 989
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 31
Description
I have a compute shader that looks like
```
#version 450
layout (local_size_x = 32) in;
struct A{
uint length;
uint contents[7];
};
restrict layout(std430, set = 0, binding = 2) buffer SuperBuffer{
A collision_grid[1024];
};
void main()
{
uint gID = gl_GlobalInvocationID.x;
atomicAdd(collision_grid[gID].length, 1);
}
```
When I run `glslc my_shader.comp -o o.spv` I get `Segmentation fault (core dumped)`. However, if I rename `length` variable to something else, the compilation passes successfully.
My compiler version
```
$ glslc --version
shaderc v2021.2-dev unknown hash, 2021-06-25
spirv-tools v2021.3-dev unknown hash, 2021-06-25
glslang unknown hash, 2021-06-25
Target: SPIR-V 1.0
```
My system
```
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal
```
Vulkan
```
Vulkan Instance Version: 1.2.182
```
Contributor guide
Assessment
This issue has not been assessed yet.